DSH Browser Client

前言

DSH Browser Client 是一个通过浏览器浮窗实现网页自动化的工具。它解决了在 DSH 环境中直接操作浏览器页面常遇到的同源策略限制问题。工具运行在用户已登录的真实浏览器中,能够直接利用现有的 Cookie 和 SSO 权限进行操作。

核心能力

插件提供了一套页面操作工具和一个探索模式工作流。页面工具用于单次或批量操作当前页面,探索模式则用于处理复杂任务,通过边操作边学习的方式生成工作流。

页面操作工具

工具名 功能
page_snapshot 获取页面结构化快照,包含 URL、标题、可见文本及交互元素坐标
page_eval 在页面 MAIN world 执行任意 JavaScript 代码
page_act 执行点击、输入、滚动、键盘操作或清除内容
page_navigate 跳转、后退、前进或刷新页面
page_wait 等待特定元素出现、网络空闲或延时
page_screenshot 截取视口、特定元素或整页
page_network 读取页面发生的 fetch/XHR 请求详情(URL、方法、状态、响应预览)

网页工作流与探索模式

面向非研发人员,支持将对话转化为可保存重跑的工作流。
* 网页工作流:通过 workflow_generate 工具生成工作流,支持 page_record / page_highlight 录制演示,执行器支持循环、分支、审批等逻辑。
* 探索模式:通过 explore_start 启动,反复使用 explore_act 试错,最后用 explore_check 验证,并将成功路径提炼为工作流。

安装与启用

安装过程分为 DSH Host 端配置和浏览器扩展加载。

1. 配置 DSH Host

将 cordis.patch.yml 插件插入 DSH profile,并重启 DSH。启动后日志会打印 token 并注册上述页面工具。

2. 加载浏览器扩展

打开 Chrome 或兼容浏览器,访问 chrome://extensions,开启开发者模式,加载已解压的扩展程序,选择 browser-ext/extension 目录。

配置与使用

在浏览器扩展的设置面板中填写 Host 地址和 Token。Token 位置通常为 $DSH_HOME/browser-client-token。

使用时,在任意网页右下角的浮窗中发起对话。例如提问“这个页面现在显示什么?”,DSH 会调用 page_snapshot 获取页面数据并回答。

注意事项

  • 工具命名规范:工具名使用下划线(如 page_snapshot),不含点号(如 page.snapshot)。腾讯 intranet 网关会拒绝含点号的工具名。
  • 浏览器兼容性:Chrome 151+ 在 macOS 上禁用了 --load-extension 命令行加载方式。当前插件在 360Chrome(Chromium 132)环境下已通过实测,Chrome 用户需手动加载扩展。
  • 验证环境:不启停生产实例(如 3080),所有验证通过独立新端口实例进行。
  • 权限范围:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。

生态与链接

该插件由 flymysql 维护,遵循 MIT 许可证。详见 GitHub 仓库。

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

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

小夜