DeepSeek Harness 插件:會話轉錄歸檔器

前言

DeepSeek Harness (DSH) 採用了插件化架構,旨在將功能模塊化。在默認情況下,會話數據僅存在於內存中,難以長期保存或作爲資產複用。dsh-plugin-transcript 作爲插件家族的一員,承擔了底層數據層的職責。它負責捕獲會話中的每一次交互,將其持久化爲 JSONL 文件,並提供 Markdown 渲染能力,爲其他依賴會話數據的插件(如搜索、筆記同步等)提供基礎。

核心功能

該插件主要處理會話數據的捕獲、存儲與展示。

  • 實時捕獲與歸檔:監聽 user/message、assistant/message 和 tool/call 事件,並將這些記錄實時追加寫入到按月劃分的 JSONL 邊車文件中(默認路徑爲 ~/.dsh/transcripts/transcript-YYYY-MM.l)。
  • Markdown 渲染:支持通過命令行接口將當前會話渲染爲 Markdown 格式。
  • 自動持久化:當會話被銷燬(session/disposed)時,插件會自動將 Markdown 內容刷新到 dataDir/markdown/ 目錄下。
  • 容錯機制:如果 DSH 進程在會話期間崩潰,Markdown 可能不會自動刷新,但 JSONL 數據保持完整,可在下次啓動後通過命令重繪。

安裝與啓用

安裝過程需要執行以下三個步驟:

  1. 安裝插件包:
    dsh plugin --profile web add github:121212165/dsh-plugin-transcript
該命令會將插件安裝到指定的 profile 中。
  1. 合併配置文件:
    將插件倉庫根目錄下的 cordis.patch.yml 內容合併到 DSH 的配置文件 $DSH_HOME/profiles/web/cordis.patch.yml 中。

    • 注意:該文件默認爲空數組,請將插入條目合併進同一個數組,不要直接追加,否則會導致 YAML 解析錯誤。
  2. 重啓客戶端:
    配置更改後必須重啓 DSH 客戶端才能生效。

命令用法

安裝完成後,可以通過以下命令進行操作:

  • 查看統計信息:
    輸入 /transcript 可以查看當前會話的記錄統計(條數、字符數)以及 JSONL 文件的具體位置。

  • 導出 Markdown:
    輸入 /transcript-export 可以將當前會話內容渲染爲 Markdown 格式。

Markdown 輸出結構

導出的 Markdown 文件通常包含會話標題、用戶與助手的分段內容,以及工具調用的記錄。結構示例如下:

# 會話標題
> N 條記錄 · 導出於渲染時刻

## 👤 用戶
…

- 🔧 `bash` — {"command":"ls"}

## 🤖 助手 · deepseek-v4-pro
…

注意事項

  • 崩潰恢復:如果在會話中途 DSH 崩潰,Markdown 不會自動刷新,但 JSONL 數據無損,可使用 /transcript-export 重新渲染。
  • 工具結果限制:爲了避免歸檔文件膨脹,插件僅記錄工具調用(調用名和參數預覽),不記錄工具的返回結果。
  • 配置生效:修改 dataDir、captureTools 等配置項後,必須重啓 DSH 客戶端。
  • 不確定點:user/message 的具體 content 塊形狀是基於 DSH 通用結構推斷的,未在運行實例中實測;assistant/message 的流數據具體序列化形狀也未在運行實例中實測。
羽毛球分组比赛记分
小程序二维码

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

小夜