dsh-anysearch-fallback
在终端中运行以下命令:
dsh plugin install ADkun/dsh-anysearch-fallback
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install ADkun/dsh-anysearch-fallback 安装本插件,源码仓库:https://github.com/ADkun/dsh-anysearch-fallback
插件介绍
DSH 的 web_fetch 默认走 AnySearch 的 /v1/extract 做正文抽取。不少真实页面——例如 openai.com、知乎问题页、错误路径——上游会返回 HTTP 422 extract_failed,整次抓取直接失败,模型拿不到任何可用文本。本插件在官方链路之外注册独立的 anysearch-fallback provider:先照常委托官方 AnySearch,一旦上游出错(除用户取消外),就改用受控的直抓兜底,并在返回正文首行写明上游失败的真实原因与直抓结果,避免把降级内容误当成清洗后的正文。
核心能力在于「宽兜底、边界清晰」。它不修改 @anysearch/anysearch-dsh 的任何文件,官方升级或重装通常无需动本插件;仅允许 http/https,拒绝内网与带 userinfo 的 URL,流式读取并限制 5 MB 与工具层字符上限,15 秒超时并与上游 signal 串联,固定桌面 Chrome UA 且不带凭据类请求头,手动重定向最多三跳且每跳重新校验。上游 401、402、429、5xx、超时与网络错误等都会触发降级;只有取消/abort 会原样抛出、不再发起直抓。直抓失败时错误会同时保留上游与直抓两侧信息。
适合日常依赖 web_fetch 联网读页、又常碰到 AnySearch 抽不出内容或上游偶发错误的 DSH 用户与集成维护者。若你接受「系统性上游问题也可能静默降级为直抓」这一权衡,并愿意通过首行标记与 warn 日志判断集成是否健康,这个插件能显著提高抓取成功率。需要与 AnySearch 同等级正文清洗、或要求上游凭据/额度问题必须整次失败时,应继续以官方行为为准或另做监控。
使用场景
- AnySearch 对某 URL 返回 422 extract_failed,需要仍能读到页面原文
- 上游偶发 429 限流或 5xx,希望 web_fetch 不要整次失败
- 目标站反爬导致抽取失败,需要带明确标记的直抓结果作备选
适合人员
- 日常用 DSH web_fetch 读网页的开发者
- 已安装 AnySearch 官方插件的 DSH 用户
- 需要提高抓取成功率并愿看首行降级标记的集成维护者