4.1 内置工具详解

OpenCode内置了13+个强大工具,让AI能够与你的开发环境进行深度交互。

内置工具列表

工具功能说明
bash在项目环境中执行shell命令
edit使用精确字符串替换修改现有文件
write创建新文件或覆盖现有文件
read读取代码库中的文件内容
grep使用正则表达式搜索文件内容
glob按模式匹配查找文件
list列出给定路径中的文件和目录
lsp通过LSP获取代码智能(实验性)
patch对文件应用补丁
skill加载技能文档(SKILL.md)
todowrite写入待办事项列表
todoread读取待办事项列表
webfetch获取网页内容
question向用户提问

文件操作工具

read - 读取文件

AI使用此工具读取项目中的文件内容,支持部分读取。

write - 写入文件

创建新文件或完全覆盖现有文件的内容。

edit - 编辑文件

使用精确字符串匹配进行局部替换,适合小范围修改。

patch - 应用补丁

应用diff格式的补丁到文件。

搜索工具

grep - 内容搜索

使用正则表达式搜索文件内容,支持跨文件搜索。

glob - 文件查找

按glob模式查找文件,如 **/*.ts

list - 目录列表

列出指定目录中的文件和子目录。

执行工具

bash - Shell命令

在项目环境中执行shell命令,可以运行构建、测试、git等操作。

扩展工具

lsp - 语言服务

通过LSP获取代码定义、引用、悬停信息等。这是实验性功能。

webfetch - 网页获取

获取网页内容用于参考。

skill - 技能加载

加载SKILL.md文件中定义的技能文档。

工具权限配置

工具使用三种权限状态:

  • allow - 自动执行
  • ask - 需要确认
  • deny - 禁止使用
{
  "permission": {
    "bash": "ask",
    "edit": "allow",
    "read": "allow",
    "write": "allow",
    "webfetch": "ask"
  }
}

通过MCP扩展工具

可以通过MCP(Model Context Protocol)服务器添加自定义工具。详见MCP协议服务器章节。

下一步

接下来了解OpenCode的斜杠命令系统。