DeepSeek Harness 初体验:主模型换到 opencode,联网搜索却绕不开 DeepSeek 📅 2026/8/15 8:47:27 本文首发于 栏轩·阁欢迎访问阅读原文获取更好的阅读体验。一、起因DeepSeek 涨价想试试别的路子DeepSeek 最近宣布了涨价幅度不小。恰逢官方推出了DeepSeek Harness以下简称 DSH一个开源的 AI 智能体框架主打一切皆插件。一边是涨价一边是新工具作为一个重度使用者我自然想趁这个机会看看有没有更划算的用法。第一个试的就是opencode。二、opencode两种计费模式体验不错opencode 是一款 Go 语言实现的终端 AI 编程工具生态成熟、配置灵活。它对 DeepSeek 用户很友好提供了两种计费模式模式一API Token 用量按 token 计费丰俭由人。比较惊喜的是deepseek flash 目前免费用——日常编码、问答这类场景完全够用。模式二Go 订阅服务价格10 美元/月门槛很低额度deepseek flash 双倍额度实测我用了一整个晚上5 小时重置的额度进度竟然是 0%——普通使用强度下这个订阅基本用不完。于是我把 DSH 的主对话模型切到了 opencode走llm-pi-ai适配器日常使用没遇到什么问题。三、一个让人困惑的设计联网搜索仍在消耗 DeepSeek 额度切换本来一帆风顺直到我发现了一个奇怪的现象在 DeepSeek Harness 中即使主对话模型已经切换到 opencode内置的联网搜索web_search依然走 DeepSeek 官方 API继续消耗 DeepSeek 额度。也就是说主对话和联网搜索是两套完全独立的东西——对话走你的新通道搜索却绕不开 DeepSeek 的账单。联网搜索的本质一次特定提示词的 API 对话很多人以为联网搜索是 Harness 自带的能力其实不然。我扒了一下 DSH 的源码dsh-web-search-deepseek插件真相是一次联网搜索 一次固定提示词的模型 API 调用请求体大致长这样{model:deepseek-v4-flash,// 默认模型不是 promax_tokens:4096,// 输出上限messages:[{role:user,content:[{type:text,text:Perform a web search for the query: 你的搜索词// 唯一的提示词}]}],tools:[{type:web_search_20250305,name:web_search,max_uses:5}]}也就是说搜索不是本地实现的而是把Perform a web search for the query: xxx当作一条用户消息发给 DeepSeek 的Anthropic 兼容端点api.deepseek.com/anthropic/v1/messagesDeepSeek 在服务端执行原生搜索返回结构化的web_search_tool_result块每次搜索都是一次单轮、独立、全额计费的模型调用与主对话的上下文完全隔离KV cache 也无法复用——每搜一次就多一份账单。也想换搜索供应商但 opencode 不支持查了一圈发现DSH 其实提供了搜索供应商的配置入口在图形界面的设置页web-search-deepseek 段里可以修改搜索用的 API 端点、Key 和模型而且改动对下一次搜索即时生效。所以理论上搜索也可以指向其他服务商。我第一个想到的就是 opencode——既然主对话已经切过去了搜索也一起切过去多好。但实测下来opencode 不支持联网搜索。我用 CC Switch 给 Codex、Claude Code 配置 opencode Go 时对话都正常唯独一调用 WebSearch 工具就报错“api 上游有问题”DSH 这边同样无法把搜索指向它。也就是说这不是 DSH 不让你换而是 opencode 这个供应商本身就没有联网搜索这个能力。四、另一个谜团web_fetch 也被禁用了更让我不解的是DSH 的web_fetch抓取指定网页内容能力在默认配置下是禁用的——查了宿主组合配置tool-web插件被显式设置为fetch: false且默认没有挂载任何 fetch provider。源码注释给出的理由是SSRF服务器端请求伪造防护当前发行版刻意不提供 fetch provider因为让模型自行选择抓取目标 URL 存在安全风险。禁用原因清楚了但副作用也很现实连只抓网页、不烧模型额度这条路径也没有了想联网就只剩搜索这一条路。五、几条路都试过最终还是用回原来的如果你也遇到同样的情况这几条路我都实际试过方案一直接关闭联网搜索最省事在 DSH 的配置文件如cordis.patch.yml中禁用搜索工具-id:tool-webconfig:search:false代价是模型失去发现式联网能力但不再消耗 DeepSeek 额度。方案二换免费的搜索后端插件保留搜索能力社区已有现成插件例如DeepSeek-Harness-Web-Tools基于 DuckDuckGo、无需任何 API key 的免费web_search/web_fetch。装上后把 DSH 的searchProvider指向它搜索就走 DuckDuckGo彻底绕开 DeepSeek API。类似的还有dsh-web-search-pro、dsh-all-search等可以在 awesome-deepseek-harness 插件清单里淘一淘。方案三自己配置搜索服务商实测走不通理论上 DSH 允许把搜索指向任何兼容 Anthropic 协议的服务商我也试过自己配置——但 opencode 不支持联网搜索其他兼容方案又需要额外的 key 和折腾成本。这条路实测走不通。最终的选择保持使用原来的试了一圈我最终决定保持使用原来的 DeepSeek 官方搜索搜索用的是deepseek-v4-flash单次成本不算高关闭搜索会失去联网能力插件方案又需要额外折腾我平时搜索用得不多这点开销完全可以接受。对话已经切到 opencode搜索保持原样用起来反而最省心。如果你搜索用得多再考虑方案一或方案二。