DeepSeek Harness Chrome Browser Extension

前言

DeepSeek Harness (DSH) 的理念是「一切皆插件」。在构建需要联网能力的模型时,通常面临两个痛点:一是调用 Shell 命令受到严格限制,二是需要频繁进行权限批准。aurora-lucas/dsh-chrome-browser 插件提供了一个面向模型的 chrome 工具,它通过 Chrome DevTools Protocol (CDP) 直接驱动机器上已安装的 Google Chrome,让模型能够导航、截图、检查和交互真实渲染的页面,且无需每次调用都进行 shell 或沙盒批准。

插件介绍

该插件由 Aurora-Lucas 维护,遵循 MIT 许可证。它是一个联网工具,本质上是 DeepSeek Harness 生态中的一个浏览器自动化模块。它运行在 Harness Host 进程内部,这意味着它继承了 Host 进程的权限特性。

核心功能

  1. 真实浏览器驱动:直接操作已安装的 Google Chrome 或 Chromium,而非模拟器。
  2. 真实渲染与截图:返回真实图片截图,并将截图保存为 PNG 文件。模型在流式响应中看到图片,人类也可以打开保存的文件查看。
  3. 内容获取:支持获取 DOM 元素的 outerHTML、元素的 innerText 以及运行 JavaScript 表达式。
  4. 调试与诊断:可查看控制台日志、未捕获异常以及网络请求。
  5. 交互控制:支持模拟鼠标点击、键盘输入等真实输入事件。
  6. 权限与沙盒优势:运行在 Host 进程中,调用过程被视为普通工具调用,无需额外批准;不受 shell 沙盒限制(例如在 Linux 上可规避 Landlock 限制)。

安装与启用

该插件需通过 npm 打包后安装到 Harness 的 profile 目录中,不能直接作为链接引用。

  1. 在插件目录下执行打包命令:
    npm pack
  1. 这会生成一个 tarball 文件(例如 local-dsh-chrome-browser-1.0.4.tgz)。
  2. 使用 Harness 插件管理器(如 plugin_manager 或 action: install_bundle)安装该 tarball,目标为 tarball 的绝对路径。
  3. 安装后 Host 会提示 restart-required,需重启 dsh web 以加载新模块。

典型用法

该工具定义了一个 chrome 动作,通过 action 参数区分操作类型。页面 ID(如 p1)由 open 命令生成,后续操作可选指定 page,否则默认使用最近打开的页面。

  • 打开页面:chrome open url width height...
  • 页面导航:chrome goto url page
  • 截图:chrome screenshot path...(保存 PNG)
  • 获取 DOM:chrome dom selector(返回元素 outerHTML)
  • 获取文本:chrome text selector(返回元素 innerText)
  • 运行 JS:chrome eval expression
  • 模拟点击:chrome click selector
  • 模拟输入:chrome type selector text
  • 查看控制台:chrome console clear limit
  • 查看网络:chrome network clear limit

系统要求与配置

  • 运行环境:支持 Linux、macOS 和 Windows。
  • 依赖:需要 Node.js 22+ 和 Google Chrome 或 Chromium(开发基于 Chrome 155)。
  • 字体:若处理包含中文的页面,必须安装 CJK 字体(如 Noto CJK),否则截图中汉字会显示为空框。
  • 平台差异:
    • Linux:默认运行 --no-sandbox,因为 Host 进程通常以 root 运行,且受限 shell 无法启动 Chrome。
    • Windows:默认不开启 --no-sandbox,关闭控制台窗口,使用 taskkill 终止进程树。
    • macOS:同 Linux 路径,默认开启 --no-sandbox。

适用场景与注意

该插件适合需要模型直接操作真实网页、进行前端调试或自动化测试的场景。由于插件以当前 DSH 进程的权限运行,在安装前应检查源码与许可证。插件支持通过环境变量 DSH_CHROME_PATH 或配置项 chromePath 指定浏览器路径,自动探测列表包含主流安装路径。

总结

该插件通过 CDP 协议将真实的浏览器环境引入 DeepSeek Harness,使得模型能够像人类一样操作网页,同时规避了常规 Shell 调用的沙盒限制。更多细节可参考 GitHub 仓库 或 插件目录页。

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

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

Xiaoye