# 工具与执行

Personal Bot 使用 Pi 原生工具与配置。接入方法见[接入技能](../resources/skills/provider-connections/SKILL.md)。

## 责任划分

| 内容 | 所有者 |
| --- | --- |
| CLI 参数、校验、认证 | 原生命令、help 与 profile |
| MCP 连接、认证、发现、schema 与结果 | Pi 原生 MCP |
| 数据口径、项目约定与使用经验 | providers/<id>/GUIDE.md |
| 任务范围、业务判断与必要确认 | 用户与模型 |
| 账户权限、额度与强制批准 | 外部服务或执行环境 |

工作区手册是当前使用入口，只保留必要信息；更新时合并重复内容并替换过时说明，历史证据通过项目引用追溯。接口定义以当前工具为准。

## CLI 与 MCP

CLI 通过 Bash 使用。新增 MCP 默认仅接入当前项目：从工作区根目录执行 `pi mcp add --local <server> ...`，写入项目 `.pi/mcp.json`；删除项目连接也显式使用 `--local`。第三方 setup 或接入向导同样核对项目范围，不接受其全局默认值。只有用户明确要求跨项目使用时才修改当前 Pi agent dir 的 `mcp.json`，已有用户级连接不自动迁移或删除。

Pi 处理信任、认证与工具暴露。使用 /mcp 查看连接、工具和配置来源，确认新增连接来自当前项目；配置变更后按 Pi 要求重载。项目配置使用原生认证或环境变量引用，不保存凭据值。

子会话按自己的 cwd 和 Pi agent dir 加载配置。需要工作区项目 MCP 时，以工作区根目录作为 cwd，在命令中切换计算目录。父进程临时注册的连接不会自动转移到子进程。

## 授权与结果

模型按用户请求和委派范围行动。研究、查询和接入不包含交易、转账或账本修改的授权。独立复核、用户授权和成果验收分别判断。

Bash、Python、MCP 和扩展拥有其实际账户与凭据权限。文件确认与工具选择是防误操作措施，不是执行隔离；硬性限制使用只读凭据、服务端控制或受限环境。

工具保留原生结果与错误格式，任务按需保存证据。业务完成需核对实际结果，不能只看退出码或协议成功。取消、超时和断连后，先查询原生状态与业务标识，再决定后续操作；聊天或子会话恢复不自动重发可能已执行的操作。

## 可选 Task Conductor

Task Conductor 通过原生 MCP 提供周期任务、重复流程和 DAG，独立管理任务定义与运行状态。安装入口见[项目 README](../README.md#可选安装-task-conductor)，具体操作由其 using-task-conductor 技能和实际工具契约说明。

提交任务时明确输入、cwd、工具与认证前提、输出和完成条件；周期任务还需明确频率、时区、授权范围及每轮数据时点。项目资料保存必要的 taskId、runId、节点 ID 和证据，实时状态向 Task Conductor 查询。

pbot 子会话绑定父会话，Task Conductor 可在 Pi 关闭后继续。两者分别查询和停止；取消当前 run 与停止未来周期也是两个操作。

外部节点需单独配置工具、技能、Python 环境和认证，不自动继承主会话能力。需要人工确认的业务不安排无人值守执行。提交结果不明时先按原标识查询，避免重复创建。

外部工具与真实任务的验收范围见[验证](validation.md)。
