dsh-web-search-so360
中文 | English
给 DeepSeek Harness (DSH) 的免 API Key 联网搜索提供方,后端为 360 搜索(so.com)。
简介
DSH 官方的 web_search 走 DeepSeek 通道:需要 DEEPSEEK_API_KEY,且每次搜索都是一次完整的模型调用(有延迟、有 token 开销)。本插件把搜索通道替换为对 360 搜索结果页的纯检索抓取:
- ✅ 不需要任何 API Key
- ✅ 零模型调用开销(一次搜索 = 一次普通 HTTP 检索)
- ✅ 自动解析 so.com 跳转链接(优先读取页面内嵌的
data-mdurl 真实地址)
- ✅ 返回结构化结果:标题 + 链接 + 摘要
- ✅ 零依赖(仅用 Node 原生
fetch)
- ✅ 对中文查询友好(360 搜索国内可达性最好;Bing 会降级、百度有验证码、DuckDuckGo 国内超时)
安装
方式一:从本地路径
git clone https://github.com/Bronier/dsh-web-search-so360.git
dsh plugin --profile desktop add ./dsh-web-search-so360
相对路径按 DSH profile 目录解析时请使用绝对路径或 $PWD。
方式二:直接从 GitHub
dsh plugin --profile desktop add github:Bronier/dsh-web-search-so360
安装后重启 DSH 生效。
工作原理
插件向 DSH 的 web 能力接缝(ctx.web)注册一个 id 为 so360 的 WebSearchProvider,并通过 bundle 层 patch 将 searchProvider 重定向到它:
- 以桌面浏览器 UA 请求
https://www.so.com/s?q=<query>;
- 解析 SERP 中每个
<h3 class="res-title"> 锚点,标题去标签、就近提取 <p class="res-desc"> 作为摘要;
- 链接还原策略:优先读锚点上的
data-mdurl(360 内嵌的真实目标地址),缺失时回退抓取 /link?m=... 中转页并解析其 JS 跳转;
- 按 URL 去重后返回
{ sources: [{url, title, snippet}], truncated: false }。
卸载即恢复官方通道,无需手动清理配置。
已知限制
- 本质是公开结果页抓取:360 反爬策略变化可能导致解析失败(报
no results parsed 时通常就是布局变了);
- 无翻页/深度检索能力,单次最多返回首页约 10 条;
- 抓取行为请遵守目标网站的服务条款,本插件仅供个人本地研究使用。
致谢
许可证
MIT © 2026 Bronier
dsh-web-search-so360 (English)
A zero-API-key web search provider for DeepSeek Harness, backed by 360 Search (so.com) SERP scraping.
- No API key, no model-turn cost — one search is one plain HTTP retrieval
- Auto-resolves so.com redirect links (
data-mdurl first, JS-jump fallback)
- Structured results: title + url + snippet; dedup by URL
- Zero dependencies, native
fetch only
Install:
dsh plugin --profile desktop add github:Bronier/dsh-web-search-so360
Restart DSH afterwards. Uninstalling restores the official routing automatically.
Known limits: public-SERP scraping may break when the engine changes its layout; first page only (~10 results); personal local research use.
MIT © 2026 Bronier