返回模型列表

Pi – 极简开源的终端编程 Agent,支持自定义工具与多模型接入

AI科技编辑部
RSS 订阅
Pi – 极简开源的终端编程 Agent,支持自定义工具与多模型接入 官方截图
(图片来源官方截图)

导读摘要:

Pi(Agent Harness)是由开发者 Mario Zechner 推出的极简开源终端编程 Agent,同时也是系统 OpenClaw 的底层 Coding Agent。该工具以"极简内核 + 高度可扩展"为核心设计哲学,默认仅向模型提供 read、write、edit、bash 四个基础工具,系统提示词压缩至不到 1000 token,而其余所有功能均通过 TypeScript 扩展机制实...

1. Pi是什么

Pi(Agent Harness)是由开发者 Mario Zechner 推出的极简开源终端编程 Agent,同时也是系统 OpenClaw 的底层 Coding Agent。该工具以"极简内核 + 高度可扩展"为核心设计哲学,默认仅向模型提供 read、write、edit、bash 四个基础工具,系统提示词压缩至不到 1000 token,而其余所有功能均通过 TypeScript 扩展机制实现。Pi 支持 15+ 模型提供商接入、树状分叉会话历史以及跨厂商实时切换模型,定位为面向开发者社区的、可深度定制的 Agent 运行框架。

pi-agent 官网截图
(图片来源官方截图)

技术定位与领域: Pi 属于自然语言处理与软件工程交叉领域的终端编程 Agent(Coding Agent),其独特定位在于"Agent Harness"——即一个不捆绑具体模型、不预设完整工具链的极简运行框架,由开发者自行组合模型与工具能力。

研发背景: 项目由 Mario Zechner 个人发起并开源,作为 OpenClaw 项目的底层驱动组件。其研发动机源于对现有 Coding Agent(如 Claude Code)臃肿提示词与封闭工具链的不满,追求以极小的系统开销换取最大的可定制空间。

核心价值: 解决了传统 Coding Agent 提示词冗长、工具依赖固化、难以跨厂商切换模型、会话过程不可回溯等实际问题。通过四工具极简设计、TypeScript 热加载扩展和树状会话历史,将 Agent 的"内核"与"能力"彻底解耦,为开发者和社区提供了高度的自由度和二次开发空间。

技术特点: 系统提示词加工具定义不到 1000 token,上下文窗口利用效率高;TypeScript 扩展支持热加载,运行中即可注册新工具与命令;兼容 AGENTS.md 和 CLAUDE.md 配置,支持与 Claude Code 等既有工具的零迁移切换。

2. 主要功能

  • 极简工具集: 默认仅提供 read、write、edit、bash 四个基础工具,将文件搜索、代码分析等高级操作交由模型通过 grep/find 等命令自行完成。系统提示词与工具定义合计不到 1000 token,显著降低了上下文占用,使模型可将更多上下文窗口用于实际任务处理,响应速度得到有效提升。

  • 多模型提供商接入: 内置 15+ 模型提供商支持,涵盖 Anthropic、OpenAI、Kimi、DeepSeek、MiniMax、智谱、Qwen 等国内外主流服务商,并针对国产模型单独配置了中国区节点。支持 OAuth 订阅登录与 API Key 两种认证方式,用户可依据成本、性能或合规需求自由选择模型来源。

  • 树状会话历史: 会话以树形结构存储而非传统线性记录,用户可随时通过 /tree 命令跳回任意历史节点,重新提问或从该节点分叉出新的尝试路径。所有分支共存于单个文件中,有效避免了线性对话中"试错后无法回退"的沉没成本问题。

  • 跨厂商实时切换模型: 在会话进行过程中,可通过 /model 命令或 Ctrl+L 快捷键在不同厂商的模型之间切换,而上下文信息会自动完成交接与转换。这一能力使开发者可以在同一任务中灵活组合不同模型的长处(如混合使用推理模型与编码模型),无需中断会话或迁移上下文。

  • 四种运行模式: 提供交互式 TUI、Print/JSON 脚本模式、RPC 协议、Node.js SDK 四种运行形态,覆盖从日常终端编码到程序化集成的完整场景。RPC 与 SDK 模式使 Pi 可以作为后端引擎嵌入到 IDE 插件、CI/CD 流水线或自定义工具中。

  • TypeScript 扩展热加载: 将 TypeScript 编写的扩展模块放入特定目录即可实现热加载,运行中输入 /reload 立即生效。扩展可注册自定义工具、命令并拦截事件,由于 Pi 本身具备编码能力,它甚至可以在运行过程中现场为自己编写扩展,实现能力的自我迭代。

  • Skills 与 Prompt 模板: 支持 Agent Skills 标准,Markdown 文件可直接转化为带参数的 / 命令,用户无需编写代码即可沉淀团队内部的提示词模板和操作流程。

  • 社区包生态: 扩展、Skills、模板、主题可打包为标准 Pi packages,通过 pi install npm:xxx 或 Git 仓库地址一键安装分享。这一机制让官方未内置的功能可以快速由社区生态补齐。

  • 上下文工程能力: 支持通过 SYSTEM.md 覆盖系统提示词、自动 Compaction 摘要压缩、动态上下文注入等多种机制,使开发者可以精确控制进入上下文窗口的每个 token,实现对模型行为的精细调控。

