今年初,开源 Agent 圈里最出圈的项目莫过于OpenClaw龙虾。
它能接入 Telegram、WhatsApp 和 Slack,能记住长期信息,能加载 Skills,也能在电脑或服务器上一直运行。用户看到的是一个随时可以叫来干活的个人 Agent。
OpenClaw 并非从头搭建,它背后还有一个最近热度很高的底座项目:Pi。
Mario Zechner 最初开发 Pi 时,把这套过程拆得很小:一层负责连接不同模型,一层负责维护 Agent 的执行循环,一层负责调用工具和保存状态,最上面再放一个可以直接使用的 Coding Agent。默认工具也很克制,主要就是 Read、Write、Edit 和 Bash。
这套结构后来成为 OpenClaw 的重要起点。Peter Steinberger 等人在 Pi 的思路和部分实现之上,继续向外搭建 Gateway、长期记忆、通信渠道、Skills 和后台运行能力。
Pi 解决的是“模型怎么执行任务”,OpenClaw 解决的是“这个 Agent 怎么长期存在于用户的日常环境里”。
而 Oh My Pi,也就是 OMP,它直接从 Pi 分叉出来,没有像 OpenClaw 那样把重点转向个人 Agent 和消息渠道,而是继续沿着 Coding Agent 往前发展。
Pi 强调核心尽量小,很多能力留给使用者自己扩展(适合折腾);OMP 则把 LSP、浏览器、子 Agent、任务隔离、增强编辑和原生加速等能力直接加了进去,开箱即用。
“ Pi 先把模型变成能够持续调用工具的 Agent; OpenClaw 再让这个 Agent 接入真实生活并长期运行; OMP 则继续把它强化成更完整开箱即用 Coding Agent。
三个项目从同一个起点出发,回答了三种不同的问题: Agent 的核心应该怎么搭,Agent 应该怎样进入用户的生活,以及 Coding Agent 到底能被增强到什么程度。
01|藏在明星 Agent 背后的项目:Pi
先从 Pi 说起。
Pi 现在的仓库已经迁移到 earendil-works/pi。首页定位是:Pi Agent Harness。

Pi 的 README 里把介绍项目最核心的软件包:
pi-ai | |
pi-agent-core | |
pi-coding-agent | |
pi-tui | |
pi-agent-core。 |
pi-ai 解决的是模型适配问题:无论底层使用 Anthropic、OpenAI、Google 还是其他 Provider,上层 Runtime 都可以用相对统一的方式调用。
pi-agent-core 是 Agent 的执行核心。它维护消息状态,调用模型,识别工具请求,执行工具,并把结果重新送回模型。
pi-coding-agent 则把这些底层能力装配成一个能直接使用的 Coding Agent。
pi-tui,它负责的是用户如何在终端里看见消息流、工具调用、Diff 和执行结果。
你会发现,Pi 的思路和很多“先把所有功能都堆进去”的项目不一样。它没有先做一个巨大的“全能 Agent”,而是考虑能力才真正属于 Agent 的核心。
“ 如果我要让别人能够基于这套东西造 Agent,那么最小的、可复用的 Agent Harness 应该长什么样?

一方面,你当然可以直接把它当成 Coding Agent 去用;另一方面,它的真正价值又不只是“你能不能用它改代码”,而是别人能不能把它嵌进自己的产品、继续往上造更复杂的系统。
OpenClaw 和 Pi 的关系,恰恰说明了这一点。OpenClaw 的第三方声明里明确写着,部分实现由 Pi / pi-mono 改造而来,同时 OpenClaw 也仍然依赖 @earendil-works/pi-tui 做终端 UI 渲染。
02|Pi :克制与Agent 时代的底板
Pi 最迷人的地方,不是“功能最多”,反而是它的克制。
它的核心设计是:
“ 能作为扩展实现的东西,就不一定要被写死在内核里。
Pi 当前一共注册了 read、bash、edit、write、grep、find 和 ls 七个内置工具,但 SDK 和默认会话通常只启用最基础的四个:read、bash、edit、write。其他工具可以按需启用。一个完整的 Coding Agent 闭环:
read:读取项目bash:搜索、构建、测试和执行edit:精确修改已有内容write:创建或覆盖文件这四个工具几乎把一个 Coding Agent 最核心的动作都覆盖了:读文件、写文件、精确修改、执行命令。作者的判断很明确:主流前沿模型对 Coding Agent 的工作方式已经足够熟悉,不需要再往默认系统里塞一大堆规则和工具面。
这种“默认先做少”的思路,带来两个直接结果。
第一,上下文压力压低。 模型不用先读一堆复杂约束,更多 Token 可以留给真正的项目代码和当前任务。
第二,它把控制权交回给开发者。 Pi 并不假设所有人都应该用同一套 Agent 工作流,给了开发者自己定义产品的空间。
Pi 把扩展入口留出来,如果你需要更多能力,可以加自己的工具,可以改上下文压缩方式,可以接管 Bash 执行,也可以给它做自己的命令和快捷键。
判断一个开源项目有没有成为“底座潜力股”,有个朴素的标准:除了它自己之外,有没有别人在它上面继续搭东西。
Pi 现在已经显露出这种特征。
一边是 OpenClaw 这样的项目,会直接吸收 Pi 的实现和组件;另一边则是社区层面的外溢:有人做 VS Code 里的 Pendant,有人为 Emacs 做单独前端,也有人围绕 Pi 做桌面端和移动端。
03|Oh My Pi:Pi 的增强版

