前言¶
做智能體工具鏈時經常遇到一個問題:普通的 HTTP 抓取只能拿到原始響應,遇到 SPA 這類靠 JavaScript 渲染的頁面,返回的內容基本是空殼;截圖、導出 PDF 這類需求更是無從談起。
DSH(DeepSeek Harness)的理念是「一切皆插件」,瀏覽能力同樣可以以插件形式接入。dsh-cloudflare-browser-run 解決的就是這件事:它把 Cloudflare Browser Run 提供的無頭 Chrome 接入 DSH,讓智能體具備真實瀏覽器級別的網頁訪問能力。
這是什麼¶
dsh-cloudflare-browser-run 是一個 DSH 插件,由 RealAlexandreAI 維護,基於 Cloudflare Browser Run(運行在 Cloudflare 網絡上的無頭 Chrome)提供網頁瀏覽工具,支持 JS 渲染頁面的 markdown 抓取、截圖與 PDF 導出。
它是 pi-cloudflare-browser-run 的移植版本,按 dsh(Cordis)插件規範構建,許可證爲 MIT,運行環境要求 Node >= 20.0.0。
核心功能¶
插件對外提供三個工具:
| 工具 | 作用 |
|---|---|
browse |
抓取公開 URL,默認返回乾淨的 markdown;action 可選 screenshot | pdf |
screenshot |
將頁面保存爲本地 PNG 並返回文件路徑 |
pdf |
將頁面保存爲本地 PDF 並返回文件路徑 |
幾個值得注意的設計:
1、真實瀏覽器訪問。頁面由 Cloudflare 網絡上的無頭 Chrome 打開,JS 渲染的頁面(SPA)也能正常抓取。
2、SSRF 防護。每個 URL 在調用 API 前都會經過檢查,localhost、私有 IP、IPv6 字面量、帶 userinfo 的地址會被直接拒絕,插件僅支持公開網頁。
3、憑據隱私。API token 只存在於用戶配置文件中,插件不會記錄或存儲。
4、合規抓取。Browser Run 以合規 bot 身份標識自身進行抓取。
安裝¶
在 DSH 中執行下面的命令,把插件添加到 web profile:
dsh plugin --profile web add dsh-cloudflare-browser-run
安裝完成後,還需要在 profile/settings 層配置 Cloudflare 憑據,插件才能真正工作。
配置憑據¶
在 profile/settings 層的 YAML 配置中加入:
- id: cloudflare-browser-run
name: dsh-cloudflare-browser-run
config:
cf_api_token: <your token>
cf_account_id: <your account id>
兩個必填項的獲取方式:
1、cf_api_token:登錄 Cloudflare dashboard → API Tokens → 使用 Browser Rendering: Edit 模板創建,token 需要 Browser Rendering:Edit 權限。
2、cf_account_id:在 dash.cloudflare.com/<ACCOUNT_ID>/... 這樣的地址中可以查到你的 account id。
可選配置項有兩個:
cf_api_base:API base 覆蓋;output_dir:截圖和 PDF 的輸出目錄,默認寫到系統臨時目錄。
適用場景與注意¶
適合的場景:
- 抓取 SPA 或其他 JS 渲染頁面,拿到乾淨的 markdown 餵給模型;
- 需要把頁面留檔爲 PDF 或截圖的場景;
- 訪問 WebMCP 站點,或需要可登錄會話的場景。
使用前注意:
1、插件僅支持公開網頁,內網地址會被 SSRF 防護拒絕,不要指望它訪問本地服務。
2、插件以當前 dsh 進程的權限運行,安裝前建議先閱讀源碼並確認許可證(MIT)符合你的使用要求。
3、運行環境需要 Node >= 20.0.0。
結尾¶
一句話總結:dsh-cloudflare-browser-run 用 Cloudflare 的無頭 Chrome 補上了 DSH 在 JS 渲染頁面抓取、截圖、PDF 導出上的短板,配置兩個憑據即可使用。
倉庫地址:https://github.com/RealAlexandreAI/dsh-cloudflare-browser-run
目錄頁:https://www.skillhub.cn/plugins/RealAlexandreAI/dsh-cloudflare-browser-run (該地址來自插件收錄線索;社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係)