README
dsh-web-search-pro
增强型、可持久化的扩展网页搜索插件 for DeepSeek Harness(DSH)。
一个 DSH bundle 插件,把多引擎网页搜索、平台搜索、持久化缓存、脚本猫式按站提取、Playwright 渲染打包成模型可直接调用的 9 个工具。灵感来自 MediaCrawler、Agent-Reach、脚本猫/油猴 userscript、opencli 与 playwright。
安装
dsh plugin --profile web add dsh-web-search-pro # 自动装 dsh-browser(dependency)+ 自动挂载 browser 行(本 patch)
# 或本地目录 / tarball:
dsh plugin --profile web add ./dsh-web-search-pro
# 重启(web profile 关闭了 HMR):
dsh --profile web
dsh-browser 需先发布到 npm(本地测试可用
dsh plugin --profile web add ../dsh-browser ../dsh-web-search-pro一条命令显式列两个)。 依赖@deepseek-ai/*已发布到 npm(^0.1.0-rc.6,与社区 dsh-cc-tui 一致)。 若你的 harness 是本地源码 checkout(如0.1.0-rc.5),版本号可能有出入——用dsh plugin --profile web add ./<path>并在 profile 的pnpm-workspace.yaml里对齐版本后重装即可。
工具(9 个)
| 工具 | 作用 |
|---|---|
web_search_pro |
多引擎搜索 + RRF 融合 + 内存/SQLite 双层缓存 + 历史 |
web_fetch_pro |
可读化抓取(Jina → HTTP+规则抽取 → Playwright 兜底)+ 快照缓存 |
web_platform_search |
20 平台:GitHub/B站/YouTube/V2EX/小红书/Twitter/Reddit/IG/FB/RSS + 知乎/微博/豆瓣/贴吧/抖音/快手(Playwright 登录态) |
web_snapshot |
Playwright 全页截图 + HTML + 文本落盘 |
web_history / web_cache_clear / web_search_stats |
持久历史 / 清缓存 / 存储统计 |
web_rule |
持久化按站提取规则(脚本猫式,list/upsert/remove) |
web_deps |
检测/安装外部依赖(gh/bili/yt-dlp/opencli/agent-reach/mcporter/playwright) |
配置
三层,越靠前越日常:
-
$DSH_HOME/settings.yaml→web-search-pro:段(热重载,改完即生效):web-search-pro: exaApiKey: 'sk-...' # 或环境变量 EXA_API_KEY / .credentials.yaml jinaApiKey: 'jina_...' # 或环境变量 JINA_API_KEY engines: [ddg, bing, exa, seam, jina] parallelEngines: false ttlSeconds: 3600 searchMaxResults: 8 -
cordis.yml
config:(部署级默认值,见cordis.patch.yml)。 -
环境变量 / 凭据:
$EXA_API_KEY、$JINA_API_KEY(exaApiKeyEnv/jinaApiKeyEnv引用)。
外部依赖(按需)
多数后端需要系统额外安装的工具;插件提供 web_deps 工具检测与安装:
| 依赖 | 用途 | 安装 |
|---|---|---|
| gh | GitHub 后端 | winget install GitHub.cli / choco install gh |
| bili-cli | B站后端 | uv tool install bili-cli / pipx install bili-cli |
| yt-dlp | YouTube 后端 | uv tool install yt-dlp / pip install yt-dlp |
| opencli | 小红书/Twitter/Reddit/IG/FB | npm i -g opencli |
| agent-reach | agent-reach 后端 | uv tool install agent-reach / pip install agent-reach |
| playwright | 渲染/截图后端 | npm i -g playwright && playwright install chromium |
平台与引擎
seam(ctx.web/DeepSeek 原生)· exa · ddg · bing · jina · github · bilibili · v2ex · youtube。默认顺序 ddg, bing, exa, seam, jina(免费优先),失败自动回退;multi 并行融合。
开发
pnpm install
pnpm build # tsc src → lib
源码在 src/;lib/ 为发布产物(已提交)。
License
MIT
中文社区平台登录态
zhihu / weibo / douban / tieba / douyin / kuaishou 的免登录公开接口都被风控, 所以走 Playwright 驱动登录态浏览器(借鉴 MediaCrawler 思路、MIT 独立实现,未用其签名算法):
- 登录一次保存登录态:
node scripts/save-login.mjs all login-state.json - 在
$DSH_HOME/settings.yaml里设playwright.storageStatePath - 站点改版时无需改代码,用
platformRules按平台覆盖结果选择器
详见 LOGIN.md。
历史管理
web_history 支持:kind/query/engine/platform 过滤、replay(用 queryId 回放已存结果)、 export(把过滤后的历史+结果写成 JSON 文件)。
自定义平台(解析 cookie 去搜索)
在 settings.yaml 里定义任意站点(URL 模板 + 结果选择器 + 可选 Cookie), web_platform_search 就能直接搜它——不需要改代码:
web-search-pro:
customPlatforms:
mybili:
name: '我的B站'
url: 'https://search.bilibili.com/all?keyword={query}'
item: '.bili-video-card'
title: '.bili-video-card__info--tit'
link: 'a'
# 需要登录的站点补 cookie(a=b; c=d,自动应用到 url 域名)
myforum:
name: '某论坛'
url: 'https://forum.example.com/search?q={query}'
item: '.thread'
title: '.thread-title a'
link: '.thread-title a'
cookie: 'sessionid=abc123; csrftoken=xyz'
更多「網頁與瀏覽器」外掛
last30days-skill-cn
作者 jesseovo
last30days-cn 是一個 AI Agent 技能(Skill),能夠自動搜尋中國網際網路 8 大主流平臺最近 30 天的內容,綜合分析後生成有據可查的研究報告。
dsh-browser
作者 lum1104
dsh plugin: Chrome sidebar extension that lets DeepSeek Harness operate your browser directly, no vision capabilities required. 一款 Chrome 側邊欄擴充套件程式,可讓 DeepSeek Harness 直接操控您的瀏覽器,無需視覺能力。
modsearch
作者 liustack
The web search plugin for DeepSeek Harness, and the search bridge for every model without native web access. Ask the web or X, get structured JSON evidence. | 🥇 全網最強的 DeepSeek Harness 聯網搜尋外掛🥇。為不能聯網的模型補上搜索。問網頁或 X,拿回結構化 JSON 證據(搜尋、抓取、引用)。
anysearch-dsh
作者 anysearch-team
為 DeepSeek Harness 提供的 AnySearch 網頁搜尋提供方與高階搜尋工具。
