前言¶
在 DSH 里做多轮、跨会话的开发时,上下文窗口会换、会话会断,但「刚才改了什么、为什么这样定、卡在哪」往往只留在上一轮对话里。下次打开只能凭记忆或翻聊天记录,成本高,也容易漏掉关键决策。
社区插件 dsh-worklog(维护者 qibo30,目录分类为「记忆」)把这类信息写成按天分文件的 JSON,并通过 Cordis 服务与 Agent 工具暴露给宿主。下一次会话 Agent 可以 worklog_list 捡起来继续,而不是从零复述进度。
这是什么¶
dsh-worklog 是 DeepSeek Harness 的宿主侧插件:Cordis 服务 + Agent 工具 + bundle patch,不提供独立前端 UI。一句话定位:给 Agent 追加与查询开发工作日志,数据落在本机 $DSH_HOME/worklog/。
与「只靠对话历史记进度」相比,日志按日落盘、可带 tag、可列日期,适合需要可追溯、可检索的连续开发。
核心能力¶
下面介绍插件在资料中明确列出的接口与行为。
Cordis 服务 ctx.worklog¶
| 方法 | 说明 |
|---|---|
add |
追加条目 |
list |
列出条目 |
days |
列出有记录的日期 |
read |
读取指定日文件 |
write |
写入 |
Agent 工具¶
worklog_add:追加一条日志,可选 tag。worklog_list:读当天、指定日期、按 tag 过滤,或列出有记录的日期。
事件与落盘¶
每次写入后 Cordis 广播 worklog/added,载荷为 { day, entry }。
数据路径:$DSH_HOME/worklog/YYYY-MM-DD.json。默认每天最多保留 200 条(配置项 maxEntries)。
配置¶
在插件配置块中可覆盖目录与上限(留空 dir 时使用默认 $DSH_HOME/worklog):
- id: dsh-worklog
name: dsh-worklog
config:
dir: "" # 留空 → $DSH_HOME/worklog
maxEntries: 200
安装与启用¶
Web 侧推荐从 GitHub 直装,装完会自动进入 bundle 层栈:
dsh plugin --profile web add github:qibo30/dsh-worklog
本地改代码、不想反复 install 时,用 link: 前缀,改完重启 DSH 即可:
dsh plugin --profile web add link:/path/to/dsh-worklog
说明:desktop profile 由 Electron 应用独占管理,dsh plugin 会拒绝写入。桌面版需在 $DSH_HOME/profiles/desktop/cordis.patch.yml 中手动增加:
- insert: [{ id: dsh-worklog, name: dsh-worklog }]
运行环境(来自 package.json):Node >=22.14.0,DSH >=0.2.1-rc.2;许可证 MIT,当前包版本 0.1.0。
典型用法(Agent 侧)¶
README 未给出完整对话示例,但工具语义可直接对应操作:
- 完成一步开发或做出决策后,Agent 调用
worklog_add,正文写「做了什么 / 为何如此 / 阻塞点」,必要时加 tag。 - 新会话开始时调用
worklog_list:默认看当天;需要续昨天进度则指定日期;或用 tag 过滤;要扫历史可用列出有记录日期的能力(工具描述中的 list 行为)。 - 其他模块若挂在 Cordis 上,可订阅
worklog/added做联动(例如统计、提醒),需自行在 patch 层注入ctx.worklog。
数据始终在本地 JSON,不依赖远程服务。
适用场景与注意¶
适合:长周期功能分支、多人接力同一机器上的 DSH、需要把「决策理由」和「卡点」结构化留给下一轮 Agent 的场景。
注意:
- 插件以当前 DSH 进程权限读写
$DSH_HOME/worklog/(或你配置的dir)。安装前请阅读 GitHub 仓库 源码与 MIT 许可证,确认路径与保留策略可接受。 - 社区目录 skillhub.cn 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」,本插件是社区贡献的记忆类扩展。
- 维护者 README 中附带的「写 DSH 插件要注意的坑」(如
inject严格模式、cordis.patch.yml的id行注释、dsh.bundle.patch等)面向插件作者;使用方只需保证安装命令与 profile 正确即可。
开发者本地验证可用仓库内冒烟测试(不启动完整 DSH):
node test/smoke.mjs
结尾¶
dsh-worklog 把跨会话的开发进展从「散落在对话里」变成「按天 JSON + Agent 工具」,核心是 worklog_add / worklog_list 与 ctx.worklog。需要安装命令与配置细节时,以 README 为准。
- 目录页:https://www.skillhub.cn/plugins/qibo30/dsh-worklog
- GitHub:https://github.com/qibo30/dsh-worklog