前言¶
用 DeepSeek Harness(DSH)做多项目开发时,一天往往对应多个会话、多个工作目录。到写日报或周报时,凭记忆很难还原「今天实际推进了什么、改动了哪些文件」。手工翻会话或复制粘贴既费时,也容易漏掉已经忘记的会话。
dsh-worklog 是社区插件,维护者为 ayf-master,分类为工作流。它不依赖你事后回忆,而是读取 DSH 的会话日志,按工作目录分组,生成日报、周报、月报的 Markdown 台账,并落盘到本地目录,便于查阅或贴进周报。
这是什么¶
插件一句话定位:从 DeepSeek Harness 的会话日志里还原你真正做了什么,按工作目录分组写成 Markdown 台账,日报、周报、月报共用同一套逻辑。
源码与说明见 GitHub:ayf-master/dsh-worklog;社区目录页为 SkillHub 插件页。许可证为 MIT,当前 package 版本为 0.1.0。
核心功能¶
下面介绍插件从日志里提取并整理的内容(均以 README 描述为准)。
- 按工作目录分组:跨项目的会话会汇总到各自目录下的同一份台账结构中。
- 单会话摘要:时间段、轮数、中断次数、你的需求、改动文件及次数、用到的工具、最后一条进展。
- 周报 / 月报:按项目汇总;同一会话跨天时可合并为一行并标注「跨 N 天」(可通过设置关闭)。
- 产物清单(可开关):台账末尾列出改动最多的文件、新生成的文档、跑过的关键命令。
- 输出路径:默认
~/.dsh/worklog/,可在设置中改outputDir;亦可用环境变量DSH_WORKLOG_DIR兜底(优先级低于设置页里的outputDir)。
台账从会话日志重建,插件通过宿主 sessionQuery 服务读取日志,不直接解压盘上的 zstd 多帧文件;设计上强调不编造未发生的事。
安装与启用¶
要求 DeepSeek Harness ≥ 0.2.1-rc.5,Node ≥ 20。
命令行安装(非桌面 profile 场景):
dsh plugin --profile desktop add dsh-worklog
桌面版应在应用内 设置 → 插件 安装:桌面应用的 profile 由应用内插件管理器管理,命令行无法替代该路径。安装后刷新页面,设置里会多出「工作台账」一页。
插件以当前 DSH 进程权限运行;安装前建议自行查看仓库源码与 MIT 许可证,确认符合你的环境与合规要求。
典型用法¶
在输入框使用 /worklog 命令:
/worklog # 今天
/worklog 昨天
/worklog 2026-11-05
/worklog 本周 # 周报,按项目汇总
/worklog 上周
/worklog 本月 # 月报
/worklog 上月
也可以在对话里直接说「生成本周周报」,agent 会调用 worklog_generate 工具,period 参数与上述口径一致。
落盘文件名示例(目录可配置):
| 路径 | 内容 |
|---|---|
~/.dsh/worklog/2026-11-06.md |
日报 |
~/.dsh/worklog/week-2026-11-02.md |
周报(以周一命名) |
~/.dsh/worklog/month-2026-11.md |
月报 |
设置与命令行改配置¶
打开 设置 → 工作台账(左侧导航独立项,在「通知提醒」下面),修改后立即生效,无需重启。
| 字段 | 说明 |
|---|---|
outputDir |
台账存放目录;留空用 ~/.dsh/worklog,支持 ~ 开头 |
mergeCrossDay |
周报 / 月报里同一会话跨天时合并成一行并标注「跨 N 天」 |
products |
台账末尾的「产物」清单 |
autoWeekly.enabled |
到点自动生成周报(仅本应用运行时生效) |
autoWeekly.weekday |
周几生成,1 = 周一 …… 7 = 周日 |
autoWeekly.time |
生成时刻,24 小时制 HH:mm |
选项保存在 profile 的 Loader 行配置里(settings 服务),不再使用插件目录下的 config.json;旧版 ~/.dsh/worklog/config.json 会在首次启动时自动迁移并删除。
不想开设置页时,可用:
/worklog 设置 # 查看当前设置
/worklog 设置 目录 D:\我的台账 # 台账存放位置(留空或「默认」恢复)
/worklog 设置 合流 开|关 # 跨天合流(默认开)
/worklog 设置 产物 开|关 # 「产物」清单(默认开)
/worklog 设置 自动 开|关 # 每周自动生成周报(默认关)
/worklog 设置 时间 周日 22:00 # 自动周报的时间,可换周几
自动周报在触发时生成当周(周一至触发日)的周报;若把时间设在周一,生成的是上一周。错过的时刻不会补跑。
实现要点(阅读源码时)¶
host 侧 index.js 负责 /worklog 命令、worklog_generate、设置页 schema 与定时器;client 侧 client.js 负责设置 → 工作台账页面(settings.section 槽位)。改设置后刷新页面即可,host 管数据与定时,client 只管设置 UI。
设置项由 Config(schemastery,字段带 .volatile())声明;@deepseek-ai/schemastery 须与宿主同版本(~3.18.5),版本不一致时 volatile 字段可能被静默丢弃。
适用场景与注意¶
适合:同一天多个 DSH 会话、多个仓库或目录并行,需要可复盘的 Markdown 台账或周报素材的开发者。
注意:
- 台账质量取决于会话日志是否完整;插件不能记录日志里不存在的行为。
- 自动周报仅在应用运行到设定时刻时生效。
- 社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,插件来自社区维护者 ayf-master。
结尾¶
经过上面的步骤,你可以在不停交互式问「今天做了什么」的情况下,从已有会话日志生成按目录分组的日报、周报、月报。进一步安装与字段说明以仓库 README 为准:https://github.com/ayf-master/dsh-worklog;目录索引:https://www.skillhub.cn/plugins/ayf-master/dsh-worklog。