前言¶
DeepSeek Harness (DSH) 采用插件化架构来扩展其核心能力。在本地开发环境中,控制浏览器通常需要配置独立的自动化配置文件,或者面临与用户现有会话隔离的问题。dsh-b2us-chrome-tool 旨在解决这个问题,它通过 Manifest V3 扩展和经过认证的回环 WebSocket 桥接,将 DSH 与用户现有的 Chrome 会话连接起来。
插件简介¶
这是一个为 DSH 提供的安全、本地 Chrome 自动化插件。它允许 Agent 在受控环境下访问和操作已授权的标签页,同时通过上下文隔离机制防止未授权的数据泄露。该插件通过技术标识符 dsh-auto-chrome-tool 进行安装和配置。
核心能力¶
该插件提供以下功能,用于在受控范围内与浏览器交互:
- 现有 Chrome 会话:控制用户已授权的标签页,无需创建新的自动化配置文件。
- 语义页面访问:返回受限的可访问名称、角色、状态和短暂的不透明元素引用,而不是直接转储完整的页面源码。
- 源侧搜索:
page.find在页面运行时对相关元素进行排序,再将结果返回给模型。 - 已验证定位器:
page.locator在实时 DOM 中生成 CSS/XPath 候选者,并证明每个候选者能唯一标识目标元素。 - 页面交互:支持点击、精确名称点击、非敏感文本输入、选择、滚动、等待和结构化提取。
- 截图和网络数据:捕获截图和受限的 Fetch/XHR 元数据或体,作为带有屏蔽、配额和过期时间的不透明工件。
- 上下文隔离:一个新的 Browser Worker 接收页面数据和工作专用工具;父 Agent 只接收受限的 typed 结果。
- 可恢复交付:浏览器执行和文件交付分别报告,因此工件复制失败可以在不重复登录或提交的情况下重试。
- 引导式设置:自动检测 Chrome,仅在 DSH 批准后打包扩展,并添加双语 Harness 设置页面以进行状态检查、下载和配对。
- 纵深防御:将桥接限制为 loopback,验证扩展源,使用相互 nonce/HMAC 认证,并强制执行大小、并发、超时和生命周期限制。
安装与依赖¶
在安装前,请确保环境满足以下要求:
- Node.js
^22.19.0 || >=24.0.0 - Google Chrome 125 或更高版本
- DSH 版本
0.1.2-rc.1 - Cordis 版本
4.0.2
通过以下命令安装插件:
dsh plugin --profile web add ./dsh-auto-chrome-tool-0.4.2.tgz
典型用法¶
插件提供了以下工具接口,用于与页面交互:
page.find:在页面运行时对相关元素进行排序。page.locator:在实时 DOM 中生成 CSS/XPath 候选者并验证唯一性。
支持的页面交互操作包括:
* 点击(Click)
* 精确名称点击(Exact-name click)
* 非敏感文本输入(Non-sensitive text input)
* 选择(Select)
* 滚动(Scroll)
* 等待(Wait)
* 结构化提取(Structured extraction)
适用场景与注意事项¶
- 使用场景:该插件适用于本地开发环境和受信任的环境。
- 安全限制:
- WebSocket 服务器仅接受
127.0.0.1、::1或localhost。 - 配对需要至少 16 个字符的令牌。
- 仅
chrome-extension://来源可进行认证。 - 不暴露任意 JavaScript 评估或任意 Chrome DevTools Protocol (CDP) 命令。
- WebSocket 服务器仅接受
- 数据屏蔽:
- 密码字段仅显示
sensitive(敏感)和filled(已填充)状态,不返回具体值。 - Cookie、Authorization、API-key、Token、Session 等网络值会被屏蔽。
- 截图和网络体工件受配额和时间限制。
- 密码字段仅显示
- 权限与权威:
- 扩展准备需要通过原生 DSH 批准路径。
- 插件不会编辑 Chrome 配置文件、首选项、Cookie、密码存储或扩展策略。
- Chrome 是加载解包扩展和授予本地网络访问权限的最终权威。
总结¶
dsh-b2us-chrome-tool 提供了一种在受控、安全的前提下连接现有 Chrome 会话的方案。通过 Manifest V3 扩展和回环桥接,它实现了语义访问、已验证定位和受限交互等功能,适合需要与本地浏览器深度集成的 DSH 开发场景。