DeepSeek Harness (DSH) 提供了一个内置的 web_fetch 工具,但直接请求经常被目标网站返回 403 或机器人挑战拦截。要读取被封锁的页面(如零售、房地产或职位列表),需要绕过机器人检测。该插件路由此工具的流量通过 Decodo Web Scraping API,使智能体无需更改提示或添加新工具即可获取内容。
这是什么¶
这是一个 DeepSeek Harness (DSH) 插件,由 Decodo 维护。它将智能体的内置 web_fetch 工具后端切换为 Decodo Web Scraping API。这允许智能体在需要时通过 Decodo 的反机器人处理获取内容,保持标准 DSH 工作流不变。
核心功能¶
- 统一路由:所有
web_fetch请求都通过 Decodo,智能体无需选择提供者或学习新工具。 - Markdown 输入:默认情况下,API 返回 Markdown,DSH 传递给模型。如果无法转换,则返回原始 HTML,DSH 会对其进行转换。
- 显式固定:插件将提供者固定为
decodo,以便在其他提供者挂载时也能正常工作。 - 请求限制:每个进程的请求上限,以防止智能体循环导致计费激增。
- 可操作的错误:认证、速率限制、验证、超时和抓取错误映射到特定代码和单行消息,供模型处理。
安装与启用¶
安装需要 Node.js 20+ 和 pnpm。使用 dsh CLI 管理器安装插件:
pnpm add -g @deepseek-ai/dsh
dsh plugin --profile <name> add @decodo/dsh-web-fetch
<name> 是配置文件名称(例如 headless 用于单次运行,web 用于 UI)。将此安装到每个所需的配置文件中。
配置与用法¶
安装后,设置 API 密钥。从 Decodo 仪表板获取 Web Data API 密钥并导出:
export DECODO_API_KEY='your-api-key'
对于旧计划,使用 SCRAPER_API_TOKEN。要在配置文件中覆盖设置(例如更改超时或密钥环境变量),编辑 cordis.patch.yml。配置示例:
- id: web-fetch-decodo
config:
apiKeyEnv: DECODO_API_KEY
要测试设置并查看提供者是否已固定:
dsh --profile <name> --dump-config | grep -A4 -E '^- id: (web|tool-web|web-fetch-decodo)$'
示例用法:
dsh --profile headless "Fetch https://www.zillow.com/ and tell me the first heading"
适用场景与注意事项¶
此插件适合需要读取实时网页的智能体,特别是那些被封锁的页面(零售、房地产、旅游、票务)或需要住宅 IP 的页面。常见用例包括竞品和定价研究、线索和公司研究以及文档收集。
- 先决条件:需要 Node.js 20+ 和 pnpm。
- 限制:某些网站可能会拒绝请求。成功取决于目标页面。
- 计费:智能体循环是主要的计费风险,因此请求限制至关重要。
- 许可证:MIT 许可证。
- 无需信用卡:开始使用不需要信用卡。
结尾¶
该插件将 DSH 的 web_fetch 工具连接到 Decodo,无需更改提示或添加新工具即可处理机器人检测。它提供 Markdown 输出和错误处理,以便智能体可以响应抓取失败。