dsh-ide-bridge:在 JetBrains IDE 工具窗口里接 DeepSeek Harness

前言

用 DeepSeek Harness(DSH)做智能体开发时,常见做法是在桌面端或浏览器里开完整 WebUI,再在 IDE 里写代码,两边来回切标签页。另一类 JetBrains 插件会把静态地址嵌进工具窗口,但不一定对得上「已在运行的桌面端」、流式输出和工具审批。

dsh-ide-bridge(维护者 smynbnb,分类:客户端)把 DSH 接到 IntelliJ IDEA 右侧工具窗口:桌面端照常跑,IDE 里用精简面板对话、看 SSE 流式输出、处理权限审批,并可桥接 IDE 侧的 MCP 工具。仓库标明为个人项目、开发中,主要在 Windows + IntelliJ IDEA 2026.2 + DSH 0.2.1 上验证;package.json 要求 Node >= 20、DSH >=0.2.2-rc.1 <0.3.0,当前包版本 0.5.6,MIT 许可证。

这是什么

仓库分三块:dsh-plugin/(DSH 侧 Node ESM)写交接文件、注册工作区、提供面板路由与 MCP 桥;plugin/(IDE 侧 Java + JCEF)读交接文件、内嵌面板并按 IDE 主题取色;tools/ 供离线测试。IDE 插件 fork 自 Chocomintopia/dsh-jetbrains-plugin(MIT),在「静态 WebUI 工具窗口」基础上改为连接运行中的桌面端,并增加精简面板、流式、审批与主题跟随。

核心功能

下面按 README 已列能力归纳,便于对照是否满足你的 workflow。

面板与连接

  • 内嵌精简面板:保留对话、思考、工具轨迹和输入框;与桌面端同源加载,复用登录 cookie。
  • 流式输出:模型逐字帧、会话事件、工具调用经 SSE 推送到面板,无需轮询。
  • 断线重连:桌面端重启、token 轮换后,IDE 侧自动重连并回到精简面板。
  • 面板切换:工具窗口标题栏用 COMBO 选择器,可在「DeepSeek Harness」精简面板与「DeepSeek Chat」网页之间切换。

审批、权限与会话

  • 审批窗口:工具要权限时,面板底部弹出卡片(工具名、原因、调用 id),支持允许一次或拒绝;只处理 IDE 面板所属会话,其他会话仍在桌面端处理。
  • 权限选择:只读 / 工作区可写 / 完全权限,可切换当前会话权限预设。
  • 会话管理:顶部「会话」菜单可新建、归档当前并新建、或切回本项目最近会话;归档仅隐藏,不删历史。

模式与输入

  • Plan → Act 自动续跑:从 Plan 切到 Act、输入框为空且上一轮已有回复时,面板自动发模式切换指令;输入框已有内容时不抢发。Plan 模式下写操作仍由服务端 tools.guard 拦截。
  • 插话发送:回合运行中点「插话」或 Ctrl/⌘+Enter,以 steer 注入当前回合;空闲时按钮禁用。

IDE 集成

  • 主题跟随:采样当前 LookAndFeel 颜色(含 Islands、Darcula、IntelliJ Light、高对比与自定义主题),切换后重刷面板。
  • 工作区自动注册:在 IDE 打开项目时,DSH 侧自动注册为工作区,新会话默认落到该项目。
  • MCP 工具桥:IDE 在线时将 IDE MCP 工具注册进模型工具表,关闭 IDE 后自动注销;中转仅监听 127.0.0.1。
  • 选中代码发送:IDE 侧能力(与 JCEF 工具窗口一并提供)。

架构要点

IDE 工具窗口(JCEF)通过同源请求访问 DSH 侧 ui-server.js 提供的 /api/ide-panel 等路由;DSH 插件启动时把带 token 的地址写入 %LOCALAPPDATA%\dsh-ide-bridge\bridge.json(Linux/macOS 上对应本机用户数据目录下的 dsh-ide-bridge),IDE 的 BridgeConfig 读该文件并校验进程与端口。MCP 路径为 IDE 内 McpRelayServer(README 示例端口 64343)与 DSH MCP 客户端、IDE MCP Server(可选,示例端口 64342)串联。

主要面板 API(方法与用途见 README):

路由 方法 说明
/api/ide-panel GET 精简面板页面
/api/ide/stream GET SSE:快照、事件、逐字帧、审批
/api/ide/approval POST 审批决定(allow / reject)
/api/ide/permission GET/POST 读/切换权限预设
/api/ide/plan-mode POST Plan/Act 开关(配合 tools.guard)
/api/ide/context GET 将项目目录解析为 DSH 工作区

