前言¶
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。