前言¶
DSH(DeepSeek Harness)的核心理念是“一切皆插件”。在使用过程中,开发者常面临一个问题:如何量化智能体在具体项目中的投入与产出?2026年8月的调研显示,dsh receipts worklog 等关键词的搜索结果为 0,缺乏现成的工具来生成个人“使用与影响报告”。dsh-receipts 旨在解决这个问题,它是一个从本地会话日志挖掘数据并生成报告的插件。
核心功能¶
- 零配置:数据源是本机
$DSH_HOME/sessions下已有的会话日志(session.jsonl或session.jsonl.zstd),无需联网、无需注册。 - 零网络挖掘:挖掘阶段是纯本地 Node 脚本(文件 IO + 正则 + JSON 解析),零 API 调用;摘要强制 ≤ 20KB,超出会截断。
- 交叉验证:与会话活动互相校验
git log,把 commit 活动与会话活动进行比对。 - 隐私保护:只读自己的 dshHome 日志,支持路径脱敏;报告绝不外发。
- Markdown / HTML 报告:生成日报/周报/月报,以及自包含的 HTML receipt(单文件、无外链,可直接离线打开)。
安装与启用¶
该插件在开发形态下依赖相邻的 dsh-src(DeepSeek Harness 源码检出),与当前仓库保持同一父目录布局(<parent>/dsh-src)。安装前需先检出官方源码并构建。
构建并安装到 profile:
# 1. 确保同级目录存在 dsh-src 并已构建
pnpm install # link 到 dsh-src 的依赖
pnpm build # tsc 编译 lib/
# 2. 安装插件
dsh plugin --profile <name> add /path/to/dsh-receipts
安装后,agent 获得 receipts 工具。主要参数如下:
| 参数 | 默认 | 说明 |
|---|---|---|
period |
month |
week=7 / month=30 / quarter=90 / year=365 或正整数天数(如 "14") |
repo |
无 | 项目名子串,过滤整个报告(匹配会话 cwd) |
outDir |
dshHome |
报告输出目录 |
redactPaths |
false |
绝对路径脱敏(<redacted>/<basename>) |
sessionsRoot |
$DSH_HOME/sessions |
覆盖会话日志根目录 |
git |
true |
git log 交叉验证开关(关闭时标注「无法交叉验证」) |
输出两个文件:receipts-<日期>.md 与 receipts-<日期>.html(自包含)。
命令行直接使用¶
除了通过 DSH agent 调用,也可以直接使用脚本挖掘:
# 挖掘(摘要 JSON 打到 stdout)
node scripts/mine-transcripts.mjs --root ~/.dsh/sessions --period month --repo my-project --redact
生成报告:
# 报告(摘要文件 → Markdown + HTML)
node scripts/report.mjs --summary /tmp/summary.json --out-dir ~/receipts --base-name receipts-2026-08-20
适用场景与注意事项¶
- 适用场景:向主管 justify 使用成本、个人工作流复盘、量化智能体在项目中的投入。
- 主题分类:关键词聚类的确定性实现,非语义分析。
- 压缩模式:DSH 日志默认 Zstd。脚本支持自动解压多帧拼接文件;若 Zstd 文件较大(单帧超过 64MB),解码可能失败并跳过该文件。
- 周期判定:以会话活动与时间窗的重叠为准,创建于窗外但窗内有活动的会话计入。
- 权限与 Store:仓库已声明
package.json中的repository/engines.node/dsh.compatibility/dsh.permissions,插件运行时仅读取dshHome/sessions并写入outDir。
结尾¶
dsh-receipts 提供了一种零配置、零网络的本地化数据挖掘方案,将不可见的会话活动转化为可视化的工作流水账。通过交叉验证 git log,它不仅是一份报告,更是对开发过程的客观记录。
插件详情与源码见:SkillHub 目录 或 GitHub。