Tools 索引
本目录包含 OpenCode 所有可用工具的详细文档。
概述
OpenCode 提供了丰富的工具集,支持 AI 助手执行各种操作,包括文件操作、命令执行、Web 交互、代码搜索等。每个工具都有明确的参数定义、执行逻辑和返回格式。
工具分类
文件操作(7 个)
这些工具用于读取、写入、编辑和搜索文件。
| 工具 | 说明 | 文档 |
|---|---|---|
| read | 读取文件内容 | read.md |
| write | 写入文件内容 | write.md |
| edit | 编辑文件(基于行号) | edit.md |
| apply-patch | 应用补丁(diff 格式) | apply-patch.md |
| glob | 文件模式匹配 | glob.md |
| grep | 内容搜索 | grep.md |
| ls | 目录列表 | ls.md |
典型场景:
- 读取配置文件和源代码
- 创建和修改文件
- 搜索特定内容或文件
- 应用代码变更(补丁)
命令执行(2 个)
这些工具用于在系统中执行 Shell 命令。
| 工具 | 说明 | 文档 |
|---|---|---|
| bash | 执行 Shell 命令 | bash.md |
| batch | 批处理命令(实验性) | batch.md |
典型场景:
- 运行构建、测试和部署命令
- 执行 Git 操作
- 管理依赖和包管理器
Agent 通信(1 个)
支持 Agent 之间通信的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| task | 启动子 Agent | task.md |
Web 操作(2 个)
与 Web 服务交互的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| webfetch | 获取 Web 内容 | webfetch.md |
| websearch | Web 搜索 | websearch.md |
代码搜索(1 个)
语义化代码搜索工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| codesearch | 语义代码搜索 | codesearch.md |
任务管理(2 个)
用于管理待办事项列表的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| todowrite | 写入 Todo | todowrite.md |
| todoread | 读取 Todo | todoread.md |
用户交互(1 个)
与用户进行交互的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| question | 向用户提问 | question.md |
高级功能(3 个)
高级和特殊用途的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| skill | 技能系统 | skill.md |
| lsp | LSP 工具(实验性) | lsp.md |
| multiedit | 多文件编辑 | multiedit.md |
内部/实验性(4 个)
内部使用或实验性的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| invalid | 错误处理 | invalid.md |
| external-directory | 外部目录权限 | external-directory.md |
| plan-enter | 进入计划模式 | plan-enter.md |
| plan-exit | 退出计划模式 | plan-exit.md |
典型场景:
- 委派子任务给专门的 Agent
- 并行执行多个独立任务
- 实现任务拆分和并行处理
Web 操作(2 个)
与 Web 服务交互的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| webfetch | 获取 Web 内容 | webfetch.md |
| websearch | Web 搜索 | websearch.md |
典型场景:
- 获取文档和 API 文档
- 搜索技术问题和解决方案
- 下载资源文件
代码搜索(1 个)
语义化代码搜索工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| codesearch | 语义代码搜索 | codesearch.md |
典型场景:
- 查找代码模式和实现
- 搜索最佳实践
- 定位函数和类的使用示例
任务管理(2 个)
用于管理待办事项列表的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| todowrite | 写入 Todo | todowrite.md |
| todoread | 读取 Todo | todoread.md |
典型场景:
- 追踪任务进度
- 管理开发任务列表
- 组织复杂的开发工作流
用户交互(1 个)
与用户进行交互的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| question | 向用户提问 | question.md |
典型场景:
- 请求用户确认或选择
- 收集用户偏好
- 澄清模糊的需求
高级功能(3 个)
高级和特殊用途的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| skill | 技能系统 | skill.md |
| lsp | LSP 工具(实验性) | lsp.md |
| multiedit | 多文件编辑 | multiedit.md |
典型场景:
- 重用预定义的技能
- LSP 集成(代码补全、诊断)
- 批量编辑多个文件
内部/实验性(4 个)
内部使用或实验性的工具。
| 工具 | 说明 | 文档 |
|---|---|---|
| invalid | 错误处理 | invalid.md |
| external-directory | 外部目录权限 | external-directory.md |
| plan-enter | 进入计划模式 | plan-enter.md |
| plan-exit | 退出计划模式 | plan-exit.md |
典型场景:
- 错误处理和工具回退
- 访问外部目录权限管理
- 计划模式的工作流
工具总览表
| ID | 名称 | 分类 | 文档 |
|---|---|---|---|
| invalid | invalid | 内部 | invalid.md |
| bash | bash | 命令执行 | bash.md |
| read | read | 文件操作 | read.md |
| glob | glob | 文件操作 | glob.md |
| grep | grep | 文件操作 | grep.md |
| edit | edit | 文件操作 | edit.md |
| write | write | 文件操作 | write.md |
| task | task | Agent 通信 | task.md |
| webfetch | webfetch | Web 操作 | webfetch.md |
| todowrite | todowrite | 任务管理 | todowrite.md |
| todoread | todoread | 任务管理 | todoread.md |
| websearch | websearch | Web 操作 | websearch.md |
| codesearch | codesearch | 代码搜索 | codesearch.md |
| skill | skill | 高级功能 | skill.md |
| apply-patch | apply-patch | 文件操作 | apply-patch.md |
| question | question | 用户交互 | question.md |
| lsp | lsp | 高级功能 | lsp.md |
| batch | batch | 命令执行 | batch.md |
| multiedit | multiedit | 高级功能 | multiedit.md |
| external-directory | external-directory | 内部 | external-directory.md |
| plan-enter | plan-enter | 内部 | plan-enter.md |
| plan-exit | plan-exit | 内部 | plan-exit.md |
使用指南
选择合适的工具
1. 文件操作
- 读取文件:使用
read - 写入文件:使用
write或edit - 搜索文件:使用
glob - 搜索内容:使用
grep - 应用变更:使用
apply-patch
2. 命令执行
- 一般命令:使用
bash - 批处理:使用
batch(实验性)
3. Web 交互
- 获取内容:使用
webfetch - 搜索信息:使用
websearch
4. Agent 协作
- 委派任务:使用
task
5. 代码搜索
- 语义搜索:使用
codesearch
6. 任务管理
- 管理 Todo:使用
todowrite和todoread
7. 用户交互
- 提问用户:使用
question
工具组合模式
模式 1:读取 → 分析 → 修改
read → grep → edit → write
模式 2:搜索 → 批处理
glob → bash (multiple files) → task (parallel processing)
模式 3:Web 获取 → 处理
websearch → webfetch → write
模式 4:用户确认 → 执行
question → bash (based on answer)
相关文档
- Tool System - Tool 系统实现机制
- Agent - Agent 配置
- Permission - 权限系统
- Plugin - 插件系统
变更历史
| 版本 | 变更内容 | 日期 |
|---|---|---|
| v1 | 初始工具索引 | - |