简体中文 · English · 日本語 · 한국어

# Pier 本机 CLI 使用手册 `pier` 用于控制本机 Pier:打开项目、定位窗口和面板、操作终端、查看智能体状态,以及管理 Git 工作树。它不是远程 API,也不替代 Claude Code、Codex、OpenCode 等工具自己的命令行。 > 本页是 GitHub 可直接阅读的入口。应用内的交互版手册由 [`pier-cli-user-manual.canvas.tsx`](./pier-cli-user-manual.canvas.tsx) 和 [`data.json`](./data.json) 提供;其中的返回内容是阅读用示意,脚本应检查当前 `--json` 响应中的 `ok`、`data` 或 `error`。 ## 60 秒上手 正式安装包里的 `pier` 在应用未运行时会先启动再执行。发布版不会自动修改 Shell 的 `PATH`;如果 Pier 位于默认的 `/Applications`,先在当前终端运行: ```bash export PATH="/Applications/Pier.app/Contents/Resources/bin:$PATH" ``` 如果应用位于 `~/Applications`,将上面的路径改成 `$HOME/Applications/Pier.app/Contents/Resources/bin`。随后运行: ```bash # 1. 确认已连接到本机 Pier pier status --json # 2. 在 Pier 中打开当前项目(已有同一工作目录的普通终端则聚焦) pier . --json # 3. 查看当前窗口和面板 pier windows list --json pier panels list --json # 4. 查看 Pier 已知的产品及正在运行的智能体 pier agents catalog --json pier agents list --json ``` 也可以不修改 `PATH`,直接运行 `/Applications/Pier.app/Contents/Resources/bin/pier <命令…>`。从源码开发时使用: ```bash pnpm --silent cli:dev -- status --json ``` 也可以直接运行 `node ./bin/pier.mjs <命令…>`。 ## 常用选项 | 选项 | 作用 | | --- | --- | | `--json` | 输出稳定的 JSON;脚本调用建议始终添加 | | `--print-envelope` | 只打印将发送的请求,不执行 | | `--no-focus` | 尽量不把 Pier 窗口带到前台 | | `--window ` | 指定窗口;先用 `pier windows list --json` 查询 | 成功响应包含 `ok: true` 和 `data`;失败响应包含 `ok: false`、错误代码与可读消息。 ## 打开项目与组织面板 ```bash # 打开当前目录;已有同一工作目录的普通终端则聚焦,否则新建 pier . --json # 打开指定目录;也可在当前布局右侧再拆一块 pier open /path/to/repo --json pier open . --split right --json # 打开文件(已打开则复用标签;可带 :行[:列]) pier src/app.ts:12 --json # 找到并聚焦面板 pier panels list --json pier panels focus --json # 新开终端(这条永远新建,不复用) pier terminal open --cwd . --json pier terminal open --cwd . --json -- claude ``` 终端定位命令不会返回完整终端内容: ```bash pier terminal list --json pier terminal get --panel --json ``` 对普通 Shell 终端,可发送文本或按键: ```bash pier terminal send --panel --text "pnpm test" --json pier terminal key --panel --key enter --json ``` 智能体面板请使用下一节的 `agents turn`、`agents interrupt` 和 `agents terminate`,不要通过普通终端命令绕过运行状态。 ## 运行和查看智能体 先查看 Pier 已知的智能体目录,再启动一个持续运行的会话: ```bash pier agents catalog --json pier agents start --agent codex --cwd . --json ``` `agents start` 会返回 `bootId`、`runtimeId`、`generation` 和 `panelId`。后续命令使用这组运行引用: ```bash pier agents turn \ --boot \ --runtime \ --generation \ --text "检查当前变更并运行测试" \ --json pier agents wait \ --boot \ --runtime \ --generation \ --until attention \ --json ``` 常用查询与控制如下;表中的 `<运行引用>` 表示同一组 `--boot --runtime --generation ` 参数: | 命令 | 用途 | | --- | --- | | `pier agents list --json` | 列出正在运行的智能体面板 | | `pier agents get --panel --json` | 查询一个运行实例 | | `pier agents screen <运行引用> --json` | 读取当前可见终端区域,不是完整对话记录 | | `pier agents watch <运行引用> --json` | 持续接收运行状态变化 | | `pier agents focus <运行引用> --json` | 回到对应面板 | | `pier agents interrupt <运行引用> --json` | 中断当前运行 | | `pier agents terminate <运行引用> --json` | 结束该运行实例 | `accepted: true` 只表示输入已送达,不表示工作已经完成。`agents wait` 用于等待 `ready`、`waiting`、`exited` 或 `attention`,`agents watch` 用于观察状态变化;最终结果仍以智能体输出为准。 首条任务只经已验证的原生交互式启动参数传入;不支持或无法确认版本时,保存在增强输入框,等待手动发送。`inputDisposition` 返回 `native-launch`、`draft` 或 `unconfirmed`;`creationStatus: unconfirmed` 表示尚未收到原生创建确认,请先查看面板,避免重复启动。原生授权请在终端中手动完成。 未发送草稿(含附件与编辑格式)会保存并在重启后恢复;发送中断后标为待核对,不会自动重发。`agents turn` 保留原文及末尾换行,发送前保存检查点;接受输入不代表智能体已处理。 `agents interrupt` 发送原生 Ctrl+C。`agents terminate` 先发 TERM,2 秒后升级 KILL,最多等待 10 秒确认宿主启动的进程退出;超时返回错误。停止后面板与当前应用内的历史输出仍可查看、复制;单独关闭面板请用 `terminal close`。此操作不保证回收主动脱离终端的后台服务,也不表示智能体任务成功。 ## Git 工作树 ```bash # 查询仓库中的工作树 pier worktrees list --path /path/to/repo --json # 创建并打开独立工作树 pier worktrees create \ --path /path/to/repo \ --name retry-policy \ --branch feature/retry-policy \ --base main \ --json pier worktrees open /path/to/retry-policy --json # 检查或查询一个工作树 pier worktrees check --path /path/to/retry-policy --json pier worktrees get --path /path/to/retry-policy --json ``` 移除由 Pier 管理的工作树前,Pier 会检查活跃运行和未提交变更: ```bash pier worktrees remove --path /path/to/retry-policy --json ``` ## Shell 任务 这里的任务是项目中配置的 build、test 等 Shell 运行,不是任务台账或自动调度: ```bash pier tasks list --path . --json pier tasks run --path . --json pier tasks status --json pier tasks output --json pier tasks stop --json pier tasks cancel --json ``` ## 消息、偏好与插件 ```bash # 消息中心 pier notifications list --unread --json pier notifications get --id --json pier notifications focus --id --json pier notifications mark-read --id --json # 只读偏好与插件信息 pier preferences read --json pier plugins list --json pier plugins inspect --json ``` 插件启用与停用请在 Pier 的「设置 → 插件」中完成;本机 CLI 不提供这项写权限。 ## 排查连接问题 - 确认 Pier 应用已经启动,而不只是安装了 `pier` 命令。 - 开发态请使用 `pnpm --silent cli:dev -- <命令…>`,避免误连安装版。 - 多窗口时先运行 `pier windows list --json`,再传入 `--window `。 - 脚本判断结果时读取 `ok` 与 `error.code`,不要依赖面向人的输出文本。 - `agents wait` 超时不等于智能体已失败;可继续用 `agents get` 或 `agents watch` 查询状态。 更完整的命令分组和状态见 [`data.json`](./data.json),也可以在 Pier 的 Files 面板中打开 [`pier-cli-user-manual.canvas.tsx`](./pier-cli-user-manual.canvas.tsx) 使用可搜索的交互版手册。