四个基础工具
模型通过工具与工作目录交互。执行内核提供 read、write、edit、bash 四个基础工具;桌面的提问、协作、联网和后台执行由系统内置插件装配。公共 TypeScript SDK 在内核上提供 Read、Write、Edit、Bash 等标准工具;Glob、Grep 仅保留占位定义,暂不支持,详见SDK。本页介绍桌面的基础工具行为。
| 工具 | 用途 | 操作结果 |
|---|---|---|
read |
阅读文本或图片 | 返回有界内容、行号范围或图片 |
write |
新建或完整覆盖文件 | 文件写入及可用的变更信息 |
edit |
精确替换已存在文本 | 成功修改或不匹配、冲突诊断 |
bash |
执行搜索、构建、测试等命令 | 输出、退出状态,桌面可能转为后台任务 |
如何在任务中使用
自然语言描述目标即可,模型选择工具。要求先阅读再修改,可以降低基于旧内容编辑的概率。需要确认结果时说明验证命令或期望行为。
read 支持范围读取。输出被截断时按提示继续,不能把第一页当成完整文件。重复读取未变文件可能复用此前上下文,压缩后会清理读取去重状态。
write 是整文件覆盖;局部改动优先使用精确编辑。edit 找不到目标、目标不唯一或发现读取后的外部变化时会拒绝相应修改,应重新读取再决定。
工具输出与文件变更
工具卡片展示输入、进度、输出或失败。长输出可能写入文件并提供读取入口;预览有界不代表命令只产生这些输出。文件变更摘要和审查使用快照,快照不足时会明确降级。
工具可以并行执行,但同一文件的内部写入有串行保护。进程外编辑仍可能与写入竞争,这套保护不等于跨进程文件锁。
停止和权限
停止请求会传递到工具取消信号,命令终止其可管理的进程树。已经成功写入的文件不会因取消自动撤销。
工具运行在当前用户权限下。辅助对话、子智能体的工具白名单和提示词约束具有各自边界;特别是允许 bash 时,它仍能通过系统命令读写和联网。
命令工具的接口区别
| 调用入口 | 工具与超时单位 | 后台行为 |
|---|---|---|
| 原生会话的基础工具 | bash.timeout 为秒,默认无超时 |
不提供任务调度 |
公共 TypeScript SDK query |
Bash.timeout 为毫秒 |
run_in_background 使用 SDK 自身的任务管理器,配合 TaskOutput、TaskStop |
| 桌面后台命令插件 | 覆盖 bash,timeout 为毫秒 |
支持显式后台执行、前台等待超时后转后台、输出文件及桌面任务管理 |
三者的参数名、默认值和生命周期应分别使用。桌面插件的清理与重启规则见后台命令。