让任意对话渠道都能联网搜索与抓取网页
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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/11) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
xiaobai123name/dsh-web-search-guide
让任意对话渠道都能联网搜索与抓取网页
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,161已汉化DSH
72.1
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,195已汉化DSH
71.2
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 694已汉化DSH
69.7
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 509已汉化MCP
67.9
AnySearch 搜索插件anysearch-team/anysearch-dsh
AnySearch 网页搜索服务商,为 DeepSeek Harness(DSH)提供高级搜索工具
★ 457已汉化DSH
66.6