ARTICLE · 1126446
Pi 1.0 升级避坑:OpenClaw 背后的引擎,Codemode 省 token
如果你这几天在跟 Pi 的版本更新,会发现它已经不是上个月那个样子了:从 10 月 1 日的 v1.0.0 到 10 月 4 日的 v1.0.2(时间均为 UTC),不到四天连发三个版本。这条节奏背后不是往 harness 里堆功能,而是把每一轮对话的固定开销压下去、把配置精度提上来。
一、 三版连发:1.0 之后这三天改了什么
在选型视角下,版本号跳跃往往意味着底层逻辑在动。Pi 1.0 这三版的主线很清楚:围绕「极简与可扩展」做精细化切割。
- v1.0.0(UTC 10-01):定型
。TUI 默认切成全屏,想保留终端滚动条可以设 tuiMode: "regular";Codemode 重写提示层;/login补上 Radius 与 Anthropic 复制码登录;MCP OAuth 整体加固。 - v1.0.1(UTC 10-03):MCP 走进项目
。MCP 配置从「全局」推进到「项目级覆盖」, .pi/mcp.json让你在不同项目里定义不同的工具暴露权限,解决公司全局配置与单个项目需求打架的问题。 - v1.0.2(UTC 10-04):调参粒度
。补上 samplingParamsByThinkingLevel,按思考层级分别设采样参数。
Pi 也是 OpenClaw 的底层引擎,官方 README 点名的就是这个集成案例。它自述为 minimal, extensible agent harness:默认不带 sub-agents 和 plan mode,靠扩展、skills、prompt templates、themes 拼出你要的工作流,再打包成 Pi packages 走 npm 或 git 分发。Pi 本身是开源 CLI,模型调用走你自带的订阅或 API key。
二、 Codemode:把 prompt 从 5,300 压到 3,300 tokens
长会话里,token 直接决定成本和响应速度。
根据官方数据,在 Codemode 激活状态下,一个 GPT-5.6 请求的 prompt 会从约 5,300 tokens 降到约 3,300 tokens。
为什么这对你重要?
- 报错能自解释
:读写不存在的工具或 models 成员时,它会报出最接近的名字,比如 tools.Bash会提示tools.bash。 - 固定开销变小
:codemode 说明改为逐行列出脚本全局变量、工具声明压成一行、细节按需指向参考文档。read / bash / edit 这类基础工具调用越频繁,省下来的越明显。
注意这个数字的口径:它来自官方针对 GPT-5.6 请求的说明,你不能外推成「所有场景都省 40%」。
三、 MCP 从全局走进项目:.pi/mcp.json 与 CIMD
如果你手上有多个项目,全局 MCP 配置迟早会打架。v1.0.1 的核心改进就是项目级覆盖:在项目根目录放 .pi/mcp.json,不带 command / url 的条目只改 enabled、exposure、toolExposure,/mcp 也能直接为当前项目开关某个 server。
授权侧还有两处调整:
- CIMD 授权
: oauth.clientRegistration: "cimd"让授权服务器按 pi.dev 上的 Client ID Metadata Document 识别 pi,不必走动态注册。 - 凭证隔离
:v1.0.0 起 MCP OAuth 凭证按 server 名与 URL 分别存储,同一 URL 的不同账号可以各自登录;并按 RFC 9207 校验授权响应的 iss字段,别家授权服务器的响应会被直接拒掉。
四、 升级与安装:别在依赖锁定上踩坑
v1.0.1 移除 npm-shrinkwrap.json,这是行为级变化。
你务必要留意三点:
- 依赖策略
:npm 安装不再锁定传递依赖。想让环境可复现的团队,官方建议改用 pi.dev 安装器( curl -fsSL https://pi.dev/install.sh | sh,Windows 用install.ps1),它会 pin 住所有依赖。 - 迁移提示
:全局 npm 安装下执行 pi update,会建议你迁移到托管安装。 - Nix 用户另有一条路
: nix run github:earendil-works/pi/stable直接跑最新发布,nix profile add github:earendil-works/pi/stable则是安装。
升级后自查 3 步:
pi --version确认版本,目标 1.0.2 或更高。 pi list看已安装的扩展是否还在。 /mcp检查项目级配置有没有生效。
五、 两个上手就能用的变化
- 按思考层级调采样
: models.json支持samplingParamsByThinkingLevel,你可以为 off、minimal、low、medium、high、xhigh、max 各档分别设置temperature、top_p,目前面向 OpenAI 兼容 API。想要「高思考档更稳、低档更省」的,把它写进配置就行,不必每次改命令行。 - codemode 里生成图片
:脚本能调用 models.generateImages(),用会话自带的凭证跑图像模型,返回的结果由image()附到输出上,用量照旧计入会话成本。
六、 结语:harness 之争里,Pi 的位置
眼下 AI 编程工具大多在卷模型能力,Pi 卷的是 harness 的精度:1.0 系列干的事就一句话,把固定开销压低,把可扩展性留给使用者。
如果你在做需要长会话、频繁工具调用的自动化,1.0.2 值得升一次;如果你的工作流依赖大量 MCP server,项目级覆盖能立刻减少配置摩擦。至于实验性的 Pi Durable,官方 release notes 还没展开,只知道它面向长时间运行、可崩溃恢复、多人协作的 Agent 应用,你先记住这个名字。
行动建议: 版本低于 1.0.0 的执行升级;团队环境统一用 pi.dev 安装器,避免依赖漂移。
官方仓库:https://github.com/earendil-works/pi
关注赫文派,带你拆解 AI 编程工具的底层逻辑与工程实战。