dsh-session-manager:DeepSeek Harness 會話管理插件

前言

DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。在開發過程中,會話歷史的管理、查看以及清理是高頻需求。dsh-session-manager 是一個由 huajuan2024 維護的插件,它爲 Web UI 的「設置 → 插件」頁面提供了一個會話管理面板。該插件位於「記憶」分類,旨在解決查看歷史消息、刪除舊會話以及導出會話記錄的痛點。

核心功能

插件主要包含 Host 服務和 Web 客戶端兩部分。Host 進程負責核心邏輯,通過 ctx.sessionManager 和 ctx.sessionQuery 服務讀取會話,執行刪除和格式轉換,並處理文件操作。Web 客戶端通過標準 /api RPC 調用 Host,渲染會話列表與詳情面板。

具體能力包括:
1. 列出會話:列出所有已知會話,包含 title、cwd、updatedAt、turns、steps、agentPreset 等信息。
2. 查看歷史:點擊單個會話可查看其消息歷史,支持導出爲 JSON 或 Markdown 格式。
3. 刪除會話:支持刪除單條會話,但運行中的會話會被拒絕刪除。
4. 導出功能:導出操作走瀏覽器 Blob URL 觸發下載。

安裝與配置

安裝需要使用官方提供的 tarball 包。請確保已安裝 Node.js 22.19 或更高版本,以及兼容 DSH 0.1.0-rc.7 的版本。

執行安裝命令:

dsh plugin --profile web add ../../plugin-releases/dsh-session-manager-0.1.5.tgz

安裝後,包內 cordis.patch.yml 會提供默認配置。若需覆蓋配置,需在 ~/.dsh/profiles/web/cordis.patch.yml 中使用相同的 id 寫入配置。注意:覆蓋時必須使用列表替換整份 config,不能追加在 [] 後面。

檢查最終配置結果:

dsh --profile web --dump-config

典型用法

  1. 查看列表:啓動 Web profile 後,進入「設置 → 插件」,即可看到「會話管理」面板,列出所有會話。
  2. 查看詳情:點擊列表中的會話行,展開查看消息歷史(默認最多預覽 200 條)。
  3. 導出數據:點擊導出按鈕,瀏覽器會下載 JSON 或 Markdown 格式的文件。
  4. 清理會話:點擊刪除按鈕,在確認對話框中刪除會話。

注意事項與限制

使用該插件前,請務必檢查源碼與許可證。插件以當前 dsh 進程權限運行,涉及文件操作。

  1. 權限與安全:文件操作只在 Host 進程中進行,token 或文件絕對路徑不會進入 Remote 返回值,防止信息泄露。sessionId 必須是裸 UUID 或匹配 session-<uuid> 格式,其他格式會被拒絕以防止路徑穿越。
  2. 運行時限制:處於 running 狀態的會話不可刪除,必須先結束會話。
  3. 導出限制:單次導出的字節上限爲 10485760(10 MiB),超過此大小會返回 too-large 錯誤。
  4. 故障排查:
    - session-running:會話正在運行,無法刪除。
    - not-found:會話目錄已不存在。
    - invalid-session-id:Session ID 格式不正確。
    - permission-denied:Host 進程沒有讀寫權限。
    - upstream-error:文件解壓或解析失敗。

總結

dsh-session-manager 爲 DeepSeek Harness 用戶提供了在 Web 端直接管理會話歷史的能力。通過列出、查看、導出和刪除,它輔助開發者更好地維護和利用會話數據。更多細節及源碼可參考其 GitHub 倉庫與 SkillHub 目錄。

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

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

小夜