Pi 文档
Pi 是一个极简的终端编程 Agent 框架。它的核心保持精简,同时可以通过 TypeScript 扩展、Skills、Prompt Templates、Themes 和 Pi Packages 进行扩展。
快速开始
使用 npm 安装 Pi:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent--ignore-scripts 会在安装期间禁用依赖生命周期脚本。正常通过 npm 安装 Pi 时不需要运行安装脚本。
在 Linux 或 macOS 上,也可以使用安装脚本:
curl -fsSL https://pi.dev/install.sh | sh如果通过 curl 安装脚本或 npm 安装,需要使用 npm 卸载 pi:
npm uninstall -g @earendil-works/pi-coding-agent对于 pnpm、Yarn 或 Bun 安装,请使用匹配的全局删除命令:pnpm remove -g @earendil-works/pi-coding-agent、yarn global remove @earendil-works/pi-coding-agent 或 bun uninstall -g @earendil-works/pi-coding-agent。
然后在项目目录中运行:
pi对于订阅 Provider,使用 /login 进行身份验证;对于 API Key Provider,在启动 pi 前设置对应的 API Key,例如 ANTHROPIC_API_KEY。
完整的首次运行流程见 Quickstart。
从这里开始
- Quickstart - 安装、身份验证,并开始第一次会话。
- Using Pi - 交互模式、slash commands、context files 和 CLI 参考。
- Providers - 内置 Provider 的订阅和 API Key 设置。
- llama.cpp - 运行本地路由器,并用
/llama管理模型。 - Security - 项目信任、sandbox 边界和漏洞报告。
- Containerization - 使用 Gondolin、Docker 或 OpenShell 对 pi 进行 sandbox 隔离。
- Settings - 全局设置和项目设置。
- Keybindings - 默认快捷键和自定义按键绑定。
- Sessions - 会话管理、分支和树导航。
- Compaction - 上下文压缩和分支摘要。
自定义
- Extensions - 用于工具、命令、事件和自定义 UI 的 TypeScript 模块。
- Skills - 可按需加载的可复用 Agent Skills。
- Prompt templates - 可通过 slash commands 展开的可复用 Prompt。
- Themes - 内置和自定义终端主题。
- Pi packages - 捆绑并共享扩展、技能、提示和主题。
- Custom models - 为受支持的 Provider API 添加模型条目。
- Custom providers - 实现自定义 API 和 OAuth 流程。
程序化使用
- SDK - 将 pi 嵌入 Node.js 应用。
- RPC mode - 通过 stdin/stdout JSONL 集成。
- JSON event stream mode - 具有结构化事件的打印模式。
- TUI components - 为扩展构建自定义终端 UI。
参考
- Environment variables - Pi 进程配置,以及 Bash 工具可用的会话元数据。
- Session format - JSONL 会话文件格式、条目类型和 SessionManager API。
平台设置
开发
- Development - 本地设置、项目结构和调试。