DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

a1435473620 /

a1435473620/dsh-web-search-nokey

Verified

给 DeepSeek Harness 的免 key 搜索插件,也可以修复接 Trae / WorkBuddy 积分时 web_search 恒 401。

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@49eb3556

dsh-web-search-nokey

给 dsh 一个不用 API key 的搜索。

用 Trae 积分 / WorkBuddy 积分把模型接进 dsh 的人,大概率撞过这个:

DeepSeek API error (HTTP 401): Authentication Fails, Your api key: ****1b24 is invalid

聊天是好的,web_search 一直 401。装完这个插件就好了,不需要任何 key。

中文 · English

中文

它修的是什么

dsh 里聊天和搜索不是一条路。聊天走你配置的连接器,搜索是另一个内置模块,只认 DEEPSEEK_API_KEY。你用积分跑模型,手里没有那把 key,搜索就永远是死的。

这个插件往 ctx.web 注册一个不用凭据的 WebSearchProvider,查询直接打公开搜索页,结果按 seam 的 source 格式交回去。

web_fetch 本来就没事。它是匿名抓取,压根没有凭据环节。

装

dsh plugin --profile web add github:a1435473620/dsh-web-search-nokey

发到 npm 之后也可以写短名:

dsh plugin --profile web add dsh-web-search-nokey

装完就生效,不用改配置,也不用重启。不是 npm install -g —— 这是 dsh 插件,要装进 profile。

卸载:

dsh plugin --profile web remove dsh-web-search-nokey

包里那个 patch 别删

dsh 的搜索后端同一时间只能选一个。不显式指定,它会去数有几个能用的;内置那个后端永远说自己能用,两个一撞就是 WEB_PROVIDER_AMBIGUOUS,搜索反而彻底挂掉。

所以包里带了 cordis.patch.yml,把 web.searchProvider 写死成这个插件。删了它,插件本身还在,选择逻辑就乱了。

怎么用

直接用。web_search 会路由到这里。

三个后端按顺序兜底,条数够了就停:Bing RSS → Bing 网页 → 360。直连大约 200ms,返回 8 条带摘要的结果。

配置

一般不用碰。要改就改 profile 里的 cordis.patch.yml。

字段 默认 说明
engines bing-rss, bing-html, so360 顺序即兜底顺序
maxResults 8 单次上限
timeoutMs 12000 单个上游请求超时
proxy 空 需要代理时填,例如 http://127.0.0.1:7897
userAgent 桌面 Chrome 这些搜索页会拦裸客户端

环境变量同样这几项,前缀 DSH_WEB_SEARCH_NOKEY_。HTTPS_PROXY / HTTP_PROXY 也认。

已知问题

  • 多数结果没有日期。Bing RSS 给的是抓取时间不是发布时间,填进去会让旧页面显得很新,所以故意不填。
  • Bing RSS 一般只回 9 条,所以才需要第二个后端补。
  • 360 的链接是跳转壳,点一下才到真实页面。它只是兜底。
  • 走的是公开搜索页,不是官方接口。调太猛可能被限流;日志里会记 engine=xxx failed,然后自动换下一个后端。
  • 搜不到就是空列表,不报错。

和 dsh-free-search 怎么选

DDDMUC/dsh-free-search 是功能更全的那类:多引擎、设置页、时间过滤、平台搜索。你要的是可配置搜索中枢,去那边。

这个仓库只做一件事:积分用户搜不了 → 装上就能搜。没有 UI,没有账号,没有额外工具,依赖为零。

兼容性

dsh 0.1.5-rc.2、web profile、Windows 上实测过。Node 22 和 24 都跑过。

English

What it fixes

Chat and search take different paths in dsh. Chat goes through whatever connector you configured. Search is a separate built-in module that only accepts DEEPSEEK_API_KEY. On credits-based setups (Trae, WorkBuddy) that key never exists, so web_search returns 401 forever while chat keeps working:

DeepSeek API error (HTTP 401): Authentication Fails, Your api key: ****1b24 is invalid

This plugin registers a credential-free WebSearchProvider on ctx.web. Queries hit public result pages and come back in the seam's own source shape.

web_fetch was never broken — anonymous fetcher, no credential step.

Install

dsh plugin --profile web add github:a1435473620/dsh-web-search-nokey

After it's on npm, the short name works too:

dsh plugin --profile web add dsh-web-search-nokey

Takes effect immediately. Not npm install -g: this is a dsh plugin and belongs in the profile.

Remove:

dsh plugin --profile web remove dsh-web-search-nokey

Don't delete the patch

dsh allows exactly one search backend at a time. If you don't name one, it counts usable candidates — and the built-in provider always claims it is. Two candidates means WEB_PROVIDER_AMBIGUOUS, and search stops working entirely.

cordis.patch.yml pins web.searchProvider to this plugin. That file is load-bearing.

Usage

Just use it. web_search routes here.

Three backends in fallback order, stopping once there are enough results: Bing RSS → Bing HTML → 360. Roughly 200ms per query, eight results with snippets.

Configuration

Edit the profile's cordis.patch.yml if you need to. Most people won't.

Field Default Notes
engines bing-rss, bing-html, so360 Order is fallback order
maxResults 8 Per-query cap
timeoutMs 12000 Per upstream request
proxy empty e.g. http://127.0.0.1:7897
userAgent desktop Chrome These pages turn away bare clients

Environment variables override the same fields with the DSH_WEB_SEARCH_NOKEY_ prefix. HTTPS_PROXY / HTTP_PROXY are honoured too.

Known issues

  • Most results have no date. Bing's RSS carries crawl time, not publish time; writing that through would make stale pages look fresh, so it's left out.
  • Bing RSS returns about nine items, which is why the second backend exists.
  • The 360 backend returns redirect links that only resolve on click. It's a fallback.
  • Public result pages, not an official API. Heavy use may get rate-limited; failures log as engine=xxx failed and the next backend is tried.
  • An empty result set is an empty list, not an error.

Versus dsh-free-search

dsh-free-search is the bigger plugin: multi-engine UI, time filters, platform search. Use that if you want a configurable search hub.

This one only solves one problem: credits-based setups cannot search → install and they can. No UI, no accounts, no extra tools, zero dependencies.

Compatibility

Tested on dsh 0.1.5-rc.2, web profile, Windows, Node 24 and 22.

License

MIT

如果这个插件帮你把搜索救回来了,顺手点个 star:https://github.com/a1435473620/dsh-web-search-nokey

—/ 5

No ratings yet

Verified DSH bundle

Commit 49eb355691a3

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout