在设置页一键切换网页搜索与抓取源
29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xiaokang6/dsh-web-search-switch该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · model
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
- 发起网络请求lib/index.js:513
async fetch(request, signal) { - 发起网络请求lib/index.js:619
response = await fetch(spec.url, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-credentials@deepseek-ai/dsh-launch-environment@deepseek-ai/dsh-web@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-web-search-switch
在 DeepSeek Harness 桌面端 / Web 端里,用设置页面一键切换 web_search 的搜索源:官方 DeepSeek、Ollama、Tavily、Brave、Exa、Serper、博查、智谱、SearXNG;以及 web_fetch 的抓取源:内置本地抓取、Ollama Web Fetch、DeepSeek Fetch API。
插件页入口
它解决什么问题
DSH 自带的 web_search 只走 DeepSeek 官方搜索(deepseek-official,需要 DEEPSEEK_API_KEY 或 DeepSeek 账号)。社区插件 dsh-web-search-ollama 能让它改走 Ollama,但需要手改 cordis.patch.yml、设置全局环境变量、禁用官方搜索并重启,而且只能二选一。
本插件把「搜索源」变成设置页里的一个选项:
- 一个页面切换:在侧边栏「插件 → 内置插件配置 → 搜索源」或「设置 → 内置插件 → 搜索源」里选择,保存后下一次搜索立即生效,无需重启。
- 官方与第三方并存:随时切回 DeepSeek 官方(Messages 搜索或新版搜索 API),不需要卸载插件。
展开完整文档(README 剩余 1 节)
dsh-web-search-switch
在 DeepSeek Harness 桌面端 / Web 端里,用设置页面一键切换 web_search 的搜索源:官方 DeepSeek、Ollama、Tavily、Brave、Exa、Serper、博查、智谱、SearXNG;以及 web_fetch 的抓取源:内置本地抓取、Ollama Web Fetch、DeepSeek Fetch API。
插件页入口
它解决什么问题
DSH 自带的 web_search 只走 DeepSeek 官方搜索(deepseek-official,需要 DEEPSEEK_API_KEY 或 DeepSeek 账号)。社区插件 dsh-web-search-ollama 能让它改走 Ollama,但需要手改 cordis.patch.yml、设置全局环境变量、禁用官方搜索并重启,而且只能二选一。
本插件把「搜索源」变成设置页里的一个选项:
- 一个页面切换:在侧边栏「插件 → 内置插件配置 → 搜索源」或「设置 → 内置插件 → 搜索源」里选择,保存后下一次搜索立即生效,无需重启。
- 官方与第三方并存:随时切回 DeepSeek 官方(Messages 搜索或新版搜索 API),不需要卸载插件。
- 密钥不落配置文件:API Key 通过 DSH 的凭据服务保存(.credentials.yaml),设置文件里只有凭据引用;页面只显示「已配置/未配置」。
- 不会静默回落:选中的搜索源缺少密钥时,web_search 会返回明确的错误,告诉模型和用户缺哪个 Key、去哪里配置。
支持的搜索源
| 设置页选项 | Provider id | 默认凭据引用 | 默认端点 |
| DeepSeek 官方 · Messages 搜索 | deepseek-official | DEEPSEEK_API_KEY(或 DeepSeek 账号登录) | 内置 |
| DeepSeek 官方 · 新版搜索 API | deepseek-search-api | DEEPSEEK_API_KEY | 内置 |
| Ollama Web Search | search-ollama | OLLAMA_API_KEY | https://ollama.com/api/web_search |
| Tavily | search-tavily | TAVILY_API_KEY | https://api.tavily.com/search |
| Brave Search | search-brave | BRAVE_API_KEY | https://api.search.brave.com/res/v1/web/search |
| Exa | search-exa | EXA_API_KEY | https://api.exa.ai/search |
| Serper(Google) | search-serper | SERPER_API_KEY | https://google.serper.dev/search |
| 博查 Bocha | search-bocha | BOCHA_API_KEY | https://api.bochaai.com/v1/web-search |
| 智谱 Web Search | search-zhipu | ZHIPU_API_KEY | https://open.bigmodel.cn/api/paas/v4/web_search |
| SearXNG(自建) | search-searxng | SEARXNG_API_KEY(可选) | 你的实例地址 + /search |
支持的抓取源(web_fetch)
web_fetch 的提供方也在这一页选择。内置 http 与 Ollama 抓取都不需要手改配置文件。
| 设置页选项 | Provider id | 默认凭据引用 | 默认端点 |
| 内置 HTTP 抓取(本地) | http | 不需要 | 内置 |
| Ollama Web Fetch | fetch-ollama | OLLAMA_API_KEY | https://ollama.com/api/web_fetch |
| DeepSeek 官方 · Fetch API | deepseek-fetch-api | DeepSeek 搜索凭据引用 | 内置 |
- 内置 http:本地抓取单个 URL 并转成文本,零密钥、无外部依赖,适合大多数场景。
- fetch-ollama:调用 Ollama 的抓取 API,返回它抽取好的正文与链接,比本地抓取干净;与 Ollama 搜索共用同一把 OLLAMA_API_KEY。
- deepseek-fetch-api:内置的 DeepSeek Fetch API,需要一把有效的 DeepSeek 密钥;密钥无效时 web_fetch 会直接 401。
设置页里的「启用新版 Web 搜索 API」开关会同时改写 searchProvider 和 fetchProvider(两套官方 provider 成对切换),因此它无法把抓取单独设成 http 或 fetch-ollama。要「Ollama 搜索 + 内置抓取」这类组合,用本页的抓取源选择。
安装
把 <profile> 换成你的 profile 目录:桌面端一般是 %DSH_HOME%\profiles\desktop(默认 C:\Users\<你>\.dsh\profiles\desktop),Web 端是 dsh web 使用的那个 profile。
方式一:从 GitHub 安装
cd <profile>
pnpm add github:xiaokang6/dsh-web-search-switch
然后把 dsh-web-search-switch 加进 profile package.json 的 dsh.profile.bundles:
"dsh": { "profile": { "bundles": ["...原有 bundle...", "dsh-web-search-switch"] } }
也可以直接在 DSH 插件页的「添加插件」里填仓库地址,由插件管理器完成安装与启用。
方式二:本地目录(开发 / link)
1. 把本仓库作为本地依赖加入配置档:
node scripts/install.mjs --profile <profile>
脚本会写入 package.json 的 dependencies(link: 绝对路径)和 dsh.profile.bundles,并保留原文件内容(UTF-8 无 BOM)。加 --dry-run 只检查不写入。
2. 安装依赖:
cd <profile>
pnpm install
(DSH 自带 pnpm 时,用启动器提供的 pnpm 即可。)
最后一步:重启
重启 DeepSeek Harness。之后打开侧边栏「插件」,在「内置插件配置」里会多出 搜索源 卡片。
只在第一次安装时需要重启;之后切换搜索源、改密钥、改结果数都在设置页完成并立即生效。
使用
1. 侧边栏「插件」→「内置插件配置」→「搜索源」(也可以从「设置 → 内置插件 → 搜索源」进入)。
2. 选中一个搜索源。第三方服务会显示 API Key 输入框,把密钥粘贴进去。
3. 在同一页的「抓取提供方」里选 web_fetch 用的服务:内置 HTTP 抓取、Ollama Web Fetch 或 DeepSeek Fetch API。
4. 点「保存」。页面顶部「当前生效」会更新,下一次 web_search / web_fetch 就用新的提供方。
5. 想切回官方:选中「DeepSeek 官方 · Messages 搜索」→ 保存。
搜索源设置页
高级设置
| 字段 | 默认 | 说明 |
| 每次结果数 | 5 | 1–20,最终仍受 web_search 工具自己的结果上限约束。 |
| 超时(毫秒) | 20000 | 5000–120000;超时返回可读错误,不会卡住搜索。 |
| 接口地址 | 各服务默认值 | 例如走代理或镜像时修改;SearXNG 必填实例地址。留空保存会恢复默认。 |
每个第三方搜索源的凭据引用名也可以改(默认见上表):在配置档的 cordis.patch.yml 里给 web-search-switch 行加 ollamaApiKeyEnv 等字段。设置页会按新的引用名读写密钥。
工作原理(简要)
- 宿主侧(lib/index.js)在 ctx.web 上注册 8 个搜索服务商(id 统一带 search- 前缀)和 1 个抓取服务商 fetch-ollama,避免与内置服务商(deepseek-official、deepseek-search-api、http、deepseek-fetch-api)以及 dsh-web-search-ollama 的 ollama 冲突。
- 设置页把选中的 id 写进 web 条目的 searchProvider / fetchProvider(DSH 官方设置页的同一机制),配置改动由 config-editor 立即应用。
- 密钥写入 DSH 凭据服务,服务商每次搜索时重新解析,因此轮换密钥无需重启。
- 浏览器侧(lib/client.js)是手写的 dsh client bundle,注册到 plugins.item 和 settings.plugins.tab 两个 slot,只依赖平台内置的 react。
与 dsh-web-search-ollama 的关系
- 那个插件可以装到桌面端:桌面端和 Web/CLI 使用同一套配置档与 ctx.web seam。但它只注册一个 ollama 服务商,要靠手改 YAML、setx 全局环境变量、禁用官方搜索并重启来切换,不能和其他搜索源共存。
- 本插件不取代它,而是提供同类的 Ollama 接入 加上 官方/其他 API 的设置页切换。两者请不要同时安装:都会注册 Ollama 服务商(本插件用 search-ollama,不会 id 冲突,但设置页会出现两个 Ollama 选项)。
- 如果之前按它的 README 改过 cordis.patch.yml(searchProvider: ollama、disabled: true)或设置过 DSH_WEB_SEARCH_PROVIDER,装好本插件后请把这些覆盖删掉,让设置页成为唯一入口。
排错
| 现象 | 处理 |
| 保存后提示 WEB_PROVIDER_CONFIGURED_MISSING | web.searchProvider 指向的服务商没加载:确认插件已启用(插件页开关)、配置档 bundle 列表包含 dsh-web-search-switch,然后重启。 |
| 搜索报“还没有配置 API Key(XXX_API_KEY)” | 在搜索源页面填入对应密钥并保存;或先切回官方。 |
| 搜索报 HTTP 401 / 403 | 密钥无效、过期或没有该服务的权限;在对应服务控制台确认。 |
| SearXNG 报需要实例地址 | 高级设置里填 https://searx.example.com 这类地址(不要带 /search)。 |
| 网页获取 报 /v1/fetch 404,或搜索报 /v1/search 404 | 官方「网页搜索」卡片里开启了「使用新版 Web 搜索 API」,且地址填成了 https://ollama.com/v1。Ollama 只有 POST /api/web_search,没有 DeepSeek 的 /v1/search、/v1/fetch。关掉那个开关(抓取回到本地 http),搜索改用「搜索源 → Ollama」。 |
| web_fetch 报 HTTP 401 ... api key: sk-**** 无效 | 抓取提供方还是 deepseek-fetch-api,而凭据库里没有可用的 DeepSeek 密钥。在「抓取提供方」里改选内置 http(零密钥)或 fetch-ollama,保存即可。 |
| 页面里看不到「搜索源」卡片 | 插件没加载:查看「已安装插件」里是否有 dsh-web-search-switch 且开关为开;首次安装后需要重启。 |
| 搜索超时 | 调大高级设置里的超时,或检查网络/代理。 |
开发与验证
- lib/index.js:宿主 provider pack(ESM,导入 @deepseek-ai/schemastery、@deepseek-ai/dsh-web 等宿主包)。
- lib/client.js:浏览器 bundle(window.__ModuleLoader__.load 手写 CJS,平台只提供 react)。
- cordis.patch.yml:只插入 web-search-switch 一行,不修改 web.searchProvider 的默认值。
本仓库的验证覆盖:
- 宿主:node test/smoke.mjs 用桩模块跑真实 lib/index.js,断言 8 个搜索 provider 与 fetch-ollama 的注册、请求方法/鉴权头/请求体/结果映射、缺 Key、HTTP 401、响应缺 content 三种失败路径。
- 客户端:node test/client.mjs 用手写的最小 hooks 运行时渲染真实 lib/client.js,模拟选中「Ollama Web Fetch」并保存,断言写入 web.fetchProvider。
- 端到端:用独立 profile 启动一套 DSH Web 实例,在真实界面里切换 Tavily、保存密钥,并检查 cordis.patch.yml 与 .credentials.yaml 的落盘结果。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
xiaokang6/dsh-web-search-switch
在设置页一键切换网页搜索与抓取源
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个插件,给…
★ 850已汉化DSH
68.9
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 387已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1
这是你的仓库?认领条目