dsh-receipts:從 DSH 本地日誌挖掘個人工作流水賬

前言

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。

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

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

小夜