第 8 章:CLI 全参数速查

好手册不求读完,只求需要的那一秒恰好翻到。

设计思想

Pi 的命令行接口遵循"正交组合":模式、模型、会话、工具、资源五类选项可以自由拼装,--no-* 系列与显式加载结合能构造出精确受控的运行环境。本章是全量速查,供按需检索。

原理与用法

总形式

pi [options] [--] [@files...] [messages...]

包管理命令

pi install <source> [-l]       # 安装包;-l 装到项目本地(.pi/npm/、.pi/git/)
pi remove <source> [-l]         # 卸载(uninstall 为别名)
pi update                       # 只更新 pi 自身
pi update --all                 # 更新 pi + 所有包
pi update --extensions          # 只更新包
pi update --models              # 只刷新模型目录
pi update --self --force        # 强制重装 pi
pi update npm:@foo/pi-tools     # 更新指定包
pi list                         # 列出已安装的包
pi config                       # 启用/禁用包内资源

pi config 与包命令支持 --approve/--no-approve 处理项目信任;pi update 从不弹询问。

模式

参数 说明
(默认) 交互模式
-p, --print 输出回复后退出;可管道合并 stdin:cat README.md | pi -p "Summarize this text"
--mode json 全部事件以 JSON 行输出(docs/json.md
--mode rpc RPC 模式,供进程集成(docs/rpc.md
--export <in> [out] 导出会话为 HTML

模型选项

参数 说明
--provider <name> 提供商(anthropic、openai、google 等)
--model <pattern> 模型 pattern 或 ID;支持 provider/id 前缀和 :thinking 后缀(如 sonnet:high
--api-key <key> API key(优先于环境变量)
--thinking <level> off / minimal / low / medium / high / xhigh / max
--models <patterns> 逗号分隔,限定 Ctrl+P 循环范围
--list-models [search] 列出可用模型(可过滤)

会话选项

参数 说明
-c, --continue 继续最近会话
-r, --resume 浏览选择历史会话
--session <path|id> 指定会话文件或部分 UUID
--fork <path|id> 从既有会话分叉新会话
--session-dir <dir> 自定义会话存储目录
--no-session 一次性模式(不保存)
--name <name>, -n 启动时命名会话

工具选项

参数 说明
--tools <list>, -t 工具白名单(内置+扩展+自定义通用)
--exclude-tools <list>, -xt 排除指定工具,其余保留
--no-builtin-tools, -nbt 禁用内置工具,保留扩展/自定义工具
--no-tools, -nt 禁用全部工具

内置工具:readbashpowershell(Windows)、editwritegrepfindls

资源选项

参数 说明
-e, --extension <source> 从路径/npm/git 加载扩展(可重复)
--no-extensions 停用扩展发现
--skill <path> 加载 skill(可重复);--no-skills 停用
--prompt-template <path> 加载提示模板;--no-prompt-templates 停用
--theme <path> 加载主题;--no-themes 停用
--no-context-files, -nc 停用 AGENTS.md/CLAUDE.md 发现

组合技:--no-* + 显式 flag 可忽略 settings.json、精确控制加载内容,如 --no-extensions -e ./my-ext.ts

其他选项

参数 说明
--system-prompt <text> 替换默认系统提示(上下文文件与 skills 仍会追加)
--append-system-prompt <text> 追加系统提示
--tui-mode <mode> regular(默认)/ 实验 fullscreen
--use-theme <name[/name]> 单次运行主题,不改设置;light/dark 跟随终端外观
--verbose 强制详细启动输出
-a / -na 本次运行信任 / 忽略项目本地文件
-- 停止解析选项,其后内容视为提示词或 @file
-h, -v 帮助 / 版本

文件参数

@ 前缀把文件内容并入消息:

pi @prompt.md "Answer this"
pi -p @screenshot.png "What's in this image?"
pi @code.ts @test.ts "Review these files"

常用示例

pi "List all .ts files in src/"                      # 交互 + 初始提示
pi -p -- "- Summarize these points"                  # 提示词以 - 开头时用 --
pi --name "release audit" -p "Audit this repository" # 命名的一次性会话
pi --model openai/gpt-4o "Help me refactor"          # provider 前缀
pi --models "claude-*,gpt-4o"                        # 限定循环列表
pi --tools read,grep,find,ls -p "Review the code"    # 只读模式
pi --exclude-tools ask_question                      # 排除单个工具
pi --thinking high "Solve this complex problem"      # 高思考级别

环境变量

变量 说明
AI_AGENT CLI/RPC 入口设为 pi,供外部工具归因子进程
PI_CODING_AGENT 设为 true,供子进程检测自己运行在 pi 内
PI_CODING_AGENT_DIR 覆盖配置目录(默认 ~/.pi/agent
PI_CODING_AGENT_SESSION_DIR 覆盖会话目录(被 --session-dir 覆盖)
PI_PACKAGE_DIR 覆盖包目录(Nix/Guix 场景有用)
PI_OFFLINE 禁用启动期全部网络操作
PI_SKIP_VERSION_CHECK 跳过版本更新检查
PI_TELEMETRY 覆盖遥测与归因头(1/0
PI_CACHE_RETENTION long 启用扩展缓存(Anthropic 1h / OpenAI 24h)
VISUAL, EDITOR Ctrl+G 外部编辑器回退顺序

bash/powershell 工具执行命令时还会注入会话元数据(每条命令启动时解析): PI_SESSION_IDPI_SESSION_FILE(临时会话时未设)、PI_PROVIDERPI_MODELPI_REASONING_LEVEL