dsh-web-fetch-moli:轻量级 Moli 后端

在 DeepSeek Harness (DSH) 中,web_fetch 工具负责获取网页内容。处理复杂的单页应用 (SPA) 或微前端时,传统浏览器引擎占用资源过高。dsh-web-fetch-moli 插件提供了一个基于 Rust 的轻量级解决方案,在保持动态渲染能力的同时,将内存占用控制在 ~50-60MB。

这是什么

这是一个 DeepSeek Harness (DSH) 插件,提供轻量级 Moli 后端以渲染 SPA 和微前端。它由 GreyRaphael 维护,遵循 MIT 许可证。

核心功能

  • 超轻量级内存占用:单实例占用约 50-60MB 内存,相比标准 Chromium/Playwright(约 1GB)减少 90% 以上。适合资源受限的服务器。
  • SPA 和微前端渲染:支持复杂的微前端架构(如 qiankun、single-spa),通过 CDP 和 CSP 绕过技术实现原生布局计算。
  • 双后端模式:
    • local(默认):自动管理本地 moli serve 守护进程。
    • cdp:连接到远程 Moli 或 Chromium CDP 服务。
  • 内容去噪:集成 LinkeDOM + Readability + mdream 流程,提取正文并生成 LLM 优化的 GitHub Flavored Markdown。
  • 处理 Cloudflare 挑战:能够检测并等待 Cloudflare 验证通过,无需人工干预。

安装与启用

插件支持自动下载 Moli 二进制文件。

  1. 安装插件:
    dsh plugin --profile web add github:GreyRaphael/dsh-web-fetch-moli
  1. 安装完成后,重启 dsh web 以加载插件。

典型用法

在 DSH 的配置或代码中指定 moli 提供者,并设置后端和去噪参数。

// 在 DSH 上下文中配置
ctx.web.fetchProvider = 'moli';

// 配置选项
// backend: 'local' 或 'cdp'
// denoise: true (启用内容提取)

适用场景与注意

  • 环境要求:需要 Node.js >= 22。
  • 自动下载:首次使用时,插件会自动下载匹配系统架构的 Moli 二进制文件到缓存目录。
  • 运行权限:插件以当前 DSH 进程的权限运行。在安装前,建议检查插件的源码和许可证。

总结

该插件在内存效率和动态渲染能力之间取得了平衡,适合需要高并发抓取动态页面的场景。更多信息请参考 GitHub 仓库。

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

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

小夜