🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

联网搜索解耦 xiaobai123name/dsh-web-search-guide

DeepSeek Harness
xiaobai123name22 天前有提交已提供中文文档扫描:无法判定

让任意对话渠道都能联网搜索与抓取网页

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xiaobai123name/dsh-web-search-guide
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · search
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/11) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/2(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 联网搜索
  • 本地网页抓取
  • 不依赖对话模型渠道

README

由 DeepSeek 最新模型翻译生成
DSH 联网搜索方案:AnySearch 搜索 + 本地网页抓取 给 DeepSeek Harness(DSH) 配一套不依赖对话模型渠道的联网搜索: - web_search 走 AnySearch(官方插件 @anysearch/anysearch-dsh),不需要 API key 就能用; - web_fetch 走 DSH 自带的本地 http 抓取; - 不管你用 DeepSeek 官方 API、ClinePass、还是中转站的 GPT / Claude / Gemini,搜索都一样能用,且不消耗模型 token。 测试环境:DSH 桌面端 0.2.0-rc.2 · Windows 11 · @anysearch/anysearch-dsh 0.1.8 · 2026-10-10。 搜索与抓取接口已用插件自带客户端实测;DSH 内重启后的端到端实测待补,欢迎在 Issue 里反馈你的结果。 解决什么问题 DSH 内置的搜索供应商 deepseek-official 只能走 DeepSeek 官方 API。
展开完整文档(README 剩余 1 节)
DSH 联网搜索方案:AnySearch 搜索 + 本地网页抓取

给 DeepSeek Harness(DSH) 配一套不依赖对话模型渠道的联网搜索:

- web_search 走 AnySearch(官方插件 @anysearch/anysearch-dsh),不需要 API key 就能用;
- web_fetch 走 DSH 自带的本地 http 抓取;
- 不管你用 DeepSeek 官方 API、ClinePass、还是中转站的 GPT / Claude / Gemini,搜索都一样能用,且不消耗模型 token。

测试环境:DSH 桌面端 0.2.0-rc.2 · Windows 11 · @anysearch/anysearch-dsh 0.1.8 · 2026-10-10。
搜索与抓取接口已用插件自带客户端实测;DSH 内重启后的端到端实测待补,欢迎在 Issue 里反馈你的结果。

解决什么问题

DSH 内置的搜索供应商 deepseek-official 只能走 DeepSeek 官方 API。一旦对话模型换成别的渠道,web_search 常见这些报错:

- configured web provider "xxx" is registered but unavailable
- WEB_PROVIDER_CREDENTIAL_MISSING(没配 DEEPSEEK_API_KEY)
- 搜索“成功”了,但模型其实没搜,答案来自训练数据

社区里有一类插件让对话模型自己去搜(借用网关的服务端搜索工具,比如 Vercel 网关的 perplexity_search、OpenAI Responses 的 web_search)。这类方案的问题是搜索能力绑在了对话渠道上:

| 你的对话渠道 | “让模型自己搜”能不能用 |
| ClinePass(Vercel 网关) | 部分模型能。实测 18 个模型里 8 个真搜了,glm-5.3-flash、mimo-v2.5-pro 不搜直接凭训练数据作答,mimo 系列带工具直接 500 |
| DeepSeek 官方 API | 只能用内置 deepseek-official |
| 中转站(one-api / new-api 等) | 看中转站是否实现/透传服务端搜索工具,大多不行 |

换一个模型、换一个渠道,搜索就可能坏掉。

方案:搜索和对话模型解耦

你提问 ↓ ① 你在 UI 里选的模型:要不要搜?搜什么关键词? ← 模型(任意渠道) ↓ web_search("关键词") ② AnySearch 插件 → api.anysearch.com → 标题/链接/摘要 ← 不经过任何模型 ↓ ③ 模型读结果:够不够?要不要 web_fetch 打开某个链接? ← 模型 ↓ web_fetch(url) ④ DSH 本地 http 抓取网页正文 ← 你本机直接访问 ↓ ⑤ 模型综合作答,附来源 ← 模型

- 判断、筛选、作答全部由你当前选的模型完成,换模型不影响搜索;
- 搜索只是一次搜索 API 调用,不是一整轮模型回答;
- 唯一要求:模型会调用工具(主流模型都可以)。

为什么网页抓取不用 AnySearch

AnySearch 插件默认把 web_fetch 也交给它的 /v1/extract。实测对一部分网站抓不出正文:

| 网页 | AnySearch extract | 本机直接访问 |
| example.com、GitHub、DeepSeek 文档、nodejs.org | ✅ | ✅ |
| docs.cline.bot(JS 渲染的文档站) | ⚠️ 只有 183 字符 | ✅ 332 KB |
| CSDN 博客 | ❌ HTTP 422 Unable to extract content from the URL. | ✅ |
| arXiv PDF | ❌ HTTP 422 | ✅ |
| 知乎 | ❌ HTTP 422 | ❌ 403(需登录,两种方式都不行) |

所以网页抓取改回 DSH 本地 http。顺带的好处:你要读的网址不会发给第三方。

安装

先确认你的 profile 名字:DSH 桌面端一般是 desktop,dsh web 命令行一般是 web。目录在 ~/.dsh/profiles/<profile>/(Windows 是 C:\Users\<你>\.dsh\profiles\<profile>\)。下面用 <profile> 代替。

动手前先备份 ~/.dsh/profiles/<profile>/ 下的 package.json、cordis.patch.yml、pnpm-lock.yaml、pnpm-workspace.yaml。

第 1 步:卸掉别的搜索供应商插件(如果装过)

DSH 同一时间只用一个搜索供应商(web 行的 searchProvider),多个插件都去改它时谁生效不确定。如果你装过 dsh-web-search-clinepass、dsh-web-search-free 之类,先移除:

dsh plugin --profile <profile> remove <之前的搜索插件包名>

如果你在 cordis.patch.yml 里为旧插件手写过配置(id: web-search-xxx 的条目),一并删掉。

第 2 步:安装 AnySearch 插件

dsh plugin --profile <profile> add @anysearch/anysearch-dsh

没有 dsh 命令(只装了桌面端)时的手动安装

桌面端自带 node 和 pnpm,在 ~/.dsh/dsh-runtimes/dsh-primary-runtime/dependencies/ 下。在 profile 目录里执行(Windows 用 Git Bash 示例):

R=~/.dsh/dsh-runtimes/dsh-primary-runtime/dependencies
cd ~/.dsh/profiles/<profile>
"$R/node/bin/node.exe" "$R/pnpm/bin/pnpm.cjs" add @anysearch/anysearch-dsh
如需移除旧插件: "$R/node/bin/node.exe" "$R/pnpm/bin/pnpm.cjs" remove <旧插件包名>

然后编辑同目录的 package.json,把 "@anysearch/anysearch-dsh" 加进 dsh.profile.bundles 数组(旧搜索插件从数组里删掉),例如:

"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@anysearch/anysearch-dsh"
]
}
}

