把 DeepSeek Harness 智能体嵌进 IntelliJ IDEA —— 类 Qoder 的 AI 编程插件

【开源】把 DeepSeek Harness 智能体嵌进 IntelliJ IDEA ------ 类 Qoder 的 AI 编程插件

标签:IntelliJ IDEA / 插件开发 / DeepSeek / AI 编程 / MCP / 开源

项目地址(求 Star ⭐):https://github.com/tieJiangW/deepseek-harness-idea


一、为什么做这个插件?

日常用 AI 辅助编码时,你是不是也遇到过这些割裂感:

  • 🔄 来回切换:在浏览器里跟智能体对话,在 IDE 里写代码,窗口切来切去;
  • 👻 上下文盲区:智能体不知道你当前选了什么代码、打开了哪些文件、项目结构长什么样;
  • 🛠 改动不可控:智能体改完文件,你只能自己去 diff,没有原生的审查/还原入口;
  • 📤 传递麻烦:想把某段代码交给智能体,得复制粘贴,还得打字解释"这是哪里的代码"。

DeepSeek Harness 是 DeepSeek 的智能体工作台(dsh),本身是浏览器形态。与其把用户赶去浏览器,不如把 Harness 请进 IDE。

于是就有了这个开源插件 ------ DeepSeek Harness for IntelliJ IDEA :把完整的 DeepSeek Harness Web UI 嵌入 IDEA 工具窗口,并通过 MCP 桥接 + 原生集成 把 IDE 能力交给智能体,提供类 Qoder 的 AI 编程体验

声明:本插件为个人开源项目,非 DeepSeek 官方产品;DeepSeek Harness 与相关商标归其各自所有者。


二、核心特性

1️⃣ 内嵌 Web UI,体验与浏览器版一致

插件用 JCEF(JetBrains 内置 Chromium)在工具窗口里加载 dsh Web UI,对话、会话管理、目标(Goal)、工作流(Workflow)全套功能直接可用,不用再开浏览器

2️⃣ 自包含运行时,开箱即用

