前言¶
DeepSeek Harness(DSH)采用插件化架构,扩展功能通常需要编写独立的模块。在日常使用中,记录会话内容、任务完成情况以及请求错误比较繁琐,容易造成数据遗漏。dsh-daily-digest 插件通过自动记账与接口封装,解决了这个问题。
插件简介¶
该插件由用户 zhaoxuejie 维护,采用 MIT 许可证。
核心定位:
自动把「今天和 AI 干了什么」沉淀成日报/周报的 DSH 插件。
解决的问题:
- 自动记录任务(完成/失败)、会话(标题、轮数、工具、结束状态)及请求错误。
- 避免手动整理工作日志,通过接口直接获取 Markdown 或 JSON 格式的报告。
核心功能¶
-
自动记账
- 任务:在 DSH 后台任务系统(jobs)中,当 job 结束(成功或失败)时记一笔;普通对话回合不计入任务。
- 会话:新开会话记startup,打开旧会话续接记resume(次数);会话明细按session.id追踪。
- 错误:记录请求错误。 -
数据落盘
- 数据按天落盘,存储路径在 profile 的 data 目录下(如~/.dsh/profiles/web/data/daily-digest/digest.json),重启进程不会丢失。 -
Web 悬浮卡片
- 重启 Web 服务后,右下角会出现「📋 今日摘要」悬浮卡片。
- 卡片提供实时统计、近 7 天趋势条以及一键复制日报/周报的功能。 -
接口支持
- 全部接口返回 JSON 或 Markdown,不依赖前端界面,便于脚本调用。
安装与启用¶
使用前需要确保已安装 DeepSeek Harness(Node.js 18+)。
- 执行安装命令:
dsh plugin --profile web add dsh-daily-digest
- 启动 Web 服务:
dsh web
- 重启服务后,刷新浏览器页面,右下角应出现「📋 今日摘要」卡片。
更新插件:
当有新版发布时,重新执行一次 add(或先 remove 再 add)命令,然后重启 web。
典型用法¶
-
查看实时摘要
重启 web 后,直接在网页右下角查看悬浮卡片。 -
调用接口获取报告
插件提供了多个 HTTP 接口:
-GET /daily-digest/today:获取今日汇总 JSON(含会话明细sessions.list)。
-GET /daily-digest/report?date=YYYY-MM-DD:获取指定日期的 Markdown 日报(缺省今天)。
-GET /daily-digest/weekly?from=&to=:获取周报 Markdown(缺省最近 7 天含今天)。
-GET /daily-digest/week:获取近 7 天趋势 JSON(用于卡片柱状图)。
-GET /daily-digest/range?from=&to=:获取区间聚合 JSON。 -
配置参数
在~/.dsh/settings.yaml中进行配置,支持热更新:
dsh-daily-digest:
enabled: true
keepDays: 30 # 数据保留天数(1~365)
recordTools: true # 隐私开关:是否记录工具名
recordLabels: true # 隐私开关:是否记录任务名(计数仍保留)
开发与维护¶
文件结构:
- lib/index.mjs:Node half(记账、落盘、接口)。
- lib/client.js:Web half(悬浮卡片)。
- assets/:界面预览截图资源。
开发提示:
- 修改 Node half 代码后,需要重启 web。
- 修改 client half 代码后,刷新浏览器即可。
- 如果安装形态涉及拷贝(nodeLinker: hoisted),修改代码后需要 remove + add 重新安装再重启。
结语¶
该插件通过接口暴露数据,方便开发者将其集成到更复杂的工作流中。如需查看插件详情或提交反馈,请访问 GitHub 仓库 或 社区目录。