Pi
T3 Code 可以使用你已经安装的 Pi 编程智能体,同时保留 Pi 的模型、身份验证、扩展、技能、上下文文件和原生会话历史。
设置 Pi
- 在运行 T3 Code 服务器的机器上安装 Pi。Pi 需要 Node.js 22.19 或更高版本;它的平台安装程序可以在需要时安装 Node。T3 Code 支持 Pi 0.80.5 及更高版本。
- 在终端中运行
pi,然后运行/login,以连接模型提供方(provider),或配置其 API 密钥。 - 打开 T3 Code 的设置,启用 Pi,并刷新该提供方。
如果使用 npm 安装,请使用:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent如果 pi 不在服务器的 PATH 中,请把 Pi 的二进制路径设为该可执行文件。需要自定义智能体目录、端点或模型配置的安装,还可以使用提供方环境(environment)变量和启动参数。--provider 必须与 --model 成对使用。T3 Code 会拒绝那些改变 Pi 执行模式或选定某个提供方会话(session)的启动参数,因为进程生命周期的这些部分由 T3 掌管。
在远程或无头服务器上,通过 SSH 连接到该机器,然后运行 pi,再运行 /login。在你自己的计算机上打开授权 URL。如果回调无法到达服务器,请在出现提示时,把最终的重定向 URL 或授权码粘贴回 Pi。你也可以在该 Pi 实例的设置中,设置模型提供方的 API 密钥环境变量;请把机密值标记为敏感。
请使用 pi update 更新由安装程序管理的 Pi。如果这份安装归另一个包管理器所有,请改用那个管理器更新。例如,Nix profile 安装使用 nix profile upgrade pi。
会保留的内容
T3 Code 会发现 Pi 所报告的模型,并展示它们支持的思考级别。思考级别选择器会把已发现的活动模型所配置的级别标为默认,而不会覆盖它。没有选择级别时,其他模型保持各自在 Pi 中的默认值。如果某个模型在其 Pi 定义中列出了 serviceTiers(例如 [{ "id": "priority", "name": "Fast" }]),就会得到一个速度选择器,其中包含 Standard 以及这些档位。所选档位会作为请求的 service_tier 发送;Standard 不发送该值,从而保留端点的默认值。对话线程(thread)使用 Pi 的原生会话文件,以便在同一个 Pi 实例内恢复、回滚和分叉。分叉会在目标工作区中,把原生对话保留到所选回合(turn)。切换提供方时使用可移植的对话上下文。扩展对话框会出现在 T3 Code 的 Composer(编写器)中;对话线程详情中的上下文窗口会跟随 Pi 自己的用量报告,在响应流式输出期间如此,在响应稳定之后也如此。
Pi 的技能会出现在 Composer 的 $ 菜单中。这包括 Pi 为当前工作区加载的用户技能和项目(project)技能;选中一项即按 Pi 原生的方式展开该技能。
Pi 会加载其常规的用户扩展;项目扩展要等该文件夹在 Pi 中受到信任之后才会加载。阻塞式的 select、confirm、input 和 editor 对话框可以在 T3 Code 中使用。通知会出现在工作日志中。扩展可以在 Composer 附近发布状态文本。终端标题和通用小组件在 T3 Code 中没有对应功能。
权限模式
T3 Code 通过 Pi 的阻塞式工具钩子,应用 Composer 的权限模式:
- 受监督 会在命令(command)、文件变更和扩展工具之前询问。只读工具会继续执行。
- 自动接受编辑 允许 Pi 的编辑和写入工具,但会在命令和扩展工具之前询问。
- 完全访问 允许工具执行,而不出现 T3 Code 的批准提示。
不为 Pi 显示 自动 选项,因为 Pi 没有提供 AI 批准审查器。在加入 Pi 支持之前已经保存为自动的对话线程,其行为与显示都按受监督处理。
更改模式会重启 Pi 的提供方会话(session),并恢复同一段原生对话。该策略覆盖的是 Pi 的工具调用;它不是操作系统沙箱。受信任的 Pi 扩展在工具调用之外运行的代码,仍由 Pi 自己的扩展信任模型约束。
T3 Code 的 delegate_task 工具会在共享的子智能体界面中创建持久的子对话线程。如果用户安装了 Pi 的示例 subagent 扩展,T3 Code 也会在该界面中显示其任务进度和结果。Pi 运行这些子项时没有会话,因此它们不能作为 T3 Code 对话线程打开或恢复。
故障排除
- 如果 Pi 不可用,请确认所配置的二进制文件能在服务器机器上运行,然后在设置中刷新该提供方(provider)。
- 如果没有出现模型,请直接打开 Pi,并确认其身份验证和模型配置。
- 如果发现过程无法完成,T3 Code 会保留 Pi 可用,并使用
Pi default模型。请开始一个对话线程(thread),让交互式的 Pi 会话处理任何启动提示。 - 如果 Pi 因为文件夹不受信任而跳过项目(project)设置、扩展、技能、提示词、MCP 服务器或系统提示文件,对话线程会在该 Pi 会话的第一个回合(turn)显示一条说明。请在服务器机器上的该文件夹中运行所配置的 Pi 二进制文件,并使用相同的提供方环境(environment),如果设置了
PI_CODING_AGENT_DIR也一并包括。用/trust信任该文件夹或其父级,然后使用同一个工作树(worktree)开始一个新的对话线程。带有--no-approve的启动参数会让项目文件保持关闭,并且不会显示这条说明。 - 要在 Web 应用和桌面应用中查看上下文用量,请在 设置 → 外观 → 对话线程详情 中打开 上下文窗口。一旦 Pi 报告该对话线程的用量,它就会出现。有些模型提供方只在响应完成时才报告用量,因此它可能会等到第一条回复之后才出现。