基于 TypeScript 的自扩展交互式 AI 编码 Agent 工具包,统一多 LLM Provider API,提供终端/Web UI 及庞大插件生态。
Pi Agent Harness(CLI 命令 pi)是一个高度可扩展的交互式 AI 编码 Agent 工具包,由 earendil-works 组织维护,主要维护者为 Armin Ronacher(mitsuhiko)。项目采用 TypeScript 构建(占比 96.6%),以 npm workspaces Monorepo 形式组织,当前版本 v0.74.0,累计 214 个 release、3,977 次 commit。
核心能力#
- 交互式编码助手:在终端内通过自然语言驱动文件读写、代码编辑与 Shell 命令执行
- 统一 LLM API(
@earendil-works/pi-ai):兼容 OpenAI、Anthropic、Google 等主流提供商 - Agent 运行时(
@earendil-works/pi-agent-core):工具调用调度与状态机管理 - 内置工具:默认启用
read、write、edit、bash,可选启用只读工具grep、find、ls - 上下文压缩(Compaction):长会话自动进行上下文窗口管理,防止溢出
- 子 Agent 委派:通过扩展包支持子 agent 并行任务执行
- 多模态输入:支持通过
@file或@screenshot.png引用文件和图片
认证方式#
- Subscription 登录:内置支持 Claude Pro/Max、ChatGPT Plus/Pro (Codex)、GitHub Copilot 等订阅服务(交互界面输入
/login) - API Key:通过环境变量(如
ANTHROPIC_API_KEY)或~/.pi/agent/auth.json配置
会话管理#
会话以 JSONL 格式持久化保存,支持自动保存、继续(-c)、分支(/fork)、克隆(/clone)及树状浏览(/tree)。
扩展与定制#
- TypeScript 扩展模块,可注册自定义工具、命令、事件处理器及 UI 组件
- 支持 Skills、Prompt Templates、Themes 及 Pi Packages 深度定制
- 通过社区包
pi-mcp-adapter兼容 Model Context Protocol - 官方提供 50+ 扩展示例(plan mode、权限控制、路径保护、SSH 执行、沙箱等)
- 社区扩展包超过 2,200 个,涵盖 Web 搜索、浏览器自动化、沙箱执行、Notion/WhatsApp 集成、Mermaid 渲染等
架构模块#
@earendil-works/pi-coding-agent:顶层交互式编码 Agent CLI 入口@earendil-works/pi-agent-core:Agent 运行时@earendil-works/pi-ai:底层统一 LLM Provider 通信层@earendil-works/pi-tui:终端 UI 库(差异渲染)@earendil-works/pi-web-ui:AI 聊天界面 Web 组件库
程序化接口#
除 CLI 外,暴露 Node.js SDK、stdin/stdout JSONL RPC 模式及 JSON Event Stream 模式,便于上层应用集成。
安装与使用#
# curl(macOS / Linux)
curl -fsSL https://pi.dev/install.sh | sh
# npm
npm install -g @earendil-works/pi-coding-agent
cd /path/to/project
pi # 交互模式
pi -p "Summarize this codebase" # 单次提示
cat README.md | pi -p "Summarize this text" # 管道输入
pi @file1 @file2 "prompt" # 文件引用
pi -c # 继续最近会话
pi -r # 浏览历史会话
pi install npm:pi-subagents # 安装扩展
项目级配置:在项目根目录放置 AGENTS.md 或 CLAUDE.md,pi 启动时自动加载作为 Agent 行为规范。
交互内快捷键:Ctrl+L 切换模型、Shift+Tab 切换思考级别、@ 模糊搜索文件、!command 运行 shell 命令并将输出喂给模型。
适用场景#
- 日常代码编写、重构与本地构建/测试自动化
- 代码审查、仓库摘要生成与多模态理解
- 结合
AGENTS.md的开源项目规范化 AI 协作工作流 - 基于 SDK/RPC 模式将 AI Agent 能力集成到第三方工作流或 IDE 中
- 通过 pi-share-hf 将编码会话发布到 Hugging Face 用于改进 Agent