Node.js 22 和 DeepSeek Harness 运行时(@deepseek-ai/dsh@0.1.0-rc.7随插件打包 (zip 约 98MB),首次打开工具窗口自动解压(约 1 分钟),用户无需安装 Node、无需联网下载任何东西

3️⃣ 以项目为工作区

工具窗口打开时,插件自动把当前项目目录注册为智能体工作区(调用 dsh 内部 RPC,幂等)。智能体可以读取、新建、修改项目里的文件,做完的活就在你的项目树里。

4️⃣ MCP 桥接:把 IDE 上下文交给智能体

插件内置一个 MCP Server(streamable-http),通过 ide.yml patch 注入 dsh 的 mcp-client,智能体获得 6 个 mcp__ide__* 工具:

工具 能力
ide_get_selection 读取当前编辑器选中代码、文件路径、语言
ide_get_open_files 列出当前打开的文件
ide_get_project_tree 获取项目结构树
ide_get_sent_selection 拉取最近"发送到 DSH"的代码(兜底通道)
ide_open_file / ide_reveal_file 在 IDE 中打开 / 定位文件

你可以直接问智能体:"当前打开的文件是什么?",它通过 MCP 工具就能答上来。

5️⃣ 一键发送选中代码

编辑器里选中代码 → 右键 "Send Selection to DSH" → 输入框自动填入紧凑文件引用 @路径#L1-14,光标落在下一行,直接打字提问。完整代码会写入 sent-selection 队列,即使注入失败也能被智能体拉取(剪贴板兜底),上下文绝不丢失。

6️⃣ 改动审查与还原(Diff)

智能体改完文件,打开 Review changes 面板:基线快照对比当前盘面,列出修改/新增/删除 三类改动,每文件可看原生 Diff,支持还原单个 / 还原全部 / 忽略 / 重新基线。AI 的活,你说了算。

7️⃣ 生命周期管理,不留后患

每项目一个 dsh 实例(并发上限 3),项目关闭 / IDE 退出自动终止进程树;dsh 崩溃自动退避重启(最多 3 次)并弹通知;DSH Log 标签页可查看进程输出,方便排查。

8️⃣ 中英双语

插件 UI 跟随 IDE 语言(English / 简体中文),面向国内外用户。


三、快速上手

环境要求

  • IntelliJ IDEA Community / Ultimate 2024.1 -- 2026.2 (build 241 -- 262;v0.1.1 起支持至 2026.2,当前支持 Windows 10/11 x64
  • DeepSeek API Key(deepseek-chat / deepseek-reasoner

安装(3 步)

  1. 下载插件包:Releases 页面 或直链:https://github.com/tieJiangW/deepseek-harness-idea/releases/download/v0.1.1/deepseek-harness-idea-0.1.1.zip
  2. IDEA 中打开 Settings → Plugins → ⚙ → Install Plugin from Disk...,选择下载的 zip,重启 IDE。
  3. 打开右侧 DeepSeek Harness 工具窗口(首次打开自动解压运行时,耐心等约 1 分钟),在 Settings → Tools → DeepSeek Harness 填入 API Key(支持从 ~/.dsh 一键导入),开始对话。

典型使用场景

text 复制代码
1. "给 UserService 加一层缓存"      → 智能体读项目、改代码 → 你在审查面板看 diff → 决定保留/还原
2. 选中一段代码 → 右键发送 → "这段代码有什么问题?" → 智能体基于上下文回答
3. "当前打开的文件是什么?"          → 智能体经 MCP 工具准确回答
4. "新建 src/Hello.java"            → 文件出现在项目树,可直接打开

四、架构原理(一张图看懂)

text 复制代码
┌──────────────── IntelliJ IDEA 进程 ────────────────┐
│ 工具窗口: JCEF 浏览器 ──loads──► http://127.0.0.1:<port> │
│ IDE Bridge Server(127.0.0.1 + 随机 token 鉴权)        │
│ 快照 & 审查管理器(基线快照 → Diff → 还原)              │
│ DshProcessManager(Node 子进程生命周期/端口发现/重启)    │
└──────────────────────┬───────────────────────────────┘
                       │ node dsh/bin.js --profile web --patch ide.yml
                       ▼
        Node 子进程(dsh):Web UI + mcp-client(ide)
                       ▲
                       │ streamable-http
        MCP Server(mcp-ide-server.mjs,6 个 ide_* 工具)
                       │ fetch + token
                       ▼
              IDE Bridge Server(读 VFS/PSI)

关键技术点(实测踩坑后固化):

  • 全随机端口(--port 0),无端口冲突;所有服务仅绑定 127.0.0.1,安全兜底;
  • MCP patch 用 cordis insert: 语法注入,dsh 版本锁定 0.1.0-rc.7
  • 基线快照带忽略规则(.git/node_modules/build/out 等)+ 单文件 1MB 上限 + 200MB LRU,大项目也不慌;
  • 45 个自动化测试(43 单元 + 2 真实 dsh 冒烟)守护核心链路。

五、开源信息

内容
仓库 https://github.com/tieJiangW/deepseek-harness-idea
许可证 MIT(可自由商用/修改/分发)
发布版本 v0.1.1(兼容修复:支持至 IDEA 2026.2 / build 262)
插件包 deepseek-harness-idea-0.1.1.zip(≈98MB,含内嵌运行时)
技术栈 Kotlin / IntelliJ Platform SDK 2024.1--2026.2 / JCEF / MCP SDK / Gradle

文档齐全:docs/ 目录下含 PRD、设计文档、验收清单、里程碑评审、开发知识库(中文),维护者友好。

构建(贡献者看这里)

bash 复制代码
# 要求 JAVA_HOME = JBR 21(IDE 自带),JDK 17 无法通过 instrumentCode
gradlew buildPlugin        # 打包插件 zip → build/distributions/
gradlew test               # 全量测试(45 个;冒烟需 DSH_IDEA_RUNTIME 环境变量)

六、已知限制与规划

当前限制

  • 仅支持 Windows 10/11 x64(macOS/Linux 规划中);
  • dsh 输入框暂不支持原生"文件引用 chip"(上游能力缺失),当前用紧凑引用方案替代;
  • PRD §7 的手工验收项(真实 API Key 对话、审查面板 UI 等)待真实 IDE 会话闭环。

近期更新(v0.1.1)

  • 兼容 IntelliJ IDEA 2026.2(build 262) :此前 until-build 仅到 2025.1(251.*),新版 IDE 安装即报"版本不兼容";已放宽并对 2026.2 SDK 做前向编译验证;
  • 移除对平台自带 Gson 的依赖(JetBrains 正逐步移出),JSON 序列化改为自研 JsonCodec,更稳更轻;
  • 测试 36 → 45(新增 JsonCodec 9 例),全部通过。

后续规划

  • v0.6:验收闭环、"发送当前文件"动作、版本号对齐;
  • v0.7:IntelliJ Gradle 插件 2.x 升级、dsh 版本升级评估、单实例多工作区;
  • v1.x:Marketplace 上架评估、macOS/Linux、内联补全等 AI 原生体验。

七、结语

这个插件从零写起:打包 Node + dsh 运行时、JCEF 嵌入、MCP 桥接、快照 diff......每一步都踩过坑也填了坑,最终把"IDE 里的 AI 编程"这条链路完整打通并开源出来。

如果你觉得有用,欢迎:

  • 点个 Star(对我最大的鼓励)
  • 🐛 提 Issue 反馈 bug / 需求
  • 🤝 提 PR 一起完善

项目地址:https://github.com/tieJiangW/deepseek-harness-idea

如果文章对你有帮助,欢迎点赞、收藏、转发~ 也欢迎在评论区交流 IDEA 插件开发 / MCP 桥接的经验。

相关推荐
PhotonixBay1 小时前
从粗糙度到三维形貌:激光共聚焦显微镜实现微米级表面分析
图像处理·人工智能·测试工具·算法
欧特克_Glodon1 小时前
OpenCV计算机视觉开发入门与实践<十六>:图像边框和图像轮廓
c++·人工智能·opencv·计算机视觉
Tokenge1 小时前
AI前沿日报 | 2026-08-20:AI行业进入“安全、算力、隐私、落地”四线并跑阶段
人工智能·安全
ZYJCSZKJ1 小时前
面向东盟多语种场景的AIGEO与AI数字人融合架构及区域实践
人工智能·架构·#ai数字人·aigeo
Raas1001 小时前
MAI Gateway (魔芋企业级AI网关) 私有化部署全攻略:AI网关怎么部署?附架构图
人工智能·安全·大模型·gateway·ai网关·mai gateway
Lucifer三思而后行1 小时前
我准备写 26 篇文章,带 DBA 系统学一遍 AI
数据库·人工智能·dba
JavaPub-rodert1 小时前
Codex 从 0 开始:安装 ChatGPT,并接入 DeepSeek
人工智能·gpt·chatgpt
每日新鲜事1 小时前
北大医院引入WPS Comate智能助手,加速医院管理智能化进程
大数据·人工智能·wps
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(45):ReMemR1——让长期上下文 Agent 可以回溯历史记忆进行非线性推理
论文阅读·人工智能·学习·开源·github