现在位置: 首页 > Pi Agent > 正文

Pi Agent 非交互模式

除了交互式对话,Pi Agent 还提供了三种非交互模式,适用于脚本集成、自动化流程和程序间通信。


Print 模式(-p)

Print 模式是最常用的非交互模式,执行一次性问答后输出结果并退出。

基本用法

# 基本问答
pi -p "帮我总结一下这个项目的结构"

# 带文件的问答
pi -p @README.md "这段文档的主要内容是什么"

# 管道输入:将命令输出传给 AI
cat README.md | pi -p "用三句话总结这段文字"

# 带图片的问答
pi -p @screenshot.png "图片中显示的错误信息是什么"

# 命名会话(方便之后在交互模式中继续)
pi --name "快速审查" -p "审查 src/ 目录下的代码质量"

指定模型

# 使用特定模型
pi --provider openai --model gpt-4o -p "帮我重构这段代码的逻辑"

# 使用带推理等级的模型
pi --model sonnet:high -p "这个复杂的算法有什么潜在问题"

# 限制模型循环范围
pi --models "claude-*,gpt-4o" -p "审查代码"

工具控制

# 只读模式:仅允许读取类工具
pi --tools read,grep,find,ls -p "审查代码不修改"

# 排除特定工具
pi --exclude-tools bash -p "分析代码但不执行命令"

# 禁用所有内置工具
pi --no-builtin-tools -p "纯问答"

JSON 模式(--mode json)

JSON 模式将所有事件以 JSON 行(JSONL)格式输出,适合程序解析和处理。

$ pi --mode json -p "总结项目结构"
{"type":"session_start","sessionId":"abc123",...}
{"type":"message_start","message":{...},...}
{"type":"message_update","message":{...},...}
{"type":"message_end","message":{...},...}
{"type":"agent_end",...}

每行是一个独立的 JSON 对象,包含事件类型和对应的数据。

这种模式特别适合:

  • 将 Pi Agent 集成到数据处理管道中
  • 监控和分析 AI 的行为与决策过程
  • 构建自定义的工具链和自动化工作流

RPC 模式(--mode rpc)

RPC 模式通过 stdin/stdout 的 JSONL 协议实现进程间通信。

它允许另一个程序通过标准输入发送命令,并从标准输出读取响应。

RPC 模式支持扩展 UI 协议,使远程客户端能够呈现 confirm 对话框、选择列表等交互元素。

这种模式适合:

  • 编辑器插件(如 VS Code 扩展)集成 Pi Agent
  • 构建自定义的 Pi Agent 前端界面
  • 将 Pi Agent 作为后台服务集成到更大的系统中

RPC 模式和 JSON 模式是面向开发者的高级特性。作为初学者,你大概率只需要交互模式和 Print 模式。当你需要将 Pi Agent 集成到工具链中时,可以再回来深入学习这两种模式。


模式对比

模式命令交互性输出格式适用场景
交互模式pi(默认)实时对话终端 TUI 渲染日常开发、交互式编程
Print 模式pi -p一次回答纯文本脚本集成、快速查询
JSON 模式pi --mode json一次回答JSONL 事件流程序解析、管道处理
RPC 模式pi --mode rpc持续通信JSONL 双向协议编辑器集成、进程通信

CLI 参数速查

分类参数说明
模型选项--provider name指定 AI 提供商
--model pattern指定模型 ID,支持 provider/id 和 :thinking 格式
--api-key key直接传入 API Key(最高优先级)
--thinking level推理等级:off/minimal/low/medium/high/xhigh/max
--models patterns逗号分隔的模型列表,限制 Ctrl+P 循环范围
会话选项-c, --continue继续最近的会话
-r, --resume浏览并选择历史会话
--session path|id使用指定的会话文件或 UUID
--fork path|id从指定会话分叉出新会话
--name, -n name设置会话显示名称
工具选项--tools, -t list白名单特定工具
--exclude-tools, -xt list禁用特定工具
--no-builtin-tools, -nbt禁用所有内置工具
--no-tools, -nt禁用所有工具(纯对话模式)
资源选项-e, --extension source加载扩展(可重复使用)
--skill path加载 Skill(可重复使用)
--theme path加载主题(可重复使用)
其他选项-a, --approve本次运行信任项目本地文件
--no-context-files, -nc禁用 AGENTS.md/CLAUDE.md 自动加载