如果说 Pi 的关键词是克制,那么 Oh My Pi 的关键词就是预装。
Pi 默认只提供 read、write、edit、bash 四个工具,把剩余能力留给开发者扩展;OMP 则选择了完全相反的方向:把真实开发中经常用到的代码理解、调试、执行、多 Agent 和审查能力,直接做进产品。
它对自己的定义非常准确:
“ A coding agent with the IDE wired in.
Pi 更像一块留着接口的底板,OMP 则已经把 IDE、调试器、执行环境和协作系统接好,装上就能用。
OMP 在 README 中列出的能力非常激进:40 多个模型 Provider、32 个内置工具、14 个 LSP 操作、28 个 DAP 操作,以及约 5.5 万行 Rust Core。这已经不是轻量 Harness 的设计,而是一套面向真实代码库的重型 Coding Agent。
readwrite、edit、bash | ||
当然OMP 最核心的增强,是把 Coding Agent 几个薄弱环节重新做了一遍。
第一个杀手锏: LSP 和 DAP
传统 Coding Agent 主要面对文本。它读取文件、搜索字符串,再根据上下文推测符号之间的关系。
OMP 把 LSP 接进了 Agent 工具层。模型可以直接查符号定义、查找引用、读取诊断、执行重命名和代码操作。它不再只能看到“这一行写了什么”,还可以利用 IDE 已经计算出来的代码语义。
DAP 则把调试器接给了 Agent。面对崩溃、异常状态或者线程问题,模型可以设置断点、单步执行、查看栈帧和变量,不必继续依赖“加几行日志再猜一次”。
这会产生一个本质差别:
“ 普通 Agent 是对着代码文本工作,OMP 开始对着 IDE 理解出的程序结构和运行状态工作。
第二个杀手锏:Hashline Edit
Coding Agent 经常不是不会写代码,而是无法把修改准确地落进代码。
传统字符串替换非常脆弱。空格不同、目标片段重复、文件刚刚被其他操作修改,都可能让编辑失败。模型只能重新读取文件、重新组织补丁,再消耗一轮上下文和 Token。
Hashline Edit 给文件内容附加稳定锚点,模型根据锚点指定修改位置。如果文件发生了变化,原有锚点会失效,系统可以在错误补丁写入之前拒绝操作。
它解决的是 Coding Agent 核心却不显眼的问题:
“ 如何让模型第一次生成的修改,稳定地写到正确位置。
这种底层编辑成功率比再增加一个花哨工具更直接地决定实际体验。
第三个杀手锏:持久执行内核
OMP 提供持久化的 Python 和 Bun 环境,而且执行环境还能反过来调用 Agent 工具。
Agent 可以读取数据、在 Python 中完成处理、继续调用搜索和文件工具,再把结果交给后续步骤。变量和中间状态能够持续存在,不需要每轮重新初始化,也不必把全部计算过程都翻译成自然语言塞回上下文。
对于 CSV 分析、日志处理、批量修改、数据可视化和复杂中间计算,这种设计非常实用。
第四个杀手锏:多 Agent 直接产品化
Pi 允许开发者通过 Extension 或 SDK 自己实现 Subagent;OMP 则直接把 Subagent、Advisor、Review 和协作能力做进默认产品。
主 Agent 可以把代码调查、方案比较、测试分析和代码审查拆给不同 Agent,并行执行后再汇总结果。一个 Agent 负责实现,另一个 Agent 可以独立 Review,而不是让同一个模型既当运动员又当裁判。
“ 读取代码时加入语义,修改代码时加入锚点,运行代码时加入持久内核,排查问题时加入调试器,复杂任务中加入多 Agent。
Pi 和 OMP 的关系:内核与增强发行版
Pi 负责定义一套干净、可拆分的 Agent 结构。OMP 负责证明这套结构可以被推成多强的完整产品。
Pi 更像 Linux 内核,OMP 更像已经装好桌面、驱动和常用软件的发行版。
04|Pi 的生态外溢

