工具能力
Tool 是 Agent 能够执行的结构化动作。模型负责提出“调用哪个工具和提供什么参数”,Captain Who 负责验证工具是否存在、当前任务是否有权限、是否需要审批,以及结果如何安全地返回给模型和界面。
当前工具类别
| 类别 | 常见用途 |
|---|---|
| 工作区与附件 | 列出文件、搜索代码、读取文本、图片和 Office 内容 |
| 文件写入 | 应用补丁、创建或流式写入文件 |
| 命令与 Git | 执行非交互命令、等待长任务、查看 Git 状态与差异 |
| 网络 | Tavily 搜索、读取网页 |
| 历史 | 查找当前对话中的旧消息、工具结果和归档片段 |
| Skill | 激活 Skill、读取资源、运行受审查脚本、准备安装 |
| Office 与图片 | 检查、渲染和通过 Skill 创建文档,生成或编辑图片 |
| MCP 与浏览器 | 调用外部 MCP Tool,控制受管浏览器 |
| 协作 | 创建、通知、跟进、等待或中断子 Agent |
不是每次 Run 都拥有全部工具。每次模型请求真正可用的 Tool 会根据项目、权限、模型、配置、已激活 Skill、MCP Server 和内置能力确定;激活 Skill 或浏览器能力后,下一次模型请求的 Tool 集合可以更新。
用户如何使用 Tool
通常不需要记工具名称或手写调用语法。把目标、范围和验收条件讲清楚即可。例如:
在当前项目中找出所有读取 APP_ENV 的位置,说明每处用途。只读,不运行命令。如果你希望 Agent 使用特定方式,可以直接说明:
先运行现有单元测试,再修改;不要安装依赖。完成后用 Git 差异列出变更。
Agent 会在时间线中展示工具活动。文件、命令、MCP、浏览器和 Office 等高影响操作可能暂停等待审批。
一次工具调用如何完成
- 模型提出工具和参数。
- Captain Who 检查参数、路径、当前权限和工具版本。
- 安全的只读动作直接执行;其他动作进入审批或被拒绝。
- 工具返回结构化结果,Agent 根据结果继续下一步。
- 调用和结果被记录到当前任务历史。
界面里的工具卡片是安全摘要,不一定包含全部原始输出。大结果会分页、截断或保留首尾;部分文本可以由 Agent 通过历史工具按需回查。
命令工具不是右侧栏终端
Agent 命令面向构建、测试、查询和脚本等非交互工作:
- 不支持任意交互式输入。
- 普通命令会先等待一个短时间;仍在运行时转为受管命令会话。
- Agent 可以等待结果或请求中断;受管命令会话不接受任意交互式输入。
- 应用重启后不能重新附着旧操作系统进程;不确定结果不会自动重跑。
右侧栏 Terminal 则由你直接控制,不进入 Agent 历史,Agent 也不能隐式接管它。
审批和停止
审批绑定的是一次已经冻结的具体动作。批准后如果目标文件或关键状态发生变化,执行可能因冲突失败,而不会盲目作用到新内容。
停止运行会取消后续工作,但不能保证撤回已经执行的动作。对于提交表单、发送网络请求、启动外部工具或付费图片生成,界面若显示“结果待确认”,应先核对外部系统再决定是否重试。
常见误解
- 工具出现在目录中,不代表当前任务有权调用。
- 模型称某个动作“只读”不构成安全判断;Captain Who 会独立检查。
- 完全权限不等于关闭所有安全检查。
- Tool 结果摘要不是完整日志,也不保证上游没有提前截断。
- Skill 和 MCP 可以增加工具,但不能绕过现有项目和权限边界。