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 之间的通信,让上下文流转更高效。