dsh-daily-digest:自动沉淀 AI 工作流的日报/周报插件

前言

DeepSeek Harness(DSH)采用插件化架构,扩展功能通常需要编写独立的模块。在日常使用中,记录会话内容、任务完成情况以及请求错误比较繁琐,容易造成数据遗漏。dsh-daily-digest 插件通过自动记账与接口封装,解决了这个问题。

插件简介

该插件由用户 zhaoxuejie 维护,采用 MIT 许可证。

核心定位:
自动把「今天和 AI 干了什么」沉淀成日报/周报的 DSH 插件。

解决的问题:
- 自动记录任务(完成/失败)、会话(标题、轮数、工具、结束状态)及请求错误。
- 避免手动整理工作日志,通过接口直接获取 Markdown 或 JSON 格式的报告。

核心功能

  1. 自动记账
    - 任务:在 DSH 后台任务系统(jobs)中,当 job 结束(成功或失败)时记一笔;普通对话回合不计入任务。
    - 会话:新开会话记 startup,打开旧会话续接记 resume(次数);会话明细按 session.id 追踪。
    - 错误:记录请求错误。

  2. 数据落盘
    - 数据按天落盘,存储路径在 profile 的 data 目录下(如 ~/.dsh/profiles/web/data/daily-digest/digest.json),重启进程不会丢失。

  3. Web 悬浮卡片
    - 重启 Web 服务后,右下角会出现「📋 今日摘要」悬浮卡片。
    - 卡片提供实时统计、近 7 天趋势条以及一键复制日报/周报的功能。

  4. 接口支持
    - 全部接口返回 JSON 或 Markdown,不依赖前端界面,便于脚本调用。

安装与启用

使用前需要确保已安装 DeepSeek Harness(Node.js 18+)。

  1. 执行安装命令:
dsh plugin --profile web add dsh-daily-digest
  1. 启动 Web 服务:
dsh web
  1. 重启服务后,刷新浏览器页面,右下角应出现「📋 今日摘要」卡片。

更新插件:
当有新版发布时,重新执行一次 add(或先 remove 再 add)命令,然后重启 web。

典型用法

  1. 查看实时摘要
    重启 web 后,直接在网页右下角查看悬浮卡片。

  2. 调用接口获取报告
    插件提供了多个 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。

  3. 配置参数
    在 ~/.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 仓库 或 社区目录。

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

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

小夜