pi-agent
构建并使用 Pi:最小化的终端编码工具外壳。用于安装 Pi、配置提供者/模型/设置、创建 Pi 技能/扩展/包/主题/提示模板、通过 SDK 嵌入 Pi、通过 RPC 或 JSON 事件流进行集成、解析会话、开发自定义 Pi 提供者和 TUI 组件,或使用生态系统包,例如 pi-subagents(委派/编排)、pi-mcp-adapter(MCP 服务器)、pi-interview(交互式表单)以及 pi-web-access(网页搜索、抓取、视频理解)。
Pi Agent - 最小化终端编码器
技能概述
Pi Agent 是一个极简的终端 AI 编程助手,通过 TypeScript 扩展、技能、提示模板和自定义提供商实现高度可扩展,支持本地部署和完整的功能定制。
适用场景
-
日常 CLI 使用和自动化 适合开发者在终端中进行快速编码任务、代码审查、项目问答和自动化脚本编写。通过 Pi CLI 可以直接在命令行中调用 AI 能力,支持多种工作模式包括交互式会话、单次命令执行和 RPC 集成。
-
扩展开发和定制 面向需要为 Pi 添加自定义工具、命令处理器、事件钩子或 UI 组件的开发者。支持创建自定义提供商实现、OAuth 集成、自定义流式传输,以及构建终端 UI 组件和小部件。
-
应用集成和嵌入 适用于需要将 AI 能力嵌入到 Node.js/TypeScript 应用中的场景。提供 SDK 用于进程内集成,支持 RPC 模式进行跨语言集成,以及 JSON 模式用于命令行数据流处理。
核心功能
-
模块化扩展系统 Pi 通过 TypeScript 扩展实现高度模块化,支持自定义工具、命令处理、事件监听、提供商注册、路径保护、项目信任策略、UI 提示和 TUI 组件。开发者可以打包和分享扩展、技能、提示模板和主题。
-
灵活的集成模式 提供 SDK、RPC 和 JSON 三种集成模式。SDK 用于 Node.js/TypeScript 应用的类型安全集成和状态访问;RPC 模式支持语言无关的 JSONL 协议和进程隔离;JSON 模式适用于单次命令行数据流管道。
-
生态系统支持 内置支持多个生态包,包括 pi-subagents(委托/编排)、pi-mcp-adapter(MCP 服务器)、pi-interview(交互式表单)和 pi-web-access(网络搜索、获取、视频理解)。支持自定义模型条目、本地模型、代理配置和 OAuth 提供商设置。
常见问题
Pi Agent 是什么?如何开始使用?
Pi Agent 是一个最小化的终端编码器,可以通过 npm 全局安装:npm install -g @earendil-works/pi-coding-agent。安装后运行 pi 命令即可启动交互式会话。首次使用前需要配置至少一个 AI 提供商和 API 密钥,支持 OpenAI、Anthropic Claude 等多种提供商。
怎样创建自定义 Pi 技能和扩展?
Pi 技能是通过 .pi/skills/ 目录下的 Markdown 文件定义的,包含元数据、描述和指令。扩展开发使用 TypeScript,可以实现自定义工具、命令处理、事件钩子和 UI 组件。详细的开发指南请参考官方文档的 Extensions 和 Skills 章节,或者使用提供的参考文档进行快速入门。
Pi 的 RPC 模式和 SDK 模式有什么区别?
RPC 模式适用于非 Node.js 客户端或需要进程隔离的场景,使用语言无关的 JSONL 协议进行通信。SDK 模式专为 Node.js/TypeScript 应用设计,提供类型安全、直接状态访问和进程内自定义工具/扩展能力。选择时考虑:如果客户端是 Node.js 且需要深度集成选 SDK,否则选 RPC 模式。