在 CLI 中使用搜索
了解搜索工具的启用与权限,在 OpenCode 中检索网页、核对来源并扩展查询。
本页继续使用 OpenCode 连接 OptiWaves,说明怎样允许搜索,以及怎样要求更充分的多来源检索。
1. 启用 OptiWaves 内置搜索
先确认已经配置 OpenCode,然后在终端启动:
opencode --model optiwaves/auto --agent plan连接后可使用以下搜索工具:
| 工具 | 用途 |
|---|---|
web_search | 搜索网页和查找来源 |
fetch_content | 阅读网页正文 |
完成 CLI 配置后,无需再安装搜索工具或填写另一把密钥。在问题中要求先搜索并附上来源即可。
如果你直接开发 API 调用,省略 tool_choice 或设置为 auto 即允许工具调用。设置为 none 会关闭包括内置搜索在内的工具使用。Responses 的请求体示例:
{
"model": "auto",
"input": "请检索 OpenCode 官方资料,说明怎样切换会话,并附来源链接。",
"tool_choice": "auto"
}使用 API 的 tool_choice 控制 OptiWaves 搜索;OpenCode 自带工具的权限设置见下方。
2. 在对话中要求搜索
在 OpenCode 的输入框发送:
请先检索 OpenCode 的官方文档,确认怎样新建会话、继续已有会话和切换模型。给出操作步骤,并附上支持这些步骤的来源链接。为方便核对,说明你要查的对象、时间范围和希望的来源。回答后检查链接内容与日期是否支持结论;如果工具不可用或资料不足,应让模型说明缺口。
3. OpenCode 本地搜索权限怎样允许
如果 OpenCode 自己的工具弹出权限请求,可以选择允许本次,或在当前会话中持续允许匹配的请求。默认配置和当前 agent 的权限都会影响是否弹出确认。
需要让 OpenCode 的本地网页工具自动运行时,可将下面的 permission 字段合入当前项目的 opencode.json,保留已有的模型、provider 和其他设置,然后重启 OpenCode:
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"webfetch": "allow",
"websearch": "allow"
}
}allow 表示自动允许,ask 表示每次询问,deny 表示禁止。这里仅设置两种网页工具;具体语法见 OpenCode 权限说明。
这些设置用于 OpenCode 自带的 webfetch 和 websearch。要关闭 OptiWaves 搜索,请在 API 请求中设置 tool_choice: "none"。
OpenCode 自带网页工具的用法见 OpenCode 工具说明。
4. 在 CLI 中进行扩展检索
需要核对更多来源时,在问题中列出比较角度、版本与时间范围,并要求逐项提供依据。
可以直接发送下面的要求:
请对 OpenCode 的配置优先级做多来源检索:
1. 先查官方配置文档和相关更新说明。
2. 分别核对全局配置、项目配置和环境变量覆盖的作用范围。
3. 读取关键页面正文,比较结论是否一致。
4. 给出来源链接、资料日期和仍不确定的地方。
工具或资料不足时说明缺口,不要把未核实的内容当作结论。同样的做法适用于其他支持 OptiWaves API 的 CLI 客户端。想继续扩大范围,可以在下一条消息中指定还需核对的版本、来源或问题。
可选:添加 /search-more 快捷指令
如果经常做这类检索,可在当前项目中创建 .opencode/commands/search-more.md,写入以下完整内容:
---
description: 多来源检索与交叉核对
agent: plan
model: optiwaves/auto
---
请使用 OptiWaves 的 web_search 和 fetch_content 检索并核对:
$ARGUMENTS
先拆成 2–4 个查询,优先官方与一手资料。
读取关键页面正文,比较主要结论,并给出来源链接和资料日期。
已有材料不足或工具达到上限时,明确说明缺口。
只在对话中回答。保存后,在这个项目目录重新启动 OpenCode,在对话输入框调用:
/search-more OpenCode 全局配置、项目配置和环境变量的优先级$ARGUMENTS 会替换为指令后面的主题。/search-more 是按本页自行创建的提示词快捷指令,默认安装不会自带。 自定义指令的机制见 OpenCode Commands。
软件包查询、计算与实时数据的用法见工具板块。
消耗与限制
搜索结果和会话历史会增加输入用量,后续分析与回答计入输出用量。
搜索费用按所选模型和实际 token 计算,详见消耗说明。
没有搜到结果时
| 情况 | 检查或处理 |
|---|---|
| 模型直接回答,没有检索 | 明确要求先搜索并读取来源;允许工具不保证一定调用 |
| API 调用关闭了工具 | 检查是否发送了 tool_choice: "none" |
| OpenCode 本地工具被拒绝 | 检查项目和当前 agent 的权限;本地权限不控制内置搜索 |
/search-more 未识别 | 检查文件是否位于当前项目的 .opencode/commands/,然后重启客户端 |
| 资料不足或达到工具上限 | 缩小问题,或在下一条消息中补充检索方向;保留未核实项 |
返回 401、403 或 429 | 按 API 错误与限制检查密钥、权限和额度 |