前言¶
用 DeepSeek Harness(DSH)做开发时,主会话里往往堆满命令、报错和临时结论,但真正值得记住的概念很少被单独整理。常见做法是另开笔记或靠记忆,和当时的工作上下文容易脱节,也很难在后续会话里复用。
下面介绍 dsh-explain(维护者 yuezengwu)。它是 DSH 的学习模式插件,从已完成的工作回合里提取概念,生成结构化讲解卡片,并写入跨会话的全局学习线程;主智能体不受影响,Explain 使用独立的模型调用、调度器、上下文和本地 SQLite 数据库。
这是什么¶
dsh-explain 面向 DSH 0.1.0-rc.8,在 SkillHub 插件目录 中归类为「记忆」。插件当前版本为 v0.1.0,采用 MIT 许可证。
它解决的核心问题是:如何把日常 DSH 工作里出现的概念,转成可回顾、可反馈、可跨会话延续的私人学习记录,而不是散落在各次对话里。
核心功能¶
按来源讲解与学习卡片¶
Explain 支持多种入口,均围绕当前或选定的来源材料生成讲解:
| 入口 | 行为 |
|---|---|
/explain <request> |
以当前会话为有限来源上下文请求讲解 |
| Explain selected text | 从可见文本生成可编辑的 /explain --selection … 草稿,不会自动提交 |
| Learn from this answer | 绑定到已完成的 assistant 回合,生成可编辑草稿 |
| 自动评估 | 符合条件的已完成回合后,Explain 可能在配置预算内自动添加一条有用讲解 |
每张学习卡片回答三个问题:What is it?(概念是什么)、Why does it matter?(在工作中的实际意义)、What is the common pitfall?(常见误区)。可选择 Got it 关闭卡片,或 Not yet 请求换一种讲法;即使来源会话后来被删除,仍可对已有讲解进行 rephrase。
跨会话全局学习线程¶
每个 $DSH_HOME 只拥有一条 Explain 学习线程。各工作会话贡献材料,但 resume 和 fork 不会复制学习状态:
- 每个来源会话最多有一条待反馈的讲解
- 所有工作会话在 DSH 原生的 Learning 标签页展示同一份全局历史
- 全局调度器串行处理手动讲解、自动评估、rephrase 和压缩
- 默认自动评估预算为滚动 24 小时内 50 次请求,重启后仍保留
- 私有
ExplainContext跟踪讲解偏好、知识水平和学习进度
本地优先与上下文隔离¶
| 数据 | 存储与行为 |
|---|---|
| 学习线程 | $DSH_HOME/dsh-explain/v1/thread.sqlite |
| 启用与模型设置 | 通过 DSH 设置写入 $DSH_HOME/settings.yaml |
| 来源材料 | 压缩为有界 capsule;rephrase 时保留最多 2,000 字符的受限来源摘要 |
| 全局学习上下文 | 仅发送给 Explain 辅助模型,不进入主智能体 |
| 主会话 | 不接收 Explain 事件、提示或学习上下文;主回合不被阻塞 |
当结构化观察或已关闭讲解处于 pending 状态时,若 30 分钟内无 Explain 操作,或某次请求将超过所选模型上下文窗口的 50%,辅助历史会自动压缩。
可诊断的设置界面¶
在 DSH Web 中打开 Settings → Learning,选择辅助 provider 与模型,启用学习模式并保存。Explain 只观察启用之后新完成的顶层回合,不会扫描已有历史。Composer 内可用 /explain on、/explain off、/explain status 控制或查看运行时状态。
安装与启用¶
Explain 当前兼容 DSH 0.1.0-rc.8。安装命令如下:
npx @deepseek-ai/dsh@0.1.0-rc.8 plugin --profile web add github:yuezengwu/dsh-explain
npx @deepseek-ai/dsh@0.1.0-rc.8 web
Git 托管插件在安装时会构建。若 pnpm 请求 build 批准,需将打印出的 dsh-explain 条目加入 profile 的 pnpm-workspace.yaml,然后重复安装命令。
启动 Web 后,进入 Settings → Learning 配置辅助模型并启用学习模式。经过上面的步骤,Explain 即开始监听后续完成的工作回合。
典型用法¶
从回答中学习¶
- 在 DSH Web 中完成一次有意义的主智能体回答。
- 选择 Learn from this answer,或在选中文本后使用 Explain selected text。
- 检查并编辑生成的
/explain草稿,确认后提交。 - 在 Learning 标签页查看生成的学习卡片,选择 Got it 或 Not yet。
手动请求讲解¶
在 Composer 中直接输入:
/explain <你的问题或概念>
当前会话内容作为有界来源上下文参与生成。可用 /explain status 查看当前状态。
控制学习模式¶
/explain on
/explain off
/explain status
无需离开 Composer 即可开关或检查 Explain 运行时。
适用场景与注意¶
适合谁: 长期用 DSH 做开发、希望把会话里出现的概念沉淀为可回顾学习记录的用户;需要主智能体保持独立、学习逻辑由辅助模型承担的场景。
兼容性: 插件跟随 DSH 公开 API 线(当前为 0.1.0-rc.8),不为更早的 private-preview 包保留兼容层。仓库包含 64 个单元测试、4 个 assembled DSH Web 验收场景和 3 个 Explain 自有快捷方式验收场景;详细矩阵见 docs/ACCEPTANCE.md。
安装前注意: 插件以当前 DSH 进程权限运行,会读写 $DSH_HOME 下的 SQLite 与设置文件。安装前应阅读 源码仓库 与 MIT 许可证,确认数据落盘位置与模型调用方式符合你的预期。SkillHub 是社区插件目录,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-explain 把 DSH 日常工作中值得记住的概念,转成本地存储、跨会话共享的学习线程,主智能体路径保持干净。若你在 DSH 生态里寻找「记忆」类插件,可从目录页或 GitHub 进一步了解: