dsh-devlog-auto:在轮次结束时自动写开发日志

前言

用 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 一致):

  1. 监听 agent/turn-stopping(serial 钩子,只观察不 steer)。
  2. 从 session/event 订阅缓冲中切出本轮事件,过滤噪音(系统消息、plugin/skill-catalog 注入、request/header、session/title 等)。
  3. 调用配置的模型(默认 deepseek-flash)把材料加工成第一人称开发日志;没有实质内容时模型输出 SKIP,不落盘。
  4. 追加写入日志文件:默认 $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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