Operator插件让VS Code 变成多智能体协作平台

Operator插件能让VS Code 变成一个可被 AI 智能体远程操控的 IDE!使 AI 助手能够通过嵌入式卡终端同时控制多个项目。

主要用例:多项目人工智能编排
通过单个终端即可控制在不同项目中运行的 Claude Code(或其他 AI 代理) 。这是其核心功能——在您的工作区内协调多个 AI 会话。

VS Code + MCP接口 = AI可以直接“操作IDE”。

工作原理

┌─────────────────────────────────────────────────────────────────┐
│  Dashboard with Project Cards                                    │
├─────────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │ cerebroapp   │  │   Postura    │  │ bullfighter  │          │
│  │ [Claude]     │  │   [zai]      │  │   [idle]     │          │
│  │ ▶ Running    │  │   ▶ Running  │  │              │          │
│  │ Terminal 1 ◀─┼──┼── Control ───┼──┼── from here  │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
└─────────────────────────────────────────────────────────────────┘

图的最外层是一个 Dashboard with Project Cards,也就是你的项目控制面板。

  • 每个项目对应一个卡片(Card),显示项目名称和当前状态。
  • 项目卡片是独立的单元,你可以在每张卡片上查看、控制或切换任务。
  • Dashboard 的核心作用是 集中管理多个项目和智能体。

图里有三个卡片:

cerebroapp [Claude]

  • 表示一个叫 cerebroapp 的项目,由 Claude 智能体管理。
  • 状态显示 ▶ Running,说明 AI 已经在操作。
  • 下方有 Terminal 1,表示这个项目的命令行会话正在运行,AI可以在里面执行命令或查看日志。

Postura [zai]

  • 项目名 Postura,由名为 zai 的智能体负责。
  • 状态同样是 ▶ Running,说明它正在活动中。
  • 可以通过卡片直接访问控制或终端。
bullfighter [idle]
  • 项目 bullfighter 当前处于空闲状态 [idle],AI 没在操作。
  • 但卡片上仍然显示 Control from here,意味着你可以从这个卡片启动终端或命令控制。


控制逻辑

Terminal 直接绑定项目

  • 每个运行中的项目会绑定一个或多个终端(Terminal 1)。
  • AI 可以直接通过终端执行任务,比如编译、测试、运行脚本。
Control from here
  • 对 idle 项目或者正在运行的项目,你都可以点击卡片上的控制区域,启动命令、切换任务或者激活智能体。
  • 这是 Dashboard 的核心设计理念:人类可以随时干预 AI,也可以直接让 AI 自主操作。
智能体状态
  • Running 表示智能体活跃中,正在执行 MCP 指令。
  • Idle 表示智能体空闲,但仍可接受任务。
状态和终端绑定在一起,让管理更直观。


操作流程示例:
假设你在 Dashboard 上操作 cerebroapp:
点击卡片 → Terminal 1 打开
查看当前任务状态 → 可能是正在编译或运行测试
如果需要 AI 修复 bug:
  • 直接下达提示词(Prompt)
  • AI 在 Terminal 中执行修改、构建、测试
完成后,Dashboard 会更新 Running / idle 状态


核心价值
  • Dashboard 把 多个项目 + 多个智能体 + 多终端 的复杂场景整合到一个界面。
  • 人类可以随时 监控、干预或切换项目,无需打开多个 VS Code 窗口或手动操作终端。
  • 每个项目卡片都是 AI 操作的入口和状态展示,让智能体控制可视化。


一、核心思想:让AI直接控制VS Code

这个插件实现了一件事:在本地启动一个 MCP(Model Context Protocol)服务器,把 VS Code 的能力暴露给 AI。

默认启动:


http://localhost:9002/mcp

任何支持 MCP 的 AI,比如:

* Claude Code
* Codex
* 自定义智能体
* Agent 框架

都可以调用这个接口。

于是 AI 就能:

* 打开文件
* 修改代码
* 运行终端
* 启动调试
* 获取错误信息
* 管理项目

简单说:AI从“聊天助手”升级成“IDE操作者”。

Xerebro 的跨项目终端控制示例

这说明了 AI 或你自己可以直接操作另一个项目的 VS Code 终端。我们拆开来看它在做什么:

Step 1:列出所有项目

bash
curl -s -X POST http://localhost:9002/mcp -H "Content-Type: application/json" -d '{
  "jsonrpc":"2.0","id":1,"method":"tools/call",
  "params":{"name":"vscode_dashboard_list_projects","arguments":{}}
}'

* 这个请求会返回 Dashboard 上的所有项目卡片信息。
* 你能看到每个项目的名称、状态(Running / idle)、绑定的终端等。
* 核心作用:确定你想操作的是哪一个项目。


 Step 2:列出项目的活跃终端

bash
curl -s -X POST http://localhost:9002/mcp -H "Content-Type: application/json" -d '{ "jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"vscode_card_terminals_list","arguments":{}} }'

* 返回每个项目下正在运行的终端列表。
* 每个终端都有一个 clientId,这是后续发送命令的目标标识。
* 核心作用:告诉你 AI 或 curl 请求要控制哪个终端。

