最近把 OpenCode 的主力模型从 MiniMax 换成了 DeepSeek V4,顺便整理了下 webfetch 代理和 websearch 工具的配置。

webfetch 和 websearch 是什么 链接到标题

OpenCode 内置了两个和网络相关的工具:

  • webfetch——抓取指定 URL 的内容。比如你让 AI"看一下这个页面的文档",它就调用 webfetch 去获取内容。需要配置 HTTP 代理才能访问外网。
  • websearch——搜索互联网。和 webfetch 的区别是:webfetch 是你知道地址去拿内容,websearch 是你不知道地址时先搜一下。需要设置 OPENCODE_ENABLE_EXA=1 环境变量才能启用(或者用 OpenCode Zen 官方 Provider)。

之前用 MiniMax 时 链接到标题

MiniMax 的 MCP(minimax-coding-plan-mcp)自带了一个搜索工具,所以 websearch 用不上,直接从 MCP 调搜索就行。但 webfetch 还是要的,得配代理:

# ~/.zshrc
export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1

NO_PROXY 必须加,因为 OpenCode TUI 的本地 HTTP 服务不能走代理,否则会回环报错。

换 DeepSeek V4 后 链接到标题

DeepSeek 没有 MiniMax 那样的全能 MCP,自带搜索能力缺失,所以得靠 OpenCode 的 websearch 工具补上。只需要多设一个环境变量:

# ~/.zshrc
export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1
export OPENCODE_ENABLE_EXA=1

然后在 opencode.json 里放行一下权限(默认就是 allow,可省略):

{
  "permission": {
    "webfetch": "allow",
    "websearch": "allow"
  }
}

Exa 的搜索服务不需要额外 API Key,OpenCode 内部已经接好了。

完整 ~/.zshrc 参考 链接到标题

# opencode
export PATH=~/.opencode/bin:$PATH

# proxy(webfetch 用)
export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1

# websearch(DeepSeek 等无内置搜索的模型需要)
export OPENCODE_ENABLE_EXA=1

小结 链接到标题

其实就是一句话的事:用 MiniMax 只需要配代理,用 DeepSeek 需要多开一个 websearch。如果你也遇到模型切了之后发现它搜不了东西,检查下 OPENCODE_ENABLE_EXA 有没有设上。