如果你在用 Pi Coding Agent,又嫌它那套纯命令行交互不够直观;或者你早就想用它,却被"要自己搭环境、连模型"劝退——Mcode 值得你花两分钟看看。它是免费开源的 AI 编程桌面客户端,原生内置了 Claude 和 Pi 两个 agent 后端,同一个窗口、同样的体验,切换就在输入框里点一下。
这篇文章只讲一件事: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。
适用人群小结
- 想用 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…