dsh-ide-ipc:连接多 IDE 的 DeepSeek Harness 插件

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 中使用以下命令:

  1. 列出已连接 IDE、workspace、当前文件:
    使用 ide_list。

  2. 读取选中 IDE 的最新 context:
    使用 ide_context。

  3. 转发操作给选中的 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 之间的通信,让上下文流转更高效。

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

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

小夜