dsh-report-studio:把 DSH 会话变成可校验的工作报告

前言

在 DeepSeek Harness(DSH)里做智能体开发时,一个会话结束后常常需要把结果整理成日报、周报、交接文档或文章草稿。如果只靠模型在对话里重新描述,产出往往缺少可核查依据。

ciceroyang/dsh-report-studio 针对这个问题:它从持久会话事件日志提取会话事实,生成报告,并在保存时附加可验证凭据块。下面介绍它的定位、安装方式、典型用法和注意事项。

这是什么

ciceroyang/dsh-report-studio 是一个 DSH 工作流插件。它把一次 DeepSeek Harness 会话整理成可交付报告,支持以下模板类型:

daily
weekly
handoff
article

插件由 ciceroyang 维护,当前状态为:

0.1.0, usable

许可证为:

MIT

插件跟随 Harness developer preview,接口可能变化。

它是纯 ESM,无构建步骤,可通过 dsh plugin 安装,或使用 --patch overlay 加载。

模板与数据提取

插件提供 4 个内置模板:

daily
weekly
handoff
article

报告数据不是让模型重新回忆,而是从持久会话事件日志确定性提取。可提取内容包括:

用户请求
todo 快照
turn/step 统计
token ledger
工具调用
生成文件
shell 命令
错误与 blocks

插件不读取模型记忆。

如果不想使用内置模板,可以指定自定义模板目录来覆盖内置模板,配置项为:

templatesDirs

凭据与校验

保存报告时,插件会追加可验证凭据块。凭据块包含:

会话
工作区
生成时间
报告 SHA-256
产物 SHA-256

保存后,可以使用独立校验工具:

report_verify

report_verify 会重新计算报告 SHA-256 和产物哈希,并逐项报告匹配、缺失情况。它支持单文件校验,也支持目录批量校验。

保存

报告保存使用:

report_save

它会把报告写入文件,并自动追加凭据块。

保存时可以选择输出格式:

md
html

html 输出可独立转发,并会嵌入原始 Markdown 源块,以便后续继续使用:

report_verify

进行校验。

默认保存位置为会话工作区内的:

reports/<kind>-<date>.md

目标路径被限制在会话工作区,拒绝绝对路径逃逸和 .. traversal。

发布

报告发布使用:

report_publish

发布目标包括:

feishu
notion
dry

其中:

dry

用于预览 payload,不发送真实消息。

真实发布需要配置 Feishu 或 Notion 凭据。Feishu 可使用插件配置项:

publish.feishuWebhook

或环境变量:

FEISHU_WEBHOOK

Notion 可使用插件配置项:

publish.notionToken
publish.notionParentPageId

或环境变量:

NOTION_TOKEN
NOTION_PARENT_PAGE_ID

缺少真实发布凭据时会明确失败;dry 模式始终可用。

周报聚合

周报聚合使用:

report_week

它可以聚合当前工作区历史持久会话与 live session,生成周报草稿。

读取历史会话日志需要:

Node >= 22.15

原因是历史日志读取依赖内置 zstd。旧版 Node 会降级为仅当前会话。

安装与启用

安装前确认环境满足:

Node.js >= 18
DeepSeek Harness

使用插件安装方式时需要 pnpm。安装命令如下:

dsh plugin --profile web add github:ciceroyang/dsh-report-studio

该命令把插件加入 web profile 对应的 DSH 插件环境。

如果不想引入 pnpm,可以使用本地源码 --patch overlay 加载。这种方式不需要 pnpm

典型用法

先让 agent 生成日报草稿。可以直接对 agent 说:

Write today's work report.

也可以让它生成交接文档:

Turn this session into a handoff document for the next person.

如果只想快速得到草稿预览,可以使用斜杠命令:

/report daily

其他类型也可以使用:

/report weekly
/report handoff
/report article

生成并保存报告时,通常先使用:

report_generate

生成报告草稿,再使用:

report_save

写入文件并自动追加凭据块。

保存时可以使用:

format=md
format=html

也可以指定路径。默认保存位置是:

reports/<kind>-<date>.md

保存后,可以使用:

report_verify

校验报告凭据。支持按文件校验,也支持按目录批量校验。

发布到外部渠道时,使用:

report_publish

并指定:

target=feishu
target=notion
target=dry

定时周报

定时周报有两条路径。

第一条是使用 Harness 内的调度能力。挂载 dsh-schedule 后,可以使用:

dsh-schedule/schedule_create

然后对 agent 说:

generate my weekly report every Friday 18:00

第二条是直接运行脚本生成周报草稿:

node scripts/auto-weekly.mjs <workspace> --out reports/weekly-auto.md

该脚本会聚合本周会话并生成带待写槽位的周报草稿。

适用场景与注意

这个插件适合需要把 DSH 会话结果整理成日报、周报、交接文档或文章草稿的团队和个人。

使用前注意以下事项:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 插件持久化使用 Node fs 直接写入,位于 Harness fs 策略层之外;路径逃逸保护在插件内部。
  • 报告工具要求 agent-bound session,webheadless 均可。
  • report_week 读取历史会话日志需要 Node >= 22.15;旧版 Node 会降级为仅当前会话。
  • 插件状态是 0.1.0, usable,跟随 Harness developer preview,接口可能变化。
  • 保存目标路径被限制在会话工作区,拒绝绝对路径逃逸和 .. traversal。

链接

目录页:ciceroyang/dsh-report-studio

GitHub:ciceroyang/dsh-report-studio

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

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

小夜