dsh-crw:基于 fastCRW 的 DeepSeek Harness 网络请求插件

前言

DeepSeek Harness (DSH) 将网络访问定义为能力边界 (ctx.web),并支持可插拔提供者。基础层启用了搜索 (web_search),但默认禁用了抓取 (web_fetch),理由是缺乏 SSRF 防护且存在安全风险。dsh-crw 注册了两个提供者 (crw),通过 fastCRW 后端实现服务端验证和内容抓取,从而允许安全地启用 fetch 功能,并解决 Cloudflare 等现代反爬墙问题。

插件介绍

名称:dsh-crw
维护者:fastcrw
定位:为 DeepSeek Harness (ctx.web) 提供基于 fastCRW 的 web_search 和 web_fetch 提供者。

基础的 HTTP 抓取提供者在 Harness 进程中直接运行 fetch(),未阻止私有 IP 范围(如 169.254.169.254)或执行 DNS 检查,导致模型可能访问云元数据端点。fastCRW 在服务端解析和验证目标服务器,拒绝私有范围,确保 Harness 进程不会打开模型选择的连接。此外,该插件解决了 Cloudflare 等现代墙的访问问题,能够通过浏览器层处理复杂挑战。

核心功能

  • web_search:提供网络搜索能力。
  • web_fetch:启用抓取并提供安全保护。
  • SSRF protection:拒绝访问私有 IP、环回地址、链路本地地址或多播范围。
  • Markdown format:以 Markdown 格式返回抓取内容。
  • Self-hosting support:支持在本地运行 fastCRW 引擎。

安装与启用

安装此插件需要先获取 fastCRW API 密钥,然后将其添加到 DSH 配置中。

  1. 获取 API 密钥:
    export CRW_API_KEY=...
(注:fastcrw.com 提供一次性 500 积分的免费额度,无需信用卡)。
  1. 安装插件:
    dsh plugin --profile default add dsh-crw
  1. 配置提供者:
    在配置文件(如 cordis.patch.yml)中,将搜索和抓取提供者指向 crw。默认情况下,基础层禁用抓取;此插件通过启用它并添加 SSRF 保护来修复此问题。
    - id: web
      config:
        searchProvider: crw
        fetchProvider: crw

典型用法

通过将提供者指向 crw,模型可以使用与内置工具相同的 web_search 和 web_fetch 工具,但后端已更改。

# 设置 API 密钥
export CRW_API_KEY=your_api_key_here

# 安装插件
dsh plugin --profile default add dsh-crw

# 启动 Harness
dsh --profile default

适用场景与注意

  • 适用场景:需要可靠抓取网页内容(Markdown 格式)的场景,特别是那些有 Cloudflare 或 JS 挑战的目标。需要安全抓取(SSRF 保护)以防止模型访问内部资源的场景。
  • 注意事项:
    • 默认情况下,DSH 基础层禁用抓取。此插件将其启用。
    • 云端端点需要 CRW_API_KEY。自托管端点不需要。
    • 该插件处理 Cloudflare 和 JS 挑战,但交互式挑战有时仍会失败。
    • 它是 MIT 许可证。

结尾

dsh-crw 为 DeepSeek Harness 提供了安全、基于 Markdown 的网络抓取能力。它通过在服务端处理 SSRF 防护和反爬墙,使模型能够安全地访问开放网络。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