dsh-plugin-html-report:將 DSH 會話轉錄渲染爲自包含 HTML 報告

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
羽毛球分组比赛记分
小程序二维码

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

小夜