工具
工具使 LLM 能够在代码库中执行操作。OpenCode 提供内置工具,并可通过自定义工具和 MCP 服务器扩展。
配置
通过 opencode.json 中的 permission 字段管理工具:
"allow"- 无需批准即可执行"deny"- 阻止执行"ask"- 需要用户批准
{
"permission": {
"edit": "ask",
"bash": "ask"
}
}支持通配符模式:"mcp_*" 用于多个工具。
内置工具
文件操作
| 工具 | 用途 |
|---|---|
| read | 读取文件内容 |
| write | 创建或覆盖文件 |
| edit | 精确字符串替换 |
| patch | 应用差异和补丁 |
搜索和发现
| 工具 | 用途 |
|---|---|
| grep | 使用正则表达式搜索 |
| glob | 按模式查找文件 |
| list | 枚举目录内容 |
执行和集成
| 工具 | 用途 |
|---|---|
| bash | 执行 shell 命令 |
| lsp | 代码智能(实验性) |
专用工具
| 工具 | 用途 |
|---|---|
| skill | 加载 SKILL.md 内容 |
| webfetch | 获取网页 |
| question | 询问用户问题 |
| todowrite/todoread | 管理任务列表 |
文件忽略
默认情况下,搜索工具遵循 .gitignore。创建 .ignore 文件以允许搜索否则被忽略的目录。