当前位置: 首页 > news >正文

DeepSeek Harness 初体验:主模型换到 opencode,联网搜索却绕不开 DeepSeek


📝本文首发于 栏轩·阁

欢迎访问阅读原文,获取更好的阅读体验。


一、起因: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/messages);
  • DeepSeek 在服务端执行原生搜索,返回结构化的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-prodsh-all-search等,可以在 awesome-deepseek-harness 插件清单里淘一淘。

方案三:自己配置搜索服务商(实测走不通)

理论上 DSH 允许把搜索指向任何兼容 Anthropic 协议的服务商,我也试过自己配置——但 opencode 不支持联网搜索,其他兼容方案又需要额外的 key 和折腾成本。这条路实测走不通。

最终的选择:保持使用原来的

试了一圈,我最终决定保持使用原来的 DeepSeek 官方搜索

  • 搜索用的是deepseek-v4-flash,单次成本不算高;
  • 关闭搜索会失去联网能力,插件方案又需要额外折腾;
  • 我平时搜索用得不多,这点开销完全可以接受。

对话已经切到 opencode,搜索保持原样,用起来反而最省心。如果你搜索用得多,再考虑方案一或方案二。

http://www.jsqmd.com/news/1397154/

相关文章:

  • 从云端到本地:OpenClaw AI智能体本地化部署实战指南
  • 从优秀毕业生到职场精英:个人品牌塑造与能力封装实战指南
  • 六大Coding Agent源码剖析:上下文压缩技术实战与避坑指南
  • Unity游戏翻译神器XUnity.AutoTranslator:零基础完成游戏汉化,只需走完这4个阶段
  • WorkBuddy多端同步全解析:从原理到实践,打通跨设备工作流
  • 3 分钟让 GitHub 说中文:GitHub 汉化插件安装教程与使用体验
  • Node.js环境搭建与多版本管理实战:从v12.20.2安装到版本切换全解析
  • Juice-Shop靶场四星挑战:Web安全实战解析
  • 一个工作区,统一驾驭 Claude Code、Codex 和你的所有 AI Agent:holaOS 深度体验!
  • 【学习地图】ARM嵌入式类 · 文章索引
  • 【原创唯一】基于SpringBoot+Vue的仓库管理系统 课程设计/大作业/期末作业(源码+MySQL数据库+实验报告+PPT+远程部署)
  • IntelliJ IDEA内存占用过高?JVM调优与性能优化全攻略
  • 1 台电脑也能开黑?Nucleus Co-op 本地分屏完整指南:800+ 游戏、零额外成本
  • 按键精灵自动化脚本实战:从原理到实现《暗黑破坏神》野蛮人高效刷图
  • Event-Sourced Session:AI Agent 的“会话即事件流“设计
  • 基于OpenClaw AI智能体框架构建酒店收益管理系统的实践指南
  • 百度网盘下载链接解析:3步直链获取告别限速与客户端
  • AI智能体架构解析:从核心原理到企业级应用实践
  • TCP/IP五层模型解析与网络通信实战指南
  • Muse Glimmer API调用实战:从零到一掌握轻量级AI图像生成
  • CPPS工作证明模板怎么找机构领取? - 众智商学院官方
  • APMCM数学建模竞赛全流程实战指南:从组队到论文写作
  • Altium Designer 16 Gerber文件导出全流程详解与实战避坑指南
  • Langfuse实战:构建可观测的大模型智能体应用
  • 酒店服务机器人技术架构、商业困境与实战调度系统解析
  • G-Helper 免费替代奥创全攻略:5 分钟完成安装,轻松掌控华硕笔记本性能与风扇
  • 亲测智慧树刷课插件:一个晚上自动看完整个章节,手几乎没碰过鼠标
  • SaaS 出海北美踩坑:WebSocket 频繁断连、接口超时,CDN+Nginx 优化完整实践
  • 过去一周Android Flutter行业动态汇总:5大实用建议与5个值得关注的信息
  • AI 项目如何守住续约?客户健康度、质量漂移与组织单点风险