RunVSAgent
让 JetBrains IDE 直接运行 VSCode 生态的 AI 编码智能体(Cline/Roo
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 JetBrains IDE 直接运行 VSCode 生态的 AI 编码智能体(Cline/Roo
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:RunVSAgent 在 IntelliJ IDEA 中运行 Cline 智能体的效果示意
2024 年下半年,VSCode 凭借丰富的 AI 编码智能体生态(Cursor、Cline、Roo Code、Kilo Code)迅速占领开发者心智。然而 JetBrains 系 IDE(IntelliJ IDEA、PyCharm、WebStorm 等)凭借深度的代码理解能力、强大的插件生态和定制化体验,依然是大量专业开发者——尤其是 Java/Kotlin 后端、Python 数据科学、前端重度用户——的首选。
这两个生态长期割裂:VSCode 的 AI 工具用不了 JetBrains 的深度代码理解,JetBrains 的老用户也眼馋 VSCode 生态里那些越来越强大的智能体。
微博前端基础设施团队(WeCode-AI)决定解决这个问题。他们没有选择二选一,而是另辟蹊径:在 JetBrains IDE 里虚拟出一个 VSCode 扩展主机,让 VSCode 的编码智能体直接在 JetBrains 里跑起来。这就是 RunVSAgent 的诞生背景。
项目由微博工程师 Naituw 主导架构设计,于 2025 年 7 月 31 日开源,不到一年时间积累了 720+ Stars、101 Forks,且仍在活跃维护(最新提交 2026-06-16)。
RunVSAgent 的本质是一个跨平台 IDE 桥接层,它的核心价值在于:让你在 JetBrains 里用上 VSCode 生态的 AI 智能体,同时享受 JetBrains 带来的代码理解和调试能力。
| 智能体 | 特点 | 集成方式 |
|---|---|---|
| Roo Code | 高级 AI 编程助手,支持代码生成、重构、智能审查 | VSIX 扩展包 |
| Cline | 自主式编码智能体,可创建/编辑文件、执行命令、调用浏览器 | VSIX 扩展包 |
| Kilo Code | 开源 VS Code AI 智能体 | VSIX 扩展包 |
这三个智能体均以标准 VSCode 扩展(.vsix)形式安装,RunVSAgent 负责把它们翻译到 JetBrains 环境里运行。
几乎覆盖 JetBrains 全产品线:IntelliJ IDEA(Ultimate & Community)、PyCharm、WebStorm、PhpStorm、RubyMine、CLion、GoLand、DataGrip、Rider、Android Studio。最低要求 JetBrains IDE 2023.1+ 版本。
RunVSAgent 采用三层架构,每一层职责清晰,通过 RPC 通信串联:
graph TB
subgraph "JetBrains Plugin (Kotlin)"
A[JetBrains Plugin<br/>Kotlin]
B[UI Integration]
C[Editor Bridge]
end
subgraph "Extension Host (Node.js)"
D[Node.js Runtime]
E[VSCode API Layer]
F[Agent Manager]
end
subgraph "VSCode Agents"
G[Coding Agent]
end
A <-->|RPC Communication| D
B --> A
C --> A
E --> D
F --> D
G --> E
插件本体约 120+ 个 Kotlin 源文件,涵盖:
core/:插件核心生命周期管理(ExtensionHostManager、ExtensionProcessManager、RPCManager)actors/:30+ 个 Shape 接口,对应 VSCode 的 MainThread API(编辑器、命令、终端、搜索等)ipc/:自定义 RPC 协议实现(PersistentProtocol、ProtocolReader/Writer、NodeSocket)terminal/:终端集成(ProxyPtyProcess、TerminalInstance、ShellIntegration)webview/:WebView 管理(复用 VSCode 的 WebView UI 渲染)editor/:编辑器状态同步(多文档、Tab 管理、Workspace Edit)整个插件基于 IntelliJ Platform SDK,使用 Kotlin 1.8+,充分利用 Kotlin 协程(kotlinx.coroutines)进行异步 IO 管理。
Extension Host 是整个桥接层的核心,负责运行 VSCode 扩展。它本身并不是 VSCode,而是实现了 VSCode API 兼容层的 Node.js 运行时。
核心源文件:
src/main.ts(7866字节):插件主入口,初始化 Node.js 扩展主机环境src/extensionManager.ts(3911字节):VSCode 扩展的生命周期管理(激活/停用)src/rpcManager.ts(44235字节!):RPC 通信的核心实现,包含完整的 PersistentProtocol 和消息序列化逻辑src/webViewManager.ts:WebView 管理,支持 VSCode 扩展渲染自定义 Web UIExtension Host 的 package.json 依赖了大量 VSCode 内部模块(从 deps/vscode 子模块引入),包括:xterm.js 终端、node-pty 伪终端、spdlog 日志、tree-sitter 语法解析等,这些模块共同支撑了 VSCode 扩展在 JetBrains 中的运行。
Kotlin 层和 Node.js 层之间通过持久化 RPC 协议通信:
PersistentProtocol:自定义二进制消息协议,支持请求/响应/通知三种消息类型,带消息长度前缀ProtocolMessage:消息序列化(定义消息类型、请求ID、payload)MessageIO:分块读写,处理大数据消息的流式传输ResponsiveState:状态管理与心跳检测这套 RPC 机制参考了 VSCode 原生的 ExtHost 协议设计,但做了大量定制以适配 JetBrains 的事件模型。
环境要求:
构建步骤:
git clone https://github.com/wecode-ai/RunVSAgent.git
cd RunVSAgent
./scripts/setup.sh
./scripts/build.sh
# 插件位于: jetbrains_plugin/build/distributions/
构建系统使用 Gradle(Kotlin DSL)配合 npm/pnpm,Windows 环境提供 PowerShell 脚本 ./scripts/run.ps1。
RunVSAgent 大量依赖 JCEF(Java Chromium Embedded Framework)来渲染 WebView 和扩展 UI。在默认 Android Studio 运行时中,JCEF 并未启用,导致插件无法正常加载。
解决方案:下载带 jbr_jcef 后缀的 JetBrains Runtime(来自 github.com/JetBrains/JetBrainsRuntime),然后在 IDE 中通过 Choose Boot Java Runtime for the IDE 切换。
VSCode 智能体(.vsix)需要手动导入:需要先在 VSCode 中下载扩展,导出 .vsix,再通过 RunVSAgent 的 Install VSIX 对话框安装。目前不支持直接从 Open VSX Registry 在线安装。
JetBrains 的终端集成(Shell Integration)与 VSCode 的伪终端实现存在差异,智能体在执行长命令时可能出现输出解析异常。
旧版 JetBrains IDE(< 2023.1)无法使用该插件,部分企业用户可能受限于内部 IDE 版本策略。
| 维度 | 评价 |
|---|---|
| 代码质量 | 高。Kotlin 代码遵循 IntelliJ SDK 规范,有完整的 Shape 接口分层;TypeScript 层复用 VSCode 成熟 API;协议设计参考 VSCode 原生 ExtHost,设计思路清晰 |
| 文档完整性 | 极高。英文 + 中文双语 README,详细的 BUILD.md 构建指南,Known Issues 文档记录已知问题和解决方案 |
| 测试覆盖 | 有单元测试(ExtensionDecouplingTest),但整体测试覆盖度有待提升 |
| 活跃度 | 极高。2026-06-16 仍有提交,62 个 open issues 被积极处理,7 位核心贡献者 |
| 开源合规 | Apache-2.0 License,依赖 notice 文件清晰,包含子模块(deps/vscode、deps/roo-code)License 梳理 |
RunVSAgent 的出现代表了一种新的技术思路:不追求替代,而是桥接。在 AI 编码工具快速迭代的当下,这种思路有几点启示:
1. VSCode 智能体生态已形成事实标准
Cline、Roo Code、Kilo Code 这类工具的增长速度远超传统 IDE 插件,VSCode 的扩展生态已成为 AI 编码智能体的事实标准平台。RunVSAgent 本质上是在承认这个事实标准的前提下做兼容层。
2. JetBrains 的代码理解能力仍有不可替代性
对于大型企业代码库,JetBrains IDE 的索引深度、语义理解和调试能力仍然领先。开发者不愿意放弃这些能力,RunVSAgent 恰好满足了这批既要 AI 智能体、也要好用的 IDE 的强需求。
3. RPC 桥接是跨运行时互操作的好方案
RunVSAgent 的 RPC 协议设计证明了:在不同运行时(Kotlin JVM 与 Node.js)之间,通过精心设计的二进制协议实现跨进程通信是完全可行的,且性能足够支撑实时编辑器交互。
该项目由微博(Weibo Inc.)团队维护,背后是新浪微博海量的前端和后端开发需求在驱动落地,值得持续关注其后续发展。