DeepSeek Harness (dsh) 目前處於開發者預覽階段,接口可能發生破壞性變更。在進行智能體開發時,面對較長的會話記錄,快速定位上下文往往比較困難。dsh-conversation-map 是一個用於 DeepSeek Harness Web 客戶端的插件,旨在對話區右側渲染一條可拖動的會話地圖,提供類似代碼編輯器 minimap 的導航體驗。
功能特性¶
該插件通過 Web 會話 DOM 契約實現,核心功能包括:
- 雙模式切換:寬度小於 50px 時顯示色塊模式,按消息類型着色(用戶、助手、工具調用、命令、錯誤),懸停可查看內容預覽;寬度大於等於 50px 時自動切換爲縮略圖模式,展示會話的真實結構。
- 拖動調整寬度:按住地圖左側把手可左右拖動調整寬度,範圍在 10 至 320px 之間,右緣固定。拖動過程中會顯示實時寬度徽標。
- 快速滾動與定位:點擊地圖任意位置可跳轉至對應內容,按住拖動可連續滾動。在縮略圖模式下,按住當前會話內容框可跟隨滾動。
- 懸停放大預覽:在縮略圖模式下,懸停地圖任意位置,光標左側會彈出放大預覽窗口,完整展示該行內容。
- 收起與展開:懸停地圖頂部點擊
»可收起爲 4px 細條;收起後細條頂部常顯«標籤,點擊標籤或細條即可展開。 - 實時同步:消息流式輸出、工具調用、切換會話時地圖會自動刷新。側欄、詳情面板的開合以及窗口縮放都會觸發地圖更新。
- 高度自適應:地圖高度隨會話內容實時伸縮,縮略圖縮放比例恆由寬度決定,與會話長度無關。
安裝與啓用¶
安裝該插件需要使用 DeepSeek Harness 的插件命令:
dsh plugin --profile web add dsh-conversation-map
安裝後,可以通過以下命令驗證插件層是否已掛載:
dsh --profile web --dump-config
隨後啓動 Web 客戶端:
dsh --profile web
技術與注意事項¶
該插件當前基於 dsh 0.1.x 的 Web 會話 DOM 契約實現,依賴 react 平臺模塊和 slots 服務。Host 半身爲空實現,瀏覽器半身通過 shell.overlay 槽位掛載。插件本身不包含網絡請求或遙測(除使用 localStorage 進行狀態持久化外無其他持久化)。
狀態持久化於瀏覽器的 localStorage,鍵名爲 dsh-conversation-map:width 和 dsh-conversation-map:collapsed。這意味着調整後的寬度和收起狀態會在刷新頁面或切換會話後保持。
總結¶
dsh-conversation-map 爲 DSH Web 客戶端提供了可視化的會話導航能力,適合需要在長對話中快速定位上下文的開發者使用。更多細節與源碼可參考 GitHub。