dsh-fetch-third-party: Safe Third-Party Web Fetch for DeepSeek Harness

前言

DeepSeek Harness (DSH) 的智能體在回答問題時,往往需要獲取網頁全文而非搜索摘要。直接在本地發起 HTTP 請求抓取目標網址會引入 SSRF(服務器端請求僞造)攻擊面。dsh-fetch-third-party 插件通過“快遞員模式”解決這個問題:本機不直連目標網址,而是將抓取請求委託給用戶配置的第三方服務。所有 API Key 存儲在 DSH 託管的憑證保險箱中,並附帶會話級預算與抓取緩存機制。

核心功能

本插件提供安全的第三方網頁抓取能力,主要包含以下特性:

  • 安全代理抓取:本機不直接連接任意 URL,無 SSRF 攻擊面。
  • 多服務商支持:支持 Tavily、Jina Reader、Firecrawl,以及符合契約 v1 的自定義服務。
  • 憑證安全存儲:API Key 僅寫入 ~/.dsh/.credentials.yaml(權限 0600),插件與 GUI 卡片均不顯示明文。
  • 會話級預算:默認每會話限制 10 次抓取,超限拒絕並提示。
  • 抓取緩存:同一 URL 在有效期內(默認 600 秒)走內存緩存,不消耗第三方額度與預算。
  • 自建 Crawl4AI 棧管理:當配置本地自定義服務時,插件可自動管理 Crawl4AI 容器與包裝進程。
  • 結構化輸出:web_fetch_url 返回標題、大綱、鏈接、字數及閱讀時長等信息。

安裝與啓用

安裝前請確保已安裝 DeepSeek Harness (dsh) 與 pnpm。

執行以下命令安裝插件:

dsh plugin --profile web add https://github.com/tallahandsome-ux/dsh-fetch-third-party.git

安裝完成後,重啓 dsh web。在 設置 → 插件 → 插件配置 中找到「網頁抓取(第三方)」卡片,即表示安裝成功。

使用說明

配置第三方服務商

  1. 進入設置界面,找到「網頁抓取(第三方)」卡片。
  2. 在「服務商」下拉框中選擇目標服務(如 Jina Reader)。
  3. 點擊「測試連接」驗證配置是否可用。
  4. 在「接口地址」中輸入服務端點(通常默認即可)。
  5. 在「本地代理」中配置代理地址(例如 http://127.0.0.1:27822),用於解決網絡阻斷問題。

自定義服務與自建棧

若需使用自建抓取工具(如 Crawl4AI),需配置自定義契約服務:

  1. 在卡片中選擇「自定義」類型。
  2. 設置名稱(如 crawl4ai)。
  3. 類型選擇 custom(契約 v1)。
  4. 接口地址設置爲本地迴環地址(如 http://127.0.0.1:8787)。
  5. 保存後,插件會自動拉起對應的本地服務棧。

安全機制說明

  • 憑證隔離:插件禁止明文讀取 Key,所有 Key 僅存於 DSH 託管保險箱。設置卡片只顯示“已配置/未配置”狀態。
  • 縱深防禦:插件在轉發請求前會拒絕內網/保留地址目標,防止 SSRF 攻擊。
  • 唯一齣站面:本機唯一的外部出站連接指向用戶配置的第三方端點。

總結

該插件通過委託外部服務實現了安全的網頁抓取能力,適合需要在 DSH 環境中安全獲取全網信息的場景。開發者可參考 GitHub 倉庫 獲取源碼與文檔,或在 技能庫目錄 查看更多信息。

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

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

小夜