跳到主要内容

工具命令

📋 概述

工具命令用于管理 OpenCode 的工具系统,包括查看可用工具、工具详情、工具状态等。

OpenCode 提供了 40+ 种内置工具,涵盖文件操作、代码搜索、网络请求等多个领域。

📋 查看工具列表

列出所有可用的工具

输出信息:

  • 工具名称
  • 工具描述
  • 工具分类
  • 工具状态

工具分类:

文件操作工具

  • read: 读取文件内容
  • write: 写入文件
  • edit: 编辑文件
  • glob: 文件搜索
  • grep: 内容搜索

开发工具

  • bash: 执行 shell 命令
  • npm: NPM 包管理
  • git: Git 版本控制

网络工具

  • webfetch: 获取网页内容
  • websearch: 网络搜索
  • http: HTTP 请求

数据工具

  • json: JSON 处理
  • yaml: YAML 处理
  • xml: XML 处理

AI 工具

  • task: 子任务代理
  • skill: 技能调用

🔍 查看工具详情

查看特定工具的详细信息

输出内容:

  • 工具功能描述
  • 使用参数
  • 参数类型说明
  • 返回值说明
  • 使用示例
  • 注意事项

查看示例:

opencode tool info read
opencode tool info bash
opencode tool info webfetch

⚙️ 工具配置

启用/禁用工具

控制特定工具的可用性

# 启用工具
opencode config set tools.read.enabled true

# 禁用工具
opencode config set tools.websearch.enabled false

使用场景:

  • 安全限制:禁用某些危险工具
  • 环境适配:禁用不适用于当前环境的工具
  • 性能优化:减少不必要的工具加载

工具参数配置

配置工具的默认参数

# 配置 Bash 工具超时时间
opencode config set tools.bash.timeout 30000

# 配置 Read 工具默认读取行数
opencode config set tools.read.default_lines 100

# 配置 Webfetch 工具超时时间
opencode config set tools.webfetch.timeout 10000

🛠️ 常用工具详解

Read 工具

读取文件内容

功能特点:

  • 支持部分读取(指定行数)
  • 支持大文件流式读取
  • 自动检测文件编码

使用场景:

  • 查看代码文件
  • 检查配置文件
  • 读取日志文件

Write 工具

写入文件内容

功能特点:

  • 自动创建目录
  • 支持追加模式
  • 文件存在确认

使用场景:

  • 创建新文件
  • 生成代码
  • 写入配置

Edit 工具

编辑文件内容

功能特点:

  • 精确替换
  • 多处替换
  • 差异预览

使用场景:

  • 修改代码
  • 更新配置
  • 批量替换

Bash 工具

执行 shell 命令

功能特点:

  • 跨平台支持
  • 实时输出
  • 错误捕获

使用场景:

  • 运行构建命令
  • 执行测试
  • 系统管理

Glob 工具

文件路径模式匹配

功能特点:

  • 支持 glob 模式
  • 递归搜索
  • 快速匹配

使用场景:

  • 查找特定文件
  • 批量文件处理
  • 项目结构分析

Grep 工具

文件内容搜索

功能特点:

  • 正则表达式支持
  • 多文件搜索
  • 高性能匹配

使用场景:

  • 查找代码片段
  • 搜索特定文本
  • 代码审查

Webfetch 工具

获取网页内容

功能特点:

  • 支持 Markdown 转换
  • 自动超时
  • 错误处理

使用场景:

  • 获取文档
  • 读取网页
  • API 调用

Task 工具

创建子任务代理

功能特点:

  • 独立会话
  • 结果返回
  • 并行执行

使用场景:

  • 并行处理任务
  • 拆分复杂任务
  • 专项代理

🔧 工具使用技巧

组合使用工具

将多个工具组合使用完成复杂任务

示例流程:

  1. 使用 Glob 查找文件
  2. 使用 Grep 搜索内容
  3. 使用 Read 读取匹配文件
  4. 使用 Edit 修改内容

工具权限管理

为不同场景配置不同的工具权限

权限策略:

  • 开发环境:启用所有工具
  • 生产环境:限制危险工具
  • 审查模式:禁用写操作

📊 工具使用统计

查看工具使用情况

统计信息:

  • 工具调用次数
  • 成功/失败率
  • 平均执行时间
  • 常用工具排行

🚀 自定义工具

创建自定义工具扩展 OpenCode 功能

开发步骤:

  1. 定义工具接口
  2. 实现工具逻辑
  3. 注册工具
  4. 测试工具

支持语言:

  • TypeScript
  • JavaScript

📝 常见问题

Q: 如何知道 AI 会使用哪个工具?

A: AI 会根据你的描述和任务需求自动选择合适的工具,你可以在对话中指定使用特定工具。

Q: 工具执行失败怎么办?

A: 查看错误信息,检查工具配置和权限,可以使用 tool info 查看工具详情。

Q: 可以限制某些工具的使用吗?

A: 可以,通过配置禁用特定工具,或者设置权限规则。

📖 相关文章