Step 3:向另一个项目的终端发送命令

bash
curl -s -X POST http://localhost:9002/mcp -H "Content-Type: application/json" -d '{
  "jsonrpc":"2.0","id":1,"method":"tools/call",
  "params":{"name":"vscode_card_terminal_send","arguments":{
    "clientId":"client-2-1769939250969",
    "text":"echo Hello from another project!"
  }}
}'

* 指定 clientId,发送任意命令(这里是 echo Hello from another project!)。
* AI 或脚本可以控制另一个项目的终端,就像你亲自在那个 VS Code 终端里敲命令一样。
* 这一步体现了 真正的跨项目操控能力

Step 4:读取终端输出

bash
curl -s -X POST http://localhost:9002/mcp -H "Content-Type: application/json" -d '{
  "jsonrpc":"2.0","id":1,"method":"tools/call",
  "params":{"name":"vscode_card_terminal_read","arguments":{
    "clientId":"client-2-1769939250969",
    "lines":50
  }}
}'

* 根据 clientId 读取终端的输出。
* lines 参数控制读取多少行内容。
* 这样你能获取命令执行结果,进一步做分析或触发下一步操作。



核心概念总结

1. Dashboard = 项目管理 + 终端管理
2. clientId = 每个终端的唯一标识
3. vscode_card_terminal_send/read = 对终端的完整操控

效果就是:

* AI 可以跨项目发送命令
* AI 可以跨项目读取输出
* 完全自动化,无需人工切换窗口

整个控制链路:Dashboard → Project Card → Terminal → Command → Output → AI/人类



完全正确,这就是 Xerebro 展示的 多智能体跨项目协调能力。把它拆开解释一下,你会更清楚它的魔力所在。


真实场景

你有两个项目卡片:
* Project A:当前终端里运行着 Claude Code(AI 1)
* Project B:另一个项目里也在运行 Claude(AI 2)

目标:让 AI 1 直接操控 AI 2,从而实现跨项目、多智能体协作。


Step 1:启动另一个项目的 Claude

python
vscode_card_terminal_send(clientId="client-2-xxx", text="zai")

* clientId 指向 Project B 的终端
* 发送 zai 命令启动 Claude
* 核心:AI 可以远程控制另一个项目启动自己的智能体

Step 2:给它发送消息

python
vscode_card_terminal_send(clientId="client-2-xxx", text="hi")

* AI 1 或人类直接向 Project B 的 Claude 发消息
* 这就是 跨智能体的即时交互
* 核心:终端充当智能体之间的通信通道

 Step 3:读取响应

python
vscode_card_terminal_read(clientId="client-2-xxx", lines=30)

* 从 Project B 的终端获取输出
* 你会看到类似:


Hi! How can I help you with Postura today?

* 说明 AI 2 已经接收消息并做出回应



核心价值

1. 多智能体协作

   * 一个智能体可以控制、协调另一个智能体
   * 可用于跨项目任务分工,比如:

     * AI 1 负责前端
     * AI 2 负责后端
     * AI 1 调用 AI 2 完成后端任务

2. 终端作为桥梁

   * 所有操作都是通过终端执行命令
   * 完全自动化,无需人工切换窗口

3. 可扩展到任意项目/智能体

   * 只要有 clientId,就能跨项目控制终端
   * 可以实现复杂的 Agent 编排(orchestration)



总结一句话:

这套机制把VS Code 变成多智能体协作平台:
每个项目的终端就是智能体接口,AI 可以跨项目发送命令、接收结果,形成真正的多项目、多智能体协同工作流。



二、插件提供的能力(其实非常猛)

这个插件提供 30+ MCP工具,分成7大类。

1 文件操作
AI可以直接操作文件例如:


vscode_open_file
vscode_read_file
vscode_create_file
vscode_save_file

典型场景:AI自动生成代码文件。

2 编辑器操作
直接编辑代码 例如:


vscode_insert_text
vscode_replace_text
vscode_get_selection
vscode_goto_line

AI可以:
* 插入代码
* 修改代码
* 跳转函数
* 读取选区

等价于一个真人在IDE里打字。

3 代码智能

直接调用 IDE 的语义能力:


vscode_get_definition
vscode_find_references
vscode_get_symbols
vscode_get_diagnostics

AI可以:

* 找函数定义
* 找引用
* 读取错误
* 分析代码结构

这一步是 真正让智能体“理解代码库”

4 终端控制

AI可以操作 Terminal:


vscode_terminal_create
vscode_terminal_execute
vscode_terminal_send

AI可以:

* 运行 npm
* 编译项目
* 跑测试
* 执行脚本

基本等于:AI在你的电脑里开了个 shell。

5 任务系统

AI可以触发 VS Code 的任务:


vscode_run_task
vscode_run_command

例如:

* build
* deploy
* lint

6 调试能力

AI甚至可以:


vscode_debug_start
vscode_set_breakpoint
vscode_debug_continue

也就是:AI帮你调试程序。



7 Dashboard

插件还做了一个 项目控制面板:AI可以管理多个项目:


vscode_dashboard_list_projects
vscode_dashboard_add_project

甚至还能创建 tmux终端