news 2026/8/22 10:12:56

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
把 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.ymlpatch 注入 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 / Ultimate2024.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.2/deepseek-harness-idea-0.1.2.zip
  2. IDEA 中打开Settings → Plugins → ⚙ → Install Plugin from Disk…,选择下载的 zip,重启 IDE。
  3. 打开右侧DeepSeek Harness工具窗口(首次打开自动解压运行时,耐心等约 1 分钟),在Settings → Tools → DeepSeek Harness填入 API Key(支持从~/.dsh一键导入),开始对话。

典型使用场景

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

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

┌──────────────── 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 用 cordisinsert:语法注入,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.2.zip(≈98MB,含内嵌运行时)
技术栈Kotlin / IntelliJ Platform SDK 2024.1–2026.2 / JCEF / MCP SDK / Gradle

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

构建(贡献者看这里)

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

六、已知限制与规划

当前限制

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

近期更新(v0.1.1)

  • 兼容 IntelliJ IDEA2026.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 桥接的经验。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 10:09:58

大电流恒流电源:可调电流源在短路温升试验中的应用【济南能华机电】

引言 在现代电力设备、新能源汽车、轨道交通及工业控制领域&#xff0c;短路温升试验是验证电气设备安全性与可靠性的关键环节。该试验要求电源能够在长时间内提供稳定、精确的大电流&#xff0c;以模拟设备在短路故障下的温升情况。济南能华机电设备有限公司&#xff08;以下简…

作者头像 李华
网站建设 2026/8/22 10:06:41

MTEX快速上手:Matlab免费织构分析工具箱实用指南

MTEX快速上手&#xff1a;Matlab免费织构分析工具箱实用指南 【免费下载链接】mtex MTEX is a free Matlab toolbox for quantitative texture analysis. Homepage: 项目地址: https://gitcode.com/gh_mirrors/mt/mtex 材料人做织构分析&#xff0c;常被两件事卡住&…

作者头像 李华
网站建设 2026/8/22 10:05:05

C#运动控制开发框架源码(WinForm+GDI+流程图控件),支持PLC式逻辑编程与机器视觉入门教程

温馨提示&#xff1a;文末有联系方式 产品核心定位 本是一套面向工业自动化领域的C#开源运动控制开发框架&#xff0c;专为需要快速构建设备控制软件的工程师与开发者设计。 技术架构亮点 采用WinForm作为主界面框架&#xff0c;结合原生GDI实现高性能实时状态渲染与轨迹可视…

作者头像 李华
网站建设 2026/8/22 10:01:01

NumPy 零基础学习笔记

前言学 Python 做数据分析、机器学习&#xff0c;绕不开 NumPy。Python 自带的列表做大批量数值运算效率很低&#xff0c;NumPy 底层是 C 写的&#xff0c;专门用来处理多维矩阵数据&#xff0c;Pandas、Matplotlib、很多机器学习库底层都依赖它。很多同学刚上手会被一堆函数搞…

作者头像 李华
网站建设 2026/8/22 9:57:36

Spring Boot集成Apollo配置中心:配置不生效与动态刷新问题深度解析

最近在开发一个分布式配置中心项目时&#xff0c;遇到了一个非常棘手的问题&#xff1a;应用启动后&#xff0c;从 Apollo 配置中心读取的配置值始终是默认值&#xff0c;配置变更也无法实时刷新。排查过程就像在西部荒漠里开一辆“最能蠕动的三轮车”——缓慢、颠簸且充满不确…

作者头像 李华