dsh-tool-playwright:让 AI 在浏览器中“看见”并操作网页

前言

DeepSeek Harness 的核心理念是“一切皆插件”。在开发需要联网能力的智能体时,单纯的文本对话无法满足操作动态网页、处理表单或抓取实时数据的需求。dsh-tool-playwright 插件填补了这一空白,它让 AI 拥有真实的浏览器控制权,能够像人一样打开网页、点击按钮、切换标签页并读取页面内容。

插件介绍

dsh-tool-playwright 是微软 playwright-mcp 的原生移植版。它不需要独立的进程或服务器,直接运行在 DeepSeek Harness 内部。插件默认使用 Chromium 浏览器,采用 MIT 许可证。

安装与启用

安装该插件需要经过三个步骤:克隆代码、本地链接引用、重启 Harness。

  1. 克隆代码
    从 GitHub 克隆插件文件夹。
    git clone https://github.com/cheng-nan01/dsh-tool-playwright.git
  1. 本地引用安装
    使用 link: 方式将克隆的文件夹注册到 Harness 的 web 配置文件中。注意不要移动或删除克隆后的文件夹。
    dsh plugin --profile web add link:/full/path/to/the/cloned/plugin/folder
*(请将 `link:` 后的路径替换为你实际的文件夹路径,例如 `link:D:\my-plugins\dsh-tool-playwright`)*
  1. 重启 Harness
    插件被加入启动列表后,必须重启 Harness 进程才能生效。
    # 停止当前进程 (Ctrl+C)
    # 重新启动
    pnpm dsh web

核心功能

该插件提供了一整套浏览器操作工具,主要分为以下几类:

  • 页面导航与操作:browser_navigate(打开网页)、browser_back(后退)、browser_forward(前进)、browser_reload(刷新)、browser_wait_for(等待页面加载)。
  • 交互操作:browser_click(点击)、browser_type(输入文本)、browser_type_submit(输入并提交表单)、browser_select_option(选择下拉选项)、browser_hover(悬停)、browser_focus(聚焦)、browser_press_key(按键盘)、browser_drag(拖拽)、browser_upload_file(上传文件)。
  • 内容查看:browser_snapshot(获取页面结构快照,供 AI 读取)。
  • 标签页管理:browser_tab_new(新建标签页)、browser_tab_switch(切换标签页)、browser_tab_close(关闭标签页)、browser_tab_list(列出所有标签页)。
  • 窗口与输出:browser_resize(调整窗口大小)、browser_screenshot(截图)、browser_pdf(保存为 PDF)。
  • 网络与调试:browser_console_messages(读取控制台信息)、browser_network_requests(查看网络请求)。
  • 高级功能:browser_evaluate(执行 JS 代码)、browser_storage_state(管理存储状态)、browser_init_script(注入脚本)、browser_tracing_start/stop(性能追踪)。注:高级功能默认关闭,需手动开启。

典型用法

在 Harness 的 Web 界面(通常为 http://127.0.0.1:3080)中,AI 可以直接调用上述工具。常见的调用方式包括:

  1. 打开网页:browser_navigate 搭配目标 URL。
  2. 点击按钮:browser_click,AI 会根据页面快照中的 ref(序号)或 CSS 选择器定位元素。
  3. 填写表单:browser_type 或 browser_type_submit。
  4. 查看结构:browser_snapshot,AI 读取结构化列表来决定下一步操作。
  5. 多标签页操作:browser_tab_switch 在不同页面间切换。
  6. 截图反馈:browser_screenshot 用于确认操作结果或作为日志附件。

配置与注意事项

插件使用 cordis.patch.yml 进行配置。注意,Patch 配置会覆盖而非合并原有配置,因此修改时通常需要重写整个配置块。

示例配置(添加到 $DSH_HOME/profiles/<name>/cordis.patch.yml):

- id: dsh-tool-playwright
  config:
    browser: chromium        # 浏览器引擎:chromium / firefox / webkit / msedge
    headless: false          # false = 显示浏览器窗口,true = 后台运行
    viewport:
      width: 1280            # 窗口宽度
      height: 720            # 窗口高度
    timeoutMs: 30000         # 单次操作超时时间(毫秒)
    capabilities:
      screenshot: true       # 允许截图
      pdf: true              # 允许导出 PDF
      network: true          # 允许查看网络请求

关键注意事项:

  1. 运行环境:插件运行在 Harness 进程内部,不需要额外部署服务器。
  2. 权限与安全:browser_evaluate(执行任意代码)功能默认关闭,这是出于安全考虑,仅在信任的环境下建议开启。
  3. 配置生效:修改配置后必须重启 Harness。
  4. 安装方式:使用 link: 安装是创建快捷方式,代码不会复制,因此不要移动插件源码文件夹。
  5. 许可证:MIT 许可证(语义源自 playwright-mcp,实现为原创)。

总结

dsh-tool-playwright 为 DeepSeek Harness 提供了标准化的浏览器自动化能力。它将原本依赖外部 MCP 服务器的方案整合为 Harness 原生插件,简化了部署流程。对于需要构建具备真实互联网交互能力的智能体,这是一个必要的工具组件。

查看插件目录
查看源码与文档

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

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

小夜