按模型通道自动切换官方或自建搜索服务
29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MCJF28/dsh-web-search-router该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · search
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
- 读取本地文件index.js:62
const parsed = JSON.parse(readFileSync(CONFIG_FILE, 'utf8')) - 写入本地文件index.js:83
mkdirSync(DSH_HOME, { recursive: true }) - 写入本地文件index.js:84
writeFileSync(CONFIG_FILE, JSON.stringify(next, null, 2), 'utf8') - 发起网络请求index.js:246
response = await fetch(endpoint, { - 发起网络请求index.js:320
response = await fetch(endpoint, { - 发起网络请求client.js:67
const response = await fetch(path, init)
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
为 DeepSeek Harness 做按通道分流的网页搜索路由:走官方 DeepSeek 搜索,或接你自己兼容 Parallel 的端点,失败原因看得懂。
README
由 DeepSeek 最新模型翻译生成dsh-web-search-router
搜索路由插件:按「用的是哪个模型通道」决定走官方搜索还是你自己的搜索服务,两者都不可用时给出可读的原因,而不是一句 500。
为什么需要
DSH 自带的搜索只对官方 DeepSeek 账号通道生效。用第三方模型通道时搜索会静默失败,用户看到的只是一个模糊的错误。这个插件把两种情况都接上:
| 当前通道 | 走哪条路 |
| 官方 DeepSeek 账号 | Anthropic Messages 协议里的 web_search 工具 |
| 第三方通道 | 你自己配置的搜索服务(Parallel 兼容接口) |
配置
设置 → 搜索,填搜索服务的 API Key 与接口地址。
凭据按以下顺序解析,前一个取不到就用下一个:
1. 账号令牌
2. 凭据存储里的 DEEPSEEK_API_KEY
3. 启动环境变量
失败提示
搜索失败时右下角弹提示,说明具体是哪一步不行:
- 没配 Key → 「还没有可用的搜索服务。请到「设置 → 搜索」填写 API Key。」
- 请求被拒 → 带上游返回的状态与原因
- 超时 / 网络错误 → 单独区分,不混为一谈
提示 12 秒自动消失,也可以手动确认。
安装
推荐:内置插件安装程序。
展开完整文档(README 剩余 1 节)
dsh-web-search-router 搜索路由插件:按「用的是哪个模型通道」决定走官方搜索还是你自己的搜索服务,两者都不可用时给出可读的原因,而不是一句 500。 为什么需要 DSH 自带的搜索只对官方 DeepSeek 账号通道生效。用第三方模型通道时搜索会静默失败,用户看到的只是一个模糊的错误。这个插件把两种情况都接上: | 当前通道 | 走哪条路 | | 官方 DeepSeek 账号 | Anthropic Messages 协议里的 web_search 工具 | | 第三方通道 | 你自己配置的搜索服务(Parallel 兼容接口) | 配置 设置 → 搜索,填搜索服务的 API Key 与接口地址。 凭据按以下顺序解析,前一个取不到就用下一个: 1. 账号令牌 2. 凭据存储里的 DEEPSEEK_API_KEY 3. 启动环境变量 失败提示 搜索失败时右下角弹提示,说明具体是哪一步不行: - 没配 Key → 「还没有可用的搜索服务。请到「设置 → 搜索」填写 API Key。」 - 请求被拒 → 带上游返回的状态与原因 - 超时 / 网络错误 → 单独区分,不混为一谈 提示 12 秒自动消失,也可以手动确认。 安装 推荐:内置插件安装程序。 打开「设置 → 内置插件」,粘贴包名,点安装,再重启应用: dsh-web-search-router 安装程序会自动写进 dsh.profile.bundles,不用手改任何文件。 命令行方式(先完全退出应用): cd ~/.dsh/profiles/desktop pnpm add dsh-web-search-router 然后把包名加进 dsh.profile.bundles,重启应用。 注意 如果你的 profile patch 里 web 这一行被 base 包写死了 searchProvider: deepseek-official,需要在 profile 的 cordis.patch.yml 里覆盖它,否则这个插件注册的 provider 不会被选中: - id: web name: "@deepseek-ai/dsh-web" config: searchProvider: custom-search fetchProvider: http 原因:resolveProvider 只在 configuredId === undefined 时才遍历 provider 列表找可用项。一旦配置里写死了名字,插件的 available() 根本不会被调用。 Channel-aware search routing for DeepSeek Harness: which provider a search uses depends on which model route is active, and when neither side is usable you get a readable reason instead of a bare 500. Why it exists The built-in search only works on the official DeepSeek account route. On a third-party model route it fails silently, leaving the user with a vague error. This plugin wires up both sides: | Active route | What gets used | | Official DeepSeek account | The web_search tool over the Anthropic Messages protocol | | Third-party route | Your own search endpoint (Parallel-compatible API) | Configuration Settings → Search, then fill in the API key and endpoint of your search service. Credentials resolve in this order; the first one that exists wins: 1. Account token 2. DEEPSEEK_API_KEY in the credential store 3. Launch environment variable Failure reporting When a search fails, a notice appears in the bottom-right corner and names the step that failed: - No key configured → "No search service is available yet. Set an API key in Settings → Search." - Upstream refused → status and reason from the upstream response - Timeout / network error → reported separately, never lumped together Notices disappear after 12 seconds, and can also be dismissed manually. Install The built-in plugin installer is the recommended way. Open Settings → Built-in Plugins, paste the package name, press install, then restart the app: dsh-web-search-router The installer writes the entry into dsh.profile.bundles for you; no manual file edits. From the command line (quit the app completely first): cd ~/.dsh/profiles/desktop pnpm add dsh-web-search-router 把包名加进 dsh.profile.bundles,然后重启应用。 注意事项 如果基础 bundle 在你的配置档补丁里把 web 这一行硬编码成了 searchProvider: deepseek-official,就在配置档的 cordis.patch.yml 里覆盖它——否则这个插件注册的服务商永远不会被选中: - id: web name: "@deepseek-ai/dsh-web" config: searchProvider: custom-search fetchProvider: http 原因:resolveProvider 只在 configuredId === undefined 时才会遍历服务商列表,寻找可用的那个。一旦配置里硬编码了名字,插件的 available() 根本不会被调用。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
MCJF28/dsh-web-search-router
按模型通道自动切换官方或自建搜索服务
相关插件 · 搜索 / 抓取
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