









零 API key、零依赖、零模型账单——用你自己的浏览器给 DSH 提供搜索能力。 #dsh-plugin
如果你在用 DSH(DeepSeek Harness),可能没注意到一件事:模型每调用一次 web_search 工具,后台就是一次 deepseek-v4-flash 的完整计费请求。
这是 DSH 自带搜索路由的实现方式——DeepSeek 没有独立的搜索端点,DSH 的做法是发起一次携带 web_search 服务器工具的完整模型调用。问题在于:
今天推荐的开源插件 dsh-web-search-ddg,就是来解决这件事的:它把搜索提供方换成你本地的浏览器——用机器上已经装好的 Chrome/Edge 以 headless 模式访问 DuckDuckGo,解析出结果链接返回给模型。
三个”零”:
全自动安装:直接把文末github地址扔给DeepSeek Harness。
手动安装:
第一步,在你的 DSH profile 目录下(通常是 ~/.dsh/profiles/web)安装:
ounter(linepnpm add dsh-web-search-ddg
第二步,编辑 cordis.patch.yml,加两段:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 把默认搜索提供方切到本地浏览器- id: webconfig:searchProvider: ddg-browser# 挂载插件- insert:- id: web-search-ddgname: dsh-web-search-ddg
重启 dsh web,生效。之后模型的每次 web_search 都走本地浏览器,DeepSeek 账单里再也不会出现搜索产生的扣费。
验证配置是否正确(不用启动宿主):
ounter(linedsh --profile web --dump-config | grep -A2 searchProvider
自带的 DeepSeek 搜索提供方始终保持注册,切回来只是把 searchProvider 改回 deepseek-official。
这里有个设计细节值得说一下:DSH 的提供方选择是单一显式 ID,不是优先级链,没有静默降级。所以如果哪天 DuckDuckGo 反爬收紧,插件会明确报错、告诉你原因和怎么切回——而不是悄悄换个通道,让你以为一切正常结果搜索质量悄悄变差。对账单敏感的场景,这种”笨拙的诚实”其实很宝贵。
插件本体只有一个约 250 行的 index.js,流程很直白:
web_search 工具和结果卡片无需任何改动,体验一致。几个工程上的处理:headless 浏览器的 UA 会被覆盖成普通桌面 Chrome(否则会被反爬识别拦截);每次搜索有超时兜底和两次尝试;临时浏览器配置用完即删。
全部可选,不配也能跑:
| 配置键 | 默认值 | 说明 |
|---|---|---|
chromePath | 自动探测 | 浏览器可执行文件路径。macOS 的 Chrome/Edge/Chromium 和 Linux 常见路径会自动识别 |
timeoutMs | 20000 | 单次尝试的超时预算,每次搜索共两次尝试 |
virtualTimeBudgetMs | 8000 | 页面沉寂多久后 dump DOM |
浏览器探测覆盖:macOS(Chrome、Edge、Chromium)与 Linux(/usr/bin/chromium、/usr/bin/google-chrome),找不到时用 chromePath 指定即可。
开源工具先说清限制,你再决定要不要用:
一句话总结适用人群:主力模型不在 DeepSeek 家、或者单纯不想让搜索产生模型账单的 DSH 用户,延迟不敏感的话,这就是当前最省心的方案。
README 有中英双语文档、完整的安装和故障排查说明。觉得有用欢迎 star,遇到问题直接提 issue。
在 macOS + DSH 0.1.0-rc.6 环境下实测通过。如果你也在DSH同时使用多家模型,欢迎聊聊你的账单优化心得。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。