Pi 是否真的是 Harness,要看有没有人真的拿它去造别的东西。
OMP 是最直接的一种改法:保留 Pi 的基本骨架,然后向上补齐 IDE、调试、多 Agent、执行环境和编辑优化,把它做成更重的 Coding Agent。
OpenClaw 展示了1另一条路线。它吸收 Pi / pi-mono 的部分实现,也继续使用 Pi 的终端组件,但最终做出来的已经不是单纯的 Coding Agent,而是能够接入消息渠道、长期运行、加载 Skill 和处理个人任务的 Agent 系统。
Pendant 和 Emacs 前端则保留 Pi 的 Runtime,重新设计产品入口。Agent 不再只运行在原来的终端界面中,而是进入 VS Code 或 Emacs。
还有项目会把 Pi 嵌入桌面端、浏览器或者云端运行环境。它们改变界面、运行位置和业务目标,却不需要重新实现 Agent Loop。
这些项目共同说明了一点:
“ Pi 可以被强化,可以被嵌入,可以被换壳,也可以被改造成完全不同的 Agent 产品。
这才是 Harness 与普通 CLI 的真正区别。普通 CLI 的价值主要是“拿来使用”,Harness 的价值则包括“拿去继续制造”。
05|怎么折腾 Pi 和 OMP?

可以先 OMP 当成产品研究。
不要只让它修一个小 Bug,而是刻意测试它最有区别度的能力:让它用 LSP 完成跨文件重命名,让它用调试器定位运行时错误,让 Subagent 并行分析一个陌生仓库,再让 Review Agent 检查修改结果。
这样才能真正理解,一套“IDE wired in”的 Agent 与普通文本型 Coding Agent 到底差在哪里。
体验过完整形态以后,再回头读 Pi。重点不是从头通读整个仓库,而是沿着一次完整任务追踪调用链:
用户输入 ↓Agent Session ↓模型生成 Tool Call ↓工具执行 ↓结果写回上下文 ↓模型继续下一轮先看 pi-ai 如何统一不同模型,再看 pi-agent-core 如何驱动 Agent Loop,最后看 pi-coding-agent 如何把工具、会话、压缩和界面组装成完整 CLI。
如果目标是做自己的 Agent,通常没有必要立刻 Fork 整个 Pi。更合理的方式是保留 Pi 的 Runtime,在上面替换工具、界面和业务流程。
例如,医疗 Agent 不应该长期停留在 read、write、bash,而应该逐渐拥有真正的行业动作:
get_patient_casequery_pacsload_dicom_seriesrun_segmentationmeasure_anatomygenerate_surgical_planrequest_doctor_reviewPi 负责 Tool Calling、会话状态和 Agent Loop,你负责定义这个行业里什么数据可以读取、什么动作可以执行、什么结果必须审核。
可以把最终结构理解成:
自己的产品界面 ↓自己的工作流与审核机制 ↓自己的行业 Skill 和工具 ↓Pi Agent Runtime ↓不同模型 Provider“ 先用 OMP 看见一个完整 Agent 能做到什么,再用 Pi 理解这套能力是怎样被组织起来的,最后把 Pi 的通用骨架换成自己的业务工具和产品界面。
OMP 适合让你迅速获得一套强力 Coding Agent,Pi 则适合让你真正获得制造 Agent 的能力。
参考链接
Pi 仓库:https://github.com/earendil-works/pi[1] Pi 官网:https://pi.dev[2] Oh My Pi 仓库:https://github.com/can1357/oh-my-pi[3] OpenClaw 仓库:https://github.com/openclaw/openclaw[4]
往期推荐
从 Prompt 到 Graph:AI 工程范式五次演进
Claude 删掉 80% 系统提示词给了我们什么启示?
27k Star项目Orca:把多个Coding Agent放进同一个工作台
2026 WAIC 论坛:Richard Sutton 如何重新定义下一代 Agent
Skill 推荐 | 深度调研?PPT制作?试试这个超强Skill合集
“ 大家好,我是小柴,C9 计算机本硕,做过产品,现在是 AI 算法工程师,持续跟进和分享 AI 资讯、智能体、开源实测、经验分享、个人工具分享等内容,欢迎加好友进群交流,您的点赞、关注和分享是我持续创作的动力。
引用链接
[1]https://github.com/earendil-works/pi
[2]https://pi.dev
[3]https://github.com/can1357/oh-my-pi
[4]https://github.com/openclaw/openclaw
夜雨聆风