别再用命令行跑 Pi 了——Mcode 让开源编程 Agent 也有了完整 IDE

0 阅读4分钟

如果你在用 Pi Coding Agent,又嫌它那套纯命令行交互不够直观;或者你早就想用它,却被"要自己搭环境、连模型"劝退——Mcode 值得你花两分钟看看。它是免费开源的 AI 编程桌面客户端,原生内置了 ClaudePi 两个 agent 后端,同一个窗口、同样的体验,切换就在输入框里点一下。

image.png 这篇文章只讲一件事:Mcode 里到底把 Pi 集成到了什么程度,到底"集成"了哪些东西,速度到底快不快。

Pi 是什么,为什么值得用

Pi(@earendil-works/pi-coding-agent)是一个开源的编程 Agent 运行时,核心卖点三个:

  • Swif原生、启动快、流式响应——代码走原生,token 级输出,体感就是"快";
  • 多模型、低成本——走 OpenAI 协议端点,支持 Gemini、Qwen、DeepSeek 等,很多模型比 Anthropic 便宜甚至免费,独立性很强,不绑死一家;
  • 完全开源——不重新实现 agent,自己掌控循环,可扩展。

一句话:又快又便宜的 Agent 引擎。它的短板从来不是能力,而是"没有什么好用的外壳"——命令行交互、Ctrl+C 中断、看不到它到底在干嘛。

这正是 Mcode 补上的位置。

Mcode 是怎么"集成" Pi 的

很多人理解的"集成"是套个壳调 API。Mcode 不是。它做了一层 Provider 抽象AgentProvider),Claude 和 Pi 都实现同一套接口,所有上层的会话、流式渲染、工具审批、计划模式、浏览器,全是 pick one 就通用的。

但这里有个硬骨头:Pi 的 SDK 原生没有 canUseTool 回调、没有 system prompt 扩展点、没有 AskUserQuestion / 计划工具,也不认 Mcode 的 skill 目录。Mcode 是怎么绕过去的?

答案是:一个内联 Extension + 一个 skill 桥接,在 SDK 里"自造"出这些能力

集成清单:它给 Pi 补了这些"插件"

打开源码看 mcodeExtension.ts,你会看到 Pi 侧通过 pi.registerTool / pi.on 补齐了下面这些,量还不少:

1. 工具审批 + 双重安全守卫 Pi SDK 没有审批回调,Mcode 用 tool_call 事件在每个工具执行前拦截:副作用操作(写文件、跑命令、浏览器导航/点击)→ 弹审批框;同时对写路径做项目内守卫(硬编码白名单放行只读操作,如 browser_snapshot/browser_screenshot),从机制上堵住"模型在项目外乱建文件"。

2. 问用户(AskUserQuestion)——模型卡住时需要你拍板,能自主发起带选项的提问,像 Claude 一样。

3. 计划模式(EnterPlanMode / ExitPlanMode)——读代码前先进计划模式只读调研,提交计划给你审批,批准才动手;而且计划模式里允许写文件验证(每个修改仍逐个审批),比 Claude 还灵活。

4. 浏览器全家桶(7 个工具)——这是我最想展开的: browser_list / browser_navigate / browser_snapshot / browser_click / browser_type / browser_evaluate / browser_screenshot。 Pi 能用应用内置浏览器打开网页、拿到结构化页面快照(含可交互元素选择器)、点击按钮、往输入框打字、执行页面 JS、截图。而且截图实时内联进对话流——它看到了什么,你同步看到什么,跟直播一样。

5. Skill 桥接(piSkillBridge)——Pi 的 DefaultResourceLoader 默认只扫 .pi 目录,根本不认 Mcode 的 ~/.mcode/skills。Mcode 写了个桥接,把 skill 目录拉进来,并把 /name 触发语法改写成 Pi 认的 /skill:name——你在 Claude 里积累的 skill,切到 Pi 也能直接用

6. 文件快照与"撤销本轮"——每个修改工具执行前记录文件 before 状态,回合结束可一键回滚,且与 Claude 侧完全同一套实现,历史轮次也能撤。

7. 身份提示词 + token 用量统计——自动注入"我是 Mcode 的 AI 编程助手"身份,平铺 token 消耗可视化。

速度:到底快在哪

Mcode 对 Pi 的渲染是token 级实时流式——不是等整段生成完再刷出来,而是一个字一个字往外冒。配合 Pi 支持的低成本高速模型(比如 Gemini 系),从发起请求到看到内容的过程几乎无感,这也是很多人切到 Pi 后第一反应是"比 Claude 还跟手"的原因。

而且你不用担心"配置麻烦":APII key 在 设置 → 模型配置 里填,Electron safeStorage 加密存储,不用写环境变量、不用手改 ~/.pi/agent/models.json

image.png

适用人群小结

  • 想用 Pi 但受不了纯 CLI 的 → 直接上 Mcode;
  • 两套 agent 都想要、又懒得维护两套环境的 → 一个窗口全搞定;
  • 看重成本、想接 Gemini / DeepSeek 等便宜模型的 → Pi provider 是现成的入口;
  • 写前端的 → 光那个元素选取 + 浏览器截图闭环就值回票价。

项目信息

  • 名称:Mcode(免费、开源、MIT)
  • 技术栈:Electron + React 19 + Claude Agent SDK + Pi Coding Agent SDK
  • 核心特性:三栏 IDE / 实时流式 / 工具审批 / 计划模式 / 内置浏览器 / 文件树 / Monaco 编辑器(30+ 语言)/ Git / 终端 / LSP / 手机端远程控制
  • 🔗 GitHub:github.com/huangbh2020…