前言¶
在使用 Trae 积分或 WorkBuddy 积分配置 DeepSeek Harness(DSH)时,常见的问题是:模型对话功能正常,但 web_search 功能一直返回 401 错误。这是因为 DSH 的内置搜索模块只认 DEEPSEEK_API_KEY,而积分配置下并不存在这个 Key。
dsh-web-search-nokey 插件通过往 ctx.web 注册一个无需凭据的 WebSearchProvider,将查询请求直接转发给公开搜索页,从而修复了这个问题。
插件简介¶
- 名称:dsh-web-search-nokey
- 一句话:Keyless web search for DeepSeek Harness
- 作者:a1435473620
- 类别:联网工具
- 许可证:MIT
核心功能¶
- 免 Key 搜索:无需配置 API Key,直接调用公开搜索接口。
- 修复 401 错误:专门解决 Trae / WorkBuddy 积分配置下
web_search返回 401 的问题。 - 多后端支持:使用 Bing RSS、Bing 网页、360 搜索作为搜索后端。
- 环境变量支持:支持通过
DSH_WEB_SEARCH_NOKEY_*前缀的环境变量配置各项参数。 - 代理支持:支持通过配置文件或环境变量设置代理。
安装¶
使用 DSH 的插件命令安装。安装后直接生效,无需修改配置或重启。
dsh plugin --profile web add github:a1435473620/dsh-web-search-nokey
安装到 npm 后,也可以使用短名:
dsh plugin --profile web add dsh-web-search-nokey
卸载:
dsh plugin --profile web remove dsh-web-search-nokey
配置与使用¶
直接调用 web_search,请求会自动路由到此插件。
插件包内包含 cordis.patch.yml,用于将 web.searchProvider 写死为该插件,防止与 DSH 内置后端冲突导致搜索失效。
一般无需修改配置。如需调整,可编辑 profile 中的 cordis.patch.yml(或通过环境变量):
| 字段 | 默认值 | 说明 |
|---|---|---|
engines |
bing-rss, bing-html, so360 |
后端顺序,即兜底顺序 |
maxResults |
8 |
单次搜索结果上限 |
timeoutMs |
12000 |
单个上游请求超时时间 |
proxy |
空 | 需要代理时填写,例如 http://127.0.0.1:7897 |
环境变量覆盖格式为 DSH_WEB_SEARCH_NOKEY_ 加上配置项名(例如 DSH_WEB_SEARCH_NOKEY_PROXY)。同时支持系统环境变量 HTTPS_PROXY / HTTP_PROXY。
注意事项¶
- 360 搜索特性:360 搜索结果为跳转壳,需点击才能到达真实页面,仅作为兜底后端。
- 日期缺失:多数结果没有发布日期(Bing RSS 返回的是抓取时间而非发布时间),旧页面可能显得很新。
- 限流风险:使用公开搜索页,非官方 API,调用量过大可能被限流,日志会记录
engine=xxx failed并自动切换后端。 - 依赖零:无额外工具或 UI,不依赖任何外部库。
结语¶
对于使用 Trae 或 WorkBuddy 积分的 DSH 用户,这是解决 web_search 401 错误的实用方案。它不提供额外功能,专注于解决“无 Key 无法搜索”这一核心痛点。