安装与启用

安装分 DSH 侧与 IDEA 侧两步;官方 README 未提供 dsh plugin add github:... 一类命令,而是本地 file: 依赖与 Cordis patch。

前置

  • DeepSeek Harness 桌面端(带 web)。
  • IntelliJ IDEA 2026.2+(需 JCEF,平台 build 262+)。
  • 可选:IDEA MCP Server 插件(端口 64342),用于把 IDE 工具暴露给模型。

1. 安装 DSH 侧插件

先把仓库中的 dsh-plugin/ 放在稳定目录,再在 DSH profile(示例:%USERPROFILE%\.dsh\profiles\desktop)中操作。

  1. 在 profile 的 package.json 的 dependencies 增加(路径改为你本机实际位置):
"dsh-ide-bridge": "file:C:/path/to/dsh-plugin"
  1. 在 profile 目录安装依赖:
pnpm install
  1. 在 cordis.patch.yml 追加:
- insert:
    - id: dsh-ide-bridge
      name: 'dsh-ide-bridge'
    - id: dsh-ide-mcp
      name: 'dsh-ide-bridge/mcp'
    - id: dsh-ide-ui
      name: 'dsh-ide-bridge/ui'
  1. 重启 DeepSeek Harness。启动后应生成 %LOCALAPPDATA%\dsh-ide-bridge\bridge.json 并监听本机端口。dsh-ide-ui 会注册 IDE 面板专用同源路由。

2. 构建并安装 IDEA 插件

在仓库根目录执行(-IdeRoot 改为本机 IDEA 安装路径):

.\plugin\build.ps1 -IdeRoot "D:\Program Files\JetBrains\IntelliJ IDEA 2026.2.2"

产物在 plugin\releases\dsh-ide-bridge.jar。在 IDEA 中 Settings → Plugins → ⚙ → Install Plugin from Disk… 选择该 jar 并重启。也可将 jar 放入 JetBrains 配置目录下对应版本的 plugins\dsh-ide-bridge\lib\(README 以 Windows 路径为例)。

重启后打开右侧工具窗口 DeepSeek Harness Bridge,面板应连上桌面端当前会话。

配置项

位置 项 说明
IDEA JVM 参数 -Ddsh.bridge.path=<file> 覆盖交接文件路径(测试用)
IDEA JVM 参数 -Ddsh.web.url=<url> 无 DSH 侧插件时,手工指定带 token 的地址
DSH 侧插件 config.path 覆盖 bridge.json 输出路径

典型用法

  1. 启动 DSH 桌面端并完成上述两侧安装;确认 bridge.json 已生成且 IDE 工具窗口能加载精简面板。
  2. 在 IDEA 中打开目标项目,让 DSH 自动注册工作区;在面板顶部「会话」中新建或切换会话。
  3. 对话过程中若模型发起需审批的工具调用,在面板底部卡片选择允许一次或拒绝;按需切换只读 / 可写 / 完全权限。
  4. Plan 模式下讨论方案,切换到 Act 且输入框为空时,可利用自动续跑进入执行;长跑回合中用「插话」修正方向。
  5. 若启用 MCP Server 插件,IDE 在线时模型可调用经中转注册的 IDE MCP 工具。

本地开发与验证(无需 IDE)可运行:

node tools\test-ui-server.mjs
node tools\test-panel-ui.mjs

适用场景与注意

适合谁:主要在 JetBrains IDE(尤其 IntelliJ IDEA 2026.2+)里写代码、又希望 DSH 会话、审批和 MCP 与当前项目同屏的开发者。社区目录页归类为客户端插件,与 DeepSeek / 幻方无官方从属关系;安装前请自行查看源码与 MIT 许可证。

安全:bridge.json 含本次启动访问 token,权限建议为 0600,勿提交或分享,等同于桌面端登录凭据。面板与 DSH 同源,经 Host/Origin 校验;MCP 中转不对外网开放。

权限与风险:DSH 侧插件以当前 DSH 进程权限运行,模型在「完全权限」或写工作区预设下可能改文件、执行工具;使用前确认 profile 与权限预设符合你的信任边界。

平台:README 开发状态与示例以 Windows 为主;Linux/macOS 用户需自行映射 profile、LOCALAPPDATA/bridge.json 路径,并在对应平台构建、安装 IDEA 插件。

结尾

dsh-ide-bridge 把运行中的 DSH 桌面端接到 JetBrains 工具窗口:精简面板、SSE、审批、主题跟随与工作区/MCP 桥接,减少浏览器与 IDE 之间的切换。详情与 issue 见 GitHub;插件也在社区目录列出。

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

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

Xiaoye