pnpm 可能会在 pnpm-workspace.yaml 里自动加一条 minimumReleaseAgeExclude,属正常现象。

第 3 步:网页抓取改回本地

把 config/cordis.patch.snippet.yml 的内容追加到 ~/.dsh/profiles/<profile>/cordis.patch.yml 末尾:

- id: web
config:
searchProvider: anysearch
fetchProvider: http

profile 自己的 cordis.patch.yml 在所有插件之后生效,所以插件升级不会覆盖它。patch 会整段替换 web 行的 config,searchProvider 必须一起写上。

第 4 步:重启 DSH

插件和 patch 都是启动时组装的,改完必须完整重启。

可选:配置 AnySearch API key

匿名额度即可试用。注册 anysearch.com 后免费额度为每天 1000 次(以官网为准)。写进 ~/.dsh/.credentials.yaml:

refs:
ANYSEARCH_API_KEY: "as_sk_..."

.credentials.yaml 的具体结构以你本机文件为准(新版本把密钥放在 refs: 下)。插件每次请求都会重新读取凭据,改完不用重启;启动环境里的 ANYSEARCH_API_KEY 环境变量优先级更高。

验证

scripts/check.mjs 用你 profile 里已安装的插件客户端测试搜索和抓取,并对比本机直接访问:

node scripts/check.mjs # 默认 profile: desktop
node scripts/check.mjs --profile web

需要 Node.js 22.19+ 或 24+(DSH 自带的 ~/.dsh/dsh-runtimes/dsh-primary-runtime/dependencies/node/bin/node.exe 也可以)。不会打印任何密钥。设置了 HTTPS_PROXY / HTTP_PROXY 时脚本会自动让 Node 走代理(NODE_USE_ENV_PROXY=1,Node 24+)。

在 DSH 里也可以直接问一句需要联网的问题,例如“DeepSeek V4.1 Flash 是什么时候发布的?附上来源”,然后打开一个结果链接让它读全文。

回滚

1. 用备份的四个文件覆盖回 ~/.dsh/profiles/<profile>/;
2. 在该目录运行一次 pnpm install(或上面的手动 pnpm 命令);
3. 重启 DSH。

只想把网页抓取交还 AnySearch:删掉第 3 步追加的那段即可。

FAQ

搜索内容会发给谁? 搜索关键词发给 AnySearch(api.anysearch.com)。网页抓取在本机完成,不经过第三方。

为什么知乎抓不到? 知乎对未登录访问返回 403,任何抓取方式都一样,只能用搜索结果里的摘要。

用代理上网时 web_fetch 打不开 GitHub 等国外网站? 本地抓取是 DSH 进程自己发请求。Node 内置的 fetch 默认不读 HTTP(S)_PROXY 环境变量(实测:同一台机器上 curl 走代理能通,Node 不设置就超时)。DSH 是否使用系统代理取决于版本和启动方式,这里没有验证。如果遇到超时,可以试着在启动 DSH 的环境里设置 HTTPS_PROXY、HTTP_PROXY 和 NODE_USE_ENV_PROXY=1(Node 24+)。AnySearch 搜索本身在国内直连可用。

用 glm-5.3-flash 这类“不搜索”的模型可以吗? 可以。搜索由插件完成,模型只要会调用 web_search 工具即可,不再依赖模型自己有没有搜索能力。

想换别的搜索引擎? 社区还有很多 ctx.web 搜索供应商插件,例如多引擎自动切换的 dsh-web-search-free(Tavily / Exa / Brave / 百度千帆 / 豆包 / SearXNG…,需各自的 key)、免 key 的 dsh-web-search-tavily。思路相同:装一个、卸掉其他、第 3 步的 searchProvider 改成对应的 provider id。

致谢

- anysearch-team/anysearch-dsh
- deepseek-ai/deepseek-harness

License

MIT
预览分享卡片长什么样 ↓xiaobai123name/dsh-web-search-guide
分享 · DeepSeek Harness Hub
xiaobai123name/dsh-web-search-guide

让任意对话渠道都能联网搜索与抓取网页

回到顶部