本文为社区中文翻译(依据 MIT 协议),阅读英文原文 →。译文可能滞后于上游更新。

快速上手

安装

Pi 以 npm 包的形式分发:

npm install -g --ignore-scripts @earendil-works/pi-coding-agent

--ignore-scripts 会在安装期间禁用依赖的生命周期脚本。Pi 在正常的 npm 安装中不需要安装脚本。

卸载

用安装时对应的包管理器卸载。curl 安装脚本走的是 npm 全局安装,所以 curl 和 npm 安装都用 npm 移除:

# curl 安装脚本或 npm install -g
npm uninstall -g @earendil-works/pi-coding-agent

# pnpm
pnpm remove -g @earendil-works/pi-coding-agent

# Yarn
yarn global remove @earendil-works/pi-coding-agent

# Bun
bun uninstall -g @earendil-works/pi-coding-agent

卸载 Pi 不会删除 ~/.pi/agent/ 下的设置、凭据、会话和已安装的 Pi 软件包。

在你希望它工作的项目目录里启动:

cd /path/to/project
pi

认证

Pi 既可以通过 /login 使用订阅类提供商,也可以通过环境变量或认证文件使用 API Key 类提供商。

方式一:订阅登录

启动 Pi 后运行:

/login

然后选择一个提供商。内置的订阅登录包括 Claude Pro/Max、ChatGPT Plus/Pro(Codex)和 GitHub Copilot。

方式二:API Key

启动 Pi 之前设置好 API Key:

export ANTHROPIC_API_KEY=sk-ant-...
pi

也可以运行 /login 并选择 API Key 类提供商,把 Key 保存到 ~/.pi/agent/auth.json

全部受支持的提供商、环境变量与云端配置见提供商

第一次会话

Pi 启动后,输入一个请求并回车:

总结一下这个仓库,并告诉我怎么运行它的检查。

默认情况下,Pi 给模型四个工具:

另外还有几个内置只读工具(grepfindls),可通过工具选项开启。Pi 在当前工作目录中运行,可以修改其中的文件。想要随时回滚,建议配合 git 或其他检查点机制使用。

给 Pi 项目说明

Pi 启动时会加载上下文文件。在项目里放一个 AGENTS.md,告诉它这个项目该怎么干活:

# 项目说明

- 改完代码后运行 `npm run check`。
- 不要在本地跑生产库迁移。
- 回答保持简洁。

Pi 会加载:

如果某个目录里存在 AGENTS.override.md,Pi 会用它替代该目录的 AGENTS.mdCLAUDE.md

改完上下文文件后,重启 Pi 或运行 /reload

常见玩法

引用文件

在编辑器里输入 @ 可以模糊搜索文件,也可以直接在命令行传入:

pi @README.md "总结一下这个"
pi @src/app.ts @src/app.test.ts "把这两个放在一起评审"

图片或文本可以用 Ctrl+V 粘贴(Windows 上是 Alt+V);在支持的终端里图片也可以直接拖进来。

运行 shell 命令

在交互模式中:

!npm run lint

命令输出会发送给模型。用 !!命令 可以在不把输出加入模型上下文的情况下运行命令。

切换模型

/model 或 Ctrl+L 为当前会话选择模型。在模型选择器里按 Ctrl+S 可以把高亮的模型保存为启动默认。/thinking 用于选择当前会话的思考等级,同样可用 Ctrl+S 保存默认;Shift+Tab 循环切换思考等级。Ctrl+P / Shift+Ctrl+P 在常用模型之间轮换。

稍后继续

会话会自动保存:

pi -c                  # 继续最近一次会话
pi -r                  # 浏览历史会话
pi --name "我的任务"    # 启动时设置会话显示名
pi --session <路径|id>  # 打开指定会话

在 Pi 内部,用 /resume/new/tree/fork/clone 管理会话。

非交互模式

一次性提示词:

pi -p "总结一下这个代码库"
cat README.md | pi -p "总结这段文字"
pi -p @screenshot.png "这张图里有什么?"

--mode json 得到 JSON 事件输出,或用 --mode rpc 做进程集成。

下一步

平台说明:WindowsTermuxtmux终端设置Shell 别名