在本地使用 DeepSeek Harness (DSH) 時,對話記錄保存在磁盤文件中。如果需要備份、分享或遷移這些歷史記錄,手動整理較爲繁瑣。下面介紹 dsh-session-export 插件,它提供了一套標準的命令來列出本地會話並將任意會話導出爲 Markdown 或 JSON 格式。
功能說明¶
該插件提供兩個核心工具命令:
-
session_list
列出本地所有會話。返回結果包含會話的標題、ID、工作目錄、創建時間以及大小。支持通過關鍵字進行過濾。 -
session_export
導出指定會話。輸出格式支持 Markdown(包含用戶/助手消息、工具調用與結果、推理過程)或 JSON(結構化數據)。支持直接指定輸出路徑,若不指定則默認返回全文。
數據存儲與依賴
- 會話數據來源於 $DSH_HOME/sessions(默認路徑爲 ~/.dsh/sessions)。
- 插件支持導出 zstd 壓縮的日誌(.l.zstd)與明文日誌(.l)。
- 標題自動讀取 DSH 的 session/title 記錄,若無標題則回退至首條用戶消息。
- 依賴爲 peer-only,隨 DSH 宿主加載,無需額外安裝運行時。
安裝與啓用¶
在終端中執行以下命令,將插件安裝到指定的 profile 中:
dsh plugin --profile web add dsh-session-export
安裝完成後,插件會自動加入 profile 的 dsh.profile.bundles 配置。執行安裝命令後,需要重啓或重載 DSH 配置才能使新工具生效。
典型用法¶
安裝生效後,可以通過自然語言指令或直接調用命令行工具來操作。
-
列出所有本地會話:
調用session_list命令。 -
導出會話爲 Markdown 並保存到文件:
調用session_export命令,指定會話 ID 和輸出路徑。 -
導出會話爲 JSON 格式:
調用session_export,並設置format=json參數。
適用場景與注意¶
適用場景
- 備份:定期導出本地會話,防止數據意外丟失。
- 分享與復盤:將導出的 Markdown 文檔用於文檔分享或復盤分析。
- 結構化遷移:通過 JSON 導出數據,便於進行二次處理或錄入知識庫。
注意事項
- 插件爲純 Node 實現,零第三方運行時依賴。
- 插件以 DSH 宿主的權限運行,涉及本地文件系統訪問,請確保源碼安全。
- 本插件爲 MIT 許可證開源項目。
總結¶
dsh-session-export 爲 DSH 用戶提供了標準化的會話導出能力。通過 session_list 和 session_export 兩個工具,可以方便地將本地對話歷史轉化爲 Markdown 或 JSON 格式,滿足備份、分享和遷移的需求。