前言¶
做智能体工具链时经常遇到一个问题:普通的 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 / 幻方无官方从属关系)