dsh-worklog: Generate work logs grouped by directory from DSH session logs

前言

用 DeepSeek Harness(DSH)做多项目开发时,一天往往对应多个会话、多个工作目录。到写日报或周报时,凭记忆很难还原「今天实际推进了什么、改动了哪些文件」。手工翻会话或复制粘贴既费时,也容易漏掉已经忘记的会话。

dsh-worklog 是社区插件,维护者为 ayf-master,分类为工作流。它不依赖你事后回忆,而是读取 DSH 的会话日志,按工作目录分组,生成日报、周报、月报的 Markdown 台账,并落盘到本地目录,便于查阅或贴进周报。

这是什么

插件一句话定位:从 DeepSeek Harness 的会话日志里还原你真正做了什么,按工作目录分组写成 Markdown 台账,日报、周报、月报共用同一套逻辑。

源码与说明见 GitHub:ayf-master/dsh-worklog;社区目录页为 SkillHub 插件页。许可证为 MIT,当前 package 版本为 0.1.0。

核心功能

下面介绍插件从日志里提取并整理的内容(均以 README 描述为准)。

  1. 按工作目录分组:跨项目的会话会汇总到各自目录下的同一份台账结构中。
  2. 单会话摘要:时间段、轮数、中断次数、你的需求、改动文件及次数、用到的工具、最后一条进展。
  3. 周报 / 月报:按项目汇总;同一会话跨天时可合并为一行并标注「跨 N 天」(可通过设置关闭)。
  4. 产物清单(可开关):台账末尾列出改动最多的文件、新生成的文档、跑过的关键命令。
  5. 输出路径:默认 ~/.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。

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

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

Xiaoye