DSH(DeepSeek Harness)會將會話記錄爲 JSONL 邊車文件。這些文件結構緊湊,但難以直接向他人展示或閱讀。dsh-plugin-html-report 插件讀取這些 JSONL 文件,生成一份自包含的 HTML 報告。接收方無需安裝 DSH 或任何工具,直接在瀏覽器打開即可查看會話詳情。
核心功能¶
該插件將 JSONL 轉錄渲染爲單文件 HTML,包含以下特性:
- 自包含輸出:生成單文件、內聯樣式、零外鏈的 HTML。文件可直接雙擊打開,適配離線、內網或郵件附件場景。
- 數據源對接:讀取
dsh-plugin-transcript產生的 JSONL 邊車文件。 - 會話選擇:支持按最後活躍時間、會話 ID 前綴進行篩選。
- 信息壓縮與統計:
- 頂部展示條數、用戶、助手、工具調用次數及字符數統計。
- 工具調用結果被壓縮爲一行
chip,正文內容截斷至 300 字符,避免工具返回的長文本影響閱讀。
- 安全與轉義:所有文本內容進行 HTML 轉義,防止腳本注入(如
<img onerror=...>)。
安裝與配置¶
安裝需要 pnpm 在系統 PATH 上。執行以下命令將插件添加到 web profile:
dsh plugin --profile web add github:121212165/dsh-plugin-html-report
添加後,需要手動配置 cordis.patch.yml。將倉庫根目錄的 cordis.patch.yml 內容合併到 $DSH_HOME/profiles/web/cordis.patch.yml 中(注意不要直接追加,以免形成兩個 YAML 文檔導致解析失敗)。
配置完成後,必須重啓 DSH 才能使新配置生效。
使用方法¶
在 DSH 中發送以下命令以生成報告:
/report:渲染最近活躍的那一個會話。/report <sessionId 前綴>:渲染匹配前綴的會話(session-前綴帶不帶均可)。/report all:渲染全部會話,按最後活躍時間倒序排列。
技術細節與注意事項¶
- 文件名規則:輸出文件名通過截取
sessionId去掉session-前綴後的前 12 字符生成。 - 輸入文件格式:僅讀取命名格式爲
transcript-YYYY-MM.l的文件。 - 錯誤處理:遇到損壞的行會跳過並計數,源文件不會被改寫。
- 測試覆蓋:插件包含純函數測試,覆蓋轉義、自包含檢查、會話選擇等邏輯。
相關鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/121212165/dsh-plugin-html-report
- GitHub 倉庫:https://github.com/121212165/dsh-plugin-html-report