前言¶
用 DSH 跑智能体时,一轮对话里往往已经包含了「做了什么、为什么这么做、中间卡在哪里」——但这些信息散在会话事件和记忆里,收工后很少被整理成可回顾的文本。手写开发日志又容易拖:当天还记得,隔天就只剩模糊印象。
dsh-devlog-auto 是社区维护的 DSH 插件(分类:记忆),在每轮工作结束(agent/turn-stopping)时,把本轮上下文加工成第一人称开发日志,追加到本地 Markdown 文件。它不是 CHANGELOG,也不是给外人看的会话摘要;读者只有开发者本人,侧重「为什么」和踩坑经过。
这是什么¶
- 插件名称:
dsh-devlog-auto(npm 包名与 Cordis patch 中的name一致) - 维护者:ccr-wer
- 仓库:GitHub - ccr-wer/dsh-devlog-auto
- 目录页:SkillHub 插件页
- 当前版本(package.json):0.2.2,许可证 MIT,要求 Node.js >= 20
在 DSH 插件生态里,dsh-memory 类侧重把记忆片段交给 Agent;dsh-git-commit 类侧重提交;dsh-trail-plugin 类侧重检索。本插件填的是另一环:把上下文和技术讨论写成面向自己的开发日志,并验证「上下文 + 记忆 + 检查点 → 自动总结」在 DSH 里能否稳定跑通。
核心功能¶
闭环可以概括为:
agent/turn-stopping → 切片过滤本轮事件 → 模型判断/生成 → 追加落盘
具体步骤(与 README 一致):
- 监听
agent/turn-stopping(serial 钩子,只观察不 steer)。 - 从
session/event订阅缓冲中切出本轮事件,过滤噪音(系统消息、plugin/skill-catalog 注入、request/header、session/title 等)。 - 调用配置的模型(默认
deepseek-flash)把材料加工成第一人称开发日志;没有实质内容时模型输出SKIP,不落盘。 - 追加写入日志文件:默认
$DSH_HOME/devlog/YYYY-MM-DD.md(即~/.dsh/devlog),每段以二级标题开头,日期由外层文件名统一表达,只追加不重写。
安装与启用¶
已发布到 npm 时,在仓库目录或任意 Node 环境中安装依赖:
npm install dsh-devlog-auto
README 说明:主 cordis.patch.yml 里 name 使用包名 dsh-devlog-auto,因此可通过 dsh plugin add dsh-devlog-auto 或桌面端插件管理器安装,跨机器无需改绝对路径。
本地开发时,在 clone 后的仓库目录执行:
cd <仓库目录>
npm install
跑 DSH 时挂上 patch(路径换成你的仓库目录):
dsh --profile headless --patch <仓库目录>/cordis.patch.yml "<你的任务>"
也可以把 cordis.patch.yml 里的 insert 行合并进 $DSH_HOME/profiles/<profile>/cordis.patch.yml 做常驻挂载。插件代码不在 $DSH_HOME 下,主目录主要被读取;产物默认写在 $DSH_HOME/devlog/。
设置与行为¶
以下配置项均在 DSH 设置页的插件卡片中修改(摘自 README):
| 配置项 | 默认值 | 作用 |
|---|---|---|
logPrompt |
prompts/system.md 内容 |
系统提示词(volatile,可热改;宿主 cordis 4.0.2 保存后可能重启插件) |
blocking |
true |
true:轮次结束前等日志写完;false:后台生成,进程退出可能丢未完成生成 |
provider |
deepseek-official |
生成日志用的 provider |
model |
deepseek-flash |
生成模型名 |
reasoningEffort |
low |
思维链强度(flash 无 none) |
debugDump |
on-error |
调试材料落盘:always / on-error / off |
outputDir |
空 | 留空则用 $DSH_HOME/devlog;可填绝对路径 |
运行时排查可先看 $DSH_HOME/devlog/.devlog-runtime.log(跳过/生成/落盘/报错与耗时)。debugDump 为 on-error 或 always 时,会在日志目录下产生 .devlog-context-debug.txt(完整喂模材料与事件 dump;含代码与工具回显,需注意敏感信息)。
依赖方面,插件将 @deepseek-ai/schemastery 固定为 3.18.4 的硬依赖,以便设置页 logPrompt 使用 .volatile();与宿主内置 3.18.2 不一致时,安装可能出现 pnpm peer 类警告,README 标明属预期且不影响运行。
prompts/task.md 顶部有时间基准说明:避免模型把当天更早的日志段误当成「昨天」,改写提示词时不宜删掉该段。
典型用法与注意¶
适合谁:长期用 DSH 做编码或排查、希望事后能翻「动机与坑」而不是只看 git diff 的开发者。
第一版明确不做(README):时间戳分段触发、手动全量收口覆盖、PPT 输出、扣子 Skill 那条线。
安全与信任:插件以当前 dsh 进程权限运行,会读取会话事件并可能把上下文写入本地日志或调试文件。安装前请阅读 源码仓库 与 MIT 许可证,按需调整 debugDump 与 outputDir。
社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态奉行「一切皆插件」,本介绍事实均来自上述 README 与 package.json。
结尾¶
dsh-devlog-auto 把「轮次结束」当作自然检查点,用默认 deepseek-flash 把过滤后的本轮材料写成追加式开发日志,减轻「写完代码却忘了写日志」的负担。需要安装说明、配置字段与调试文件含义时,以 GitHub README 为准;在目录站检索可打开 https://www.skillhub.cn/plugins/ccr-wer/dsh-devlog-auto。