DeepSeek Harness 插件:dsh-tmwebdriver - 在真实浏览器中运行任意 JavaScript

前言

在 DSH 生态中,浏览器自动化通常受限于固定的工具列表。一旦遇到未预定义的操作,脚本往往难以继续。dsh-tmwebdriver 插件提供了一个突破性的方案:它不再限制于预设动作,而是允许智能体在已登录的真实浏览器 Tab 中执行任意 JavaScript。这意味着只要开发者能在 Chrome DevTools 中完成的工作,智能体就能通过 browser_execute_js 完成,无需更新插件代码。

插件介绍

dsh-tmwebdriver 是一个由 chen70456-lang 维护的 DSH 插件,隶属于联网工具类别。它通过集成 TMWebDriver 组件,实现了对真实 Chrome 浏览器的控制。其核心价值在于提供了一种“无限覆盖”的能力——通过 JavaScript 执行,让智能体能够处理任何 DevTools 级别的操作,包括读取页面、点击、输入、截图、管理 Cookies 以及驱动 CDP。

核心功能

该插件提供以下主要工具:

  • browser_execute_js
    这是核心工具。它允许在当前浏览器的真实上下文中执行任意 JavaScript 代码。功能覆盖读取、点击、输入、填写表单、导航、截图、读取 Cookies 以及驱动 Chrome DevTools Protocol (CDP)。
  • browser_list_tabs
    查看所有打开的标签页,返回每个标签页的 ID、URL 和标题。
  • browser_snapshot
    快速读取页面的文本内容。为了防止长页面被截断,该工具会保留头部和尾部的内容。
  • browser_type
    提供可靠的文本输入能力,兼容 React、Vue 等现代前端框架,并支持表单提交。

安装与启用

安装过程包含三个步骤:

  1. 安装插件
    使用官方安装命令。该命令会获取插件包及其包含的 Python 依赖、Chrome 扩展和主程序。
    dsh plugin --profile web add dsh-tmwebdriver
  1. 重启服务
    安装完成后,必须重启 dsh web 进程才能加载新插件。

  2. 加载 Chrome 扩展
    插件包内包含 Chrome 扩展组件。首次使用时,需要在浏览器中手动加载一次。插件会打印精确的路径。如果忘记路径,browser_list_tabs 工具会提醒你具体的加载步骤。

    具体路径位于包内的 assets/tmwd_cdp_bridge/ 目录。

典型用法

该插件支持广泛的自动化场景,包括但不限于:

  • 基础交互:读取页面内容、点击元素、输入文本、提交表单、导航至新页面。
  • 高级操作:截图、读取 Cookies、执行任意 JavaScript 脚本。
  • 真实场景演示:插件内置演示,会打开百度,输入天气查询,并读取结果组件。

配置参数

安装后,可通过配置文件调整以下参数:

参数名 默认值 描述
linkUrl http://127.0.0.1:18766/link TMWebDriver 的 HTTP 链接端点。
timeoutMs 30000 单次调用的超时时间(毫秒)。
snapshotMaxChars 8000 单次 browser_snapshot 返回的最大字符数。

适用场景与生态

该插件特别适合需要通过验证码、需要保持登录状态的网站,或者操作复杂 JS 应用的场景。由于使用真实浏览器指纹和原生 Cookies,它能有效绕过 Headless Chrome 常见的反爬策略(如 Baidu、Cloudflare)。

该插件集成了 GenericAgent 工具链的两个组件:
* TMWebDriver master (master/tmwebdriver_master.py)
* Chrome extension bridge (assets/tmwd_cdp_bridge/)

所有代码均基于 MIT 许可证发布。DSH 插件目录与 DeepSeek 或幻方无官方从属关系。

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

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

小夜