BaihaWhite/dsh-web-search-scrape ↗★ 0
web-search-scrape
Six-tier web search provider for the ctx.web seam: free local scraping with a billing-guarded official fallback (allowOfficial, default off), a tier-capable web_search_deep tool a preset cannot shadow, and a settings card. 适合需控制检索成本的场景;默认拒绝官方调用,需配置 allowOfficial 与分级参数。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:BaihaWhite/dsh-web-search-scrapeドキュメント
README 全文を読む ↗最省心的配置
backend: local # 不碰付费搜索 API
allowOfficial: false # 就算 backend 写错也不会请求
maxAutoTier: 3 # 自动档位不会静默买 LLM 子代理
subagentVerify: false # 连显式 T5/T6 也不派发子代理(可选,最严格)
方式 A:从 GitHub 安装(推荐,零配置)
本插件不需要发布到 npm —— GitHub 即可完整分发,三条路径任选:
### 手动安装时的补丁配置
方式 A 会自动应用,**此节仅方式 B(或想自定义)时需要**。把以下条目加进
`~/.dsh/profiles/web/cordis.patch.yml`(内容与仓库自带补丁一致):
```yaml
# 凭据),但用户将无法在界面上配置官方端点。
## 配置项
| 字段 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `allowOfficial` | boolean | `false` | **计费硬保险**。为 false 时 `backend: official` 会被拒绝且不发请求;见上文「计费」 |
| `maxAutoTier` | number | `6`(随包补丁给 3) | 自动档位上限,只约束自动分支;显式 `tier` 不受影响 |
| `deepTool` | boolean | `true` | 是否额外注册 `web_search_deep`(名字不同、不被预设遮蔽、带 `tier`、结果上限取本插件的 `searchMaxResults`) |
| `backend` | `local` \| `official` | `local` | 搜索后端。`local` = 本插件六档抓取;`official` = 委托内置 DeepSeek 搜索。**改动即时生效**(每次搜索重新取快照) |
| `engines` | string[] | `[duckduckgo, bing, baidu, google, yandex]` | P0 搜索引擎池 |
| `socials` | string[] | `[weixin, bilibili, weibo, x, zhihu, douyin, reddit]` | P1 社交平台池 |
| `engineResults` | number | `50` | 单引擎抓取结果上限 |
| `socialResults` | number | `80` | 社交平台结果上限 |
| `socialPerSite` | number | `30` | 单社交站点结果上限 |
| `verify` | boolean | `true` | 是否启用启发式验证评级 |
| `subagentVerify` | boolean | `true` | 是否派发 WebSearch 子代理查证 |
| `subagentTimeoutMs` | number | `120000` | 子代理超时(毫秒) |
| `subagentMaxSources` | number | `60` | 交给子代理的来源上限 |
| `scrapeTimeoutMs` | number | `20000` | 抓取阶段截止时间(毫秒) |
| `toolBudgetMs` | number | `60000` | `web_search` 工具层强制超时,子代理预算据此自适应 |
| `defaultTier` | number | `0` | `0` = 自动启发式;`1`-`6` = 固定档位 |
| `searchMaxResults` | number | `130` | 每次 seam 请求的 `maxResults` |
| `timeoutMs` | number | `20000` | 单请求超时(毫秒) |
| `maxPages` | number | `130` | 抓取页数上限 |
> 档位自身拥有预算与验证模式:显式传入的 `tier` 会**覆盖**上述 `engineResults` 等字段。