前言¶
用 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)中操作。
- 在 profile 的
package.json的dependencies增加(路径改为你本机实际位置):
"dsh-ide-bridge": "file:C:/path/to/dsh-plugin"
- 在 profile 目录安装依赖:
pnpm install
- 在
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'
- 重启 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 输出路径 |
典型用法¶
- 启动 DSH 桌面端并完成上述两侧安装;确认
bridge.json已生成且 IDE 工具窗口能加载精简面板。 - 在 IDEA 中打开目标项目,让 DSH 自动注册工作区;在面板顶部「会话」中新建或切换会话。
- 对话过程中若模型发起需审批的工具调用,在面板底部卡片选择允许一次或拒绝;按需切换只读 / 可写 / 完全权限。
- Plan 模式下讨论方案,切换到 Act 且输入框为空时,可利用自动续跑进入执行;长跑回合中用「插话」修正方向。
- 若启用 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;插件也在社区目录列出。