DeepSeek Harness(DSH)的生態包含 dsh-tui、dsh Web 和各類 agent tools。在開發環境中,這些工具往往需要讀取 IDE 的上下文(當前文件、光標位置、診斷信息等)。如果每個工具都自己寫一套採集邏輯,不僅代碼冗餘,還容易導致狀態不一致。dsh-ide-ipc 插件解決了這個問題。它作爲 socket 服務端運行,只負責採集和上報 context。這樣 dsh-tui、dsh Web 和 agent tools 都可以讀取同一份實時 registry。
插件定位¶
這是一款獨立的 DeepSeek Harness IDE IPC 插件。它是 socket 服務端,支持多個 IDE 同時連接。IDE 插件只負責採集和上報自己的 context。這樣 dsh-tui、dsh Web 和 agent tools 都讀取同一份實時 registry。插件由 wlz6 維護,採用 MIT 許可證。
核心功能¶
- 獨立服務端與多連接:提供獨立的 socket 服務端,支持多個 IDE 同時連接。
- 統一上下文采集:IDE 插件負責採集和上報 context。
- 狀態共享:dsh-tui、dsh Web 和 agent tools 共享實時 registry。
- 多客戶端支持:支持 Nvim 和 VS Code 客戶端連接。
- 操作轉發:提供
ide_list、ide_context等工具轉發操作,支持ide_open_file、ide_save_document、ide_open_diff。 - 通信協議:協議爲 4 字節 little-endian 長度 + JSON frame。
安裝與啓用¶
安裝命令如下。針對不同的 profile 執行對應操作:
dsh plugin --profile dsh-tui add github:wlz6/dsh-ide-ipc
dsh plugin --profile web add github:wlz6/dsh-ide-ipc
安裝後啓動對應 profile。默認 IPC 端點如下:
- Linux/macOS/WSL:
~/.cache/nvim-context-ipc/dsh.sock - Windows:
\\.\pipe\dsh-ide-ipc
也可以在 bundle row 上覆蓋 config.socketPath,或設置環境變量 DSH_IDE_IPC_SOCKET。
典型用法¶
安裝並啓動後,可以在 dsh tools 中使用以下命令:
-
列出已連接 IDE、workspace、當前文件:
使用ide_list。 -
讀取選中 IDE 的最新 context:
使用ide_context。 -
轉發操作給選中的 IDE:
使用ide_open_file、ide_save_document、ide_open_diff。
多個 IDE 同時連接時,工具傳 ide_id;只有 workspace 路由時可傳 workspace。
協議細節:協議爲 4 字節 little-endian 長度 + JSON frame,當前協議版本爲 1。
注意事項與適用場景¶
- 連接方式:Nvim 作爲 client 主動連接本插件。VS Code 使用獨立的 adapter,安裝方式爲
git clone後通過code --install-extension安裝,不會把 VS Code API 引入 dsh server。 - 權限與安全:socket 目錄爲
0700,socket 文件爲0600。 - 適用場景:需要在不同 IDE 之間共享上下文,或者讓 dsh 工具控制 IDE 操作的場景。
- 注意:插件以當前 dsh 進程權限運行,安裝前請檢查源碼與許可證。
通過 dsh-ide-ipc,開發者可以在 DSH 生態中構建統一的狀態管理。它簡化了多 IDE 之間的通信,讓上下文流轉更高效。