3. 如何使用

  1. 环境要求: 需预先安装 Node.js 环境(建议使用 Node.js 18 及以上版本),操作系统支持 Linux、macOS 及 Windows(WSL 环境体验更佳)。由于模型推理在云端完成,本地无需配置 GPU 或其他专用硬件。

| 安装步骤: 在终端执行 npm install -g --ignore-scripts @earendil-works/pi-coding-agent 或运行 `curl -fsSL https://pi.dev/install.sh |

  1. 登录配置: 首次使用需运行 /login 命令,选择 OAuth 订阅登录方式(适用于 Anthropic 等支持订阅的服务商)或填入 API Key 来配置模型提供商。可通过 /model 命令查看和管理已配置的多家提供商。

  2. 进入项目并加载上下文: 进入目标项目目录后再次运行 pi,Pi 会自动沿目录树向上查找并加载 AGENTS.md 或 CLAUDE.md 文件作为项目上下文。这意味着原有的 Claude Code 项目配置无需任何迁移即可直接复用。

  3. 开始对话与操作: 在交互界面中直接用自然语言描述需求,支持 @ 模糊搜索文件、! 执行 Shell 命令、Ctrl+V 粘贴图片。如需切换模型,可输入 /model 或按 Ctrl+L,上下文会自动交接转换。

  4. 会话回溯与分叉: 使用 /tree 命令查看树状会话历史,可跳回任意节点重新提问或分叉出新的尝试路径,所有分支共存于同一会话文件中。

  5. 扩展与自定义: 在 ~/.pi/agent/extensions/ 目录编写 TypeScript 扩展模块,保存后输入 /reload 即可热加载生效,无需重启会话。新工具会立即注册到可用命令列表中。

  6. 导出与分享: 会话结束后,可用 /export 将完整对话导出为 HTML 文件,或用 /share 生成 GitHub Gist 分享链接,便于协作与知识沉淀。

  7. 退出与续接: 按 Ctrl+C 或 Ctrl+D 退出当前会话,下次使用 pi -c 命令即可无缝继续上一次的对话上下文。

4. 优缺点分析

优点
极简高效的设计: 系统提示词与工具定义合计不到 1000 token,上下文占用极小,模型响应速度提升明显,且输入成本更低。
跨厂商模型无缝切换: 内置 15+ 提供商且支持会话中途实时切换,上下文自动交接转换,灵活性和可选择性远超单一厂商绑定的方案。
树状会话历史与分叉: 会话以树形结构存储,支持随时回溯到任意节点重新提问或分叉试错,极大降低了探索性开发的试错成本。
超强扩展性与热加载: TypeScript 扩展支持运行时热加载,社区可快速补齐官方未内置的功能,甚至可以让 Pi 现场为自己编写扩展,具备自我迭代能力。
完全开源 MIT 协议: 代码全公开且供应链经过安全加固,社区已衍生出 Go、Rust、Python 等多个移植版本,生态活跃度良好。

5. 同类工具对比

维度 Pi(Agent Harness) Claude Code OpenAI Codex CLI
系统提示词 不到 1000 token,极简内核 上万 token,功能丰富但开销大 约 2000 token,编码场景定向优化
内置工具 仅 4 个:read、write、edit、bash 大量内置工具(文件搜索、代码分析等) 约 6-8 个,覆盖文件与命令操作
模型提供商 15+ 提供商,可跨厂商实时切换 仅限 Anthropic Claude 系列 以 OpenAI 系列为主,可配第三方
会话结构 树状历史,支持分叉回溯 线性历史,不支持回溯分叉 线性历史,会话可续接
扩展机制 TypeScript 扩展热加载,社区包生态 无官方扩展机制,依赖内置功能 插件机制有限,以配置为主
Sub-agents 不做内置,需自行 spawn 或装扩展 原生支持 不支持
权限确认 默认 YOLO 模式,无弹窗 有权限弹窗确认机制 有操作确认,可配置自动批准
开源协议 MIT 完全开源 闭源商业软件 MIT 开源
部署方式 CLI + SDK + RPC,可嵌入式集成 CLI 为主,限桌面环境 CLI 为主

选型建议: 对于追求极简、高效、高度可定制,且需要在多个模型提供商之间灵活切换的开发者或团队,Pi 是理想选择,其 TypeScript 热加载扩展机制尤其适合有二次开发能力的技术团队。若项目需要开箱即用的丰富功能、原生 Sub-agents 支持和权限确认机制,且不介意绑定 Anthropic 生态,Claude Code 提供更完整的体验。对于已深度使用 VS Code 工作流且需要 MCP 工具接入的开发者,Cline 的编辑器集成和图形化界面更具优势;而需要 OpenAI 生态定向优化的编码场景,Codex CLI 的专项能力值得考虑。

6. 编辑总结

Pi 在 AI 编程助手领域提出了一种富有启发性的设计取向:以极简内核取代功能堆砌,以开放扩展取代封闭工具链。从技术创新性来看,将系统提示词压缩至 1000 token 以内并仅保留四个基础工具,这一取舍实际上是对"大模型能力边界"的重新审视——它假设现代模型完全有能力自主编排 Shell 命令完成高级操作,从而将上下文资源全部让渡给真实任务。结合 TypeScript 热加载扩展和树状会话历史,Pi 在 Agent 架构上实现了"内核与能力"的清晰解耦,这一架构思路对同类工具的设计具有方法论层面的参考价值。实用价值方面,Pi 的跨厂商模型切换机制解决了模型锁定问题,让开发者可以根据任务类型和成本预算动态选择推理引擎;对 AGENTS.md 和 CLAUDE.md 的兼容,则显著降低了用户的迁移成本。适用人群上,它更契合具有 TypeScript 开发能力、追求高效上下文利用、或需要在多模型环境中工作的中高级开发者;对于偏好开箱即用、需要图形界面和系统化权限管控的用户,则需权衡学习成本。综合考虑其 MIT 开源协议和社区生态的自迭代能力,Pi 在开发者工具链中有望持续演进,其"极简内核 + 无限扩展"的设计路径也代表了编程 Agent 轻量化发展的一个明确方向。

7. 应用场景

  • 快速脚本与原型开发: 开发者可在终端直接用自然语言描述需求,让 Pi 生成、调试并运行脚本。树状会话历史支持快速试错不同实现方案,在某个分支失败后可随时回溯到之前节点重新尝试,大幅提升原型迭代效率。

  • 代码库重构与维护: 利用 Pi 的代码编辑能力(read、write、edit)在大型项目中进行批量重构。通过 AGENTS.md 沉淀项目规范和历史决策,配合跨模型切换特性,可在同一任务中使用不同模型分别完成分析与修改,降低重构过程中的上下文丢失风险。

  • 自定义开发工作流: 团队可通过编写 TypeScript 扩展将 Pi 改造成符合自身需求的专属工具链,例如自动代码审查、文档生成、特定框架的项目脚手架等。扩展热加载机制使新工具可即时生效,无需重启服务或等待官方更新。

  • 开源协作与知识分享: 使用 /share 导出 GitHub Gist 或 /export 生成 HTML 文件,将完整的调试和分析过程分享给协作者或用于技术博客撰写。树状会话结构使得讨论过程清晰可追溯,便于他人理解决策路径。

  • 远程服务器与容器化开发: 在 SSH 服务器或 Docker 容器中运行 Pi,配合 tmux 实现后台持久化会话,适用于云端开发、CI/CD 流水线集成等无图形界面环境。RPC 和 SDK 模式可直接嵌入自动化脚本,实现编程任务的程序化调度。

8. 常见问题FAQ

Q:Pi 与 Claude Code 的核心差异是什么?
A:Pi 采用极简设计,系统提示词不到 1000 token,仅提供四个基础工具,其余能力通过 TypeScript 扩展实现;Claude Code 则内置大量工具和功能,系统提示词上万 token。Pi 还支持 15+ 模型提供商和树状会话历史,而 Claude Code 仅限 Anthropic Claude 模型且为线性会话结构。

Q:Pi 支持哪些模型提供商?是否支持国产模型?
A:Pi 内置 15+ 提供商,包括 Anthropic、OpenAI、Kimi、DeepSeek、MiniMax、智谱、Qwen 等,并为国产模型单独配置了中国区节点。用户可通过 OAuth 订阅登录或 API Key 两种方式接入,并在会话中实时切换不同厂商模型。

Q:如何让 Pi 具备搜索文件等高级能力?
A:Pi 默认仅提供 read、write、edit、bash 四个工具,文件搜索等操作需让模型通过 Shell 命令(如 grep/find,或结合 ! 命令)自行完成。如需更高级的封装能力,可编写 TypeScript 扩展注册自定义工具,放入扩展目录后 /reload 热加载生效。

Q:会话中如何切换模型?上下文会丢失吗?
A:在会话中随时输入 /model 或按 Ctrl+L 即可在不同厂商的模型间切换,上下文信息会自动完成交接与转换,无需手动迁移或重新注入。这一机制使开发者可在同一任务中灵活组合不同模型的能力。

Q:原有的 Claude Code 项目配置能否直接复用?
A:可以。Pi 会自动沿目录树向上查找并识别 AGENTS.md 和 CLAUDE.md 文件,将其作为项目上下文自动加载。同时 Pi 兼容 Agent Skills 标准,Markdown 文件可直接转化为带参数的 / 命令,原有配置无需迁移。

Q:Pi 如何保障操作安全性?
A:Pi 默认采用 YOLO 模式,执行操作时不弹窗确认,因此在高风险环境中使用时需谨慎。供应链经过安全加固(hardened),代码完全开源可审计。对于需要权限确认的场景,可通过扩展机制自行实现确认流程,或评估使用其他带有权限弹窗的替代工具。

9. 项目地址

  1. 产品官网: https://pi.dev/
  2. GitHub 仓库: https://github.com/earendil-works/pi

版权声明:本文部分内容由 AI 辅助生成并经人工校准,版权归本站所有,未经允许禁止任何形式的转载。