Tabbit博客

用 OpenHands 操作已登录的浏览器

OpenHands 的 Local Workspace 不等于可访问主机浏览器。先确认运行环境,再评估经验证的本地 Tabbit CLI 交接。

本文目录
  1. 核心结论
  2. 先确认 OpenHands 的运行环境
  3. 按顺序检查本地连接
  4. 创建命名的预览审核任务
  5. OpenHands 无法访问 Tabbit 时
  6. 实用选择:本地 OpenHands 配合 Tabbit
  7. 根据运行时选择交接方式

OpenHands 能访问本地项目工作区,不代表它能访问主机上的浏览器。要检查已登录的预览页,先确认 OpenHands 的运行环境:本地工作区、沙箱/容器、远程部署是不同边界。如果 Agent 进程和 Tabbit CLI 能在受支持的同一主机上运行,可评估本地 Tabbit 连接,并用只读页面检查验证。挂载项目目录不能证明浏览器 socket、Cookie 或登录态也可用。

一位 OpenHands 社区成员提到使用“Playwright CLI for isolated browser testing”,评论者则称这种角色分工建立了“a much cleaner trust boundary”。这是社区工作流分享,不证明 OpenHands 能访问 Tabbit。查看原讨论。

代码修复和预览检查应分两步。OpenHands 先准备代码改动。本地浏览器任务再检查已登录预览页,并保存 preview-184-review.md 供人核对。这是建议流程,不代表我们测试过 OpenHands 集成。

核心结论

  • “Local Workspace”说明文件访问方式,不保证 Agent 进程运行在主机,也不保证它能访问浏览器配置文件。

  • OpenHands 命令可能在沙箱或容器中执行。先确认运行时实际位置。

  • 只有启动器能从已配置主机连接预期 Tabbit 实例时,Tabbit CLI 才值得评估。

  • 容器需要明确受支持的本地桥接方式。不要从工作区挂载或网络假设中推断该能力。

  • 把预览观察保存为命名报告,并在发布或提交表单前安排人工审核。

先确认 OpenHands 的运行环境

OpenHands 配置“本地”可能指什么浏览器访问假设下一步检查
Local Workspace 模式可以访问本地检出目录中的项目文件不能证明 Agent 进程就在浏览器旁边运行检查运行时模式和命令执行位置
Docker 或沙箱运行时命令在隔离运行时中执行不会自动暴露主机浏览器查找文档支持的主机连接方式,不自行假设 socket 挂载
托管 OpenHands 服务工作区或代码库在远程运行默认无法访问笔记本标签页使用单独受支持的本地交接,或自行检查浏览器
本机 OpenHands 进程和本地 CLI两者可能共享同一主机仍需可用启动器和预期浏览器实例用无副作用的只读任务验证

OpenHands 官方设置文档列出了沙箱和运行时设置。GitHub Action 指南介绍了自定义沙箱镜像。正因如此,不能把“本地工作区”简化为“Agent 能使用本地浏览器”。真正决定边界的是运行时位置。

按顺序检查本地连接

  1. 确认 OpenHands Agent 进程和 Tabbit CLI 启动器在同一主机运行,或有文档说明它们之间受支持的路径。

  2. 确认客户端能加载 Tabbit skill,或能显式调用本地 CLI。只有 OpenHands 客户端支持命名 skill 命令时,/tabbit 才有效;否则使用文档规定的 skill 方式。

  3. 让 Tabbit CLI 检查可用浏览器实例。选择预期实例,不猜测哪个进程或配置文件正在使用。

  4. 打开预览页并检查可见标题、登录账号和构建标记。如果页面要求重新登录或显示另一个账号,就停止。

  5. 先运行只读任务。确认返回结果中包含预期页面信息,再考虑其他动作。

本地项目路径和本地浏览器是两种不同资源。容器的网络访问能力(如有)也不等于能访问桌面浏览器会话。不要把浏览器配置目录挂进容器,也不要复制 Cookie。

创建命名的预览审核任务

在本地预览场景中,先让 OpenHands 完成代码改动。随后通过本地浏览器任务检查预览并创建 preview-184-review.md。记录路由、构建标记、可见标题、预期行为、实际行为和未完成事项。由人确认报告与目标构建一致后再继续。

仅对能调用 Tabbit skill 的本地 OpenHands 客户端使用此示例提示词:

只有当前 OpenHands 运行时能访问这台主机上的 Tabbit CLI 时,才使用本地 Tabbit skill。
如果任务运行在容器或远程环境且没有文档支持的本地桥接,请停止并准备人工检查清单。
在选定的 Tabbit 浏览器实例中打开已登录的预览页。
创建名为 "preview-184-review" 的独立任务。
检查 /settings/profile?preview=184,并核对构建标记和可见标题。
不要提交表单、保存设置或发布。
将预期与实际行为、依据和未完成检查项保存到 preview-184-review.md。
停止并交由人工审核。

示例里明确写了停止条件,因为预览环境可能包含类似生产环境的控件。除非已确认部署环境,截图和夹具数据都只视为示例。

OpenHands 无法访问 Tabbit 时

如果运行时在托管环境或容器中,且没有文档支持的主机桥接,让 OpenHands 生成本地检查清单或只读脚本。由人本机执行浏览器检查,再把修复所需的最少结果交还给 Agent。不要把登录 Cookie、浏览器配置目录或客户数据发送到容器。

Tabbit 侧工作流见 CLI 设置指南、连接现有浏览器和登录态说明。通用检查步骤见首次任务清单、Browser MCP 与 CLI 对比、浏览器会话基础、本地应用验收流程和 Codex 配置示例。这些文章介绍 Tabbit 或浏览器测试,不证明 OpenHands 能访问主机。

实用选择:本地 OpenHands 配合 Tabbit

如果预览已在同一台电脑的浏览器打开,且 OpenHands 运行时能调用本地启动器,Tabbit 值得评估。由你在 Tabbit 中打开预览并核对账号,再让浏览器任务在独立标签页读取页面。你可以在其他标签页继续改代码或检查别的资料。

这依赖经验证的同主机连接。能访问代码库的 Docker 容器并不足够。OpenHands 部署必须有明确受支持的 Tabbit CLI 访问路径,且 Tabbit CLI 必须选中目标浏览器。任一检查失败,就改用人工审核报告。

根据运行时选择交接方式

当前观察合适的下一步不要假设
运行时和 CLI 都在本地,启动器检查成功只读检查 Tabbit 预览页未核对前就假设浏览器账号正确
能看到本地文件,但运行时在容器里查证文档是否支持桥接,否则用人工清单卷挂载包含浏览器控制或 Cookie
OpenHands 会话在远程运行在本机完成浏览器审核GitHub 授权能访问工作站浏览器
预览页提供保存或发布操作保存证据并停止Agent 的建议已得到批准

常见问题

OpenHands Local Workspace 会让所有操作都直接在主机上运行吗?

不会。Local Workspace 描述的是本地项目文件访问方式,Agent 运行时仍可能在沙箱或容器中执行。需要检查你当前的部署和运行时配置。

OpenHands 容器能复用 Tabbit 登录态吗?

不会自动复用。容器必须有明确受支持的方式连接本地 Tabbit CLI 和浏览器。不要假设工作区挂载也挂载了浏览器 socket、Cookie 或凭据。

如何检查本地 Tabbit 连接?

在支持启动器的主机环境中运行 OpenHands 和 Tabbit CLI,再核对具体浏览器实例和网站账号。如果包含容器,先用只读任务证明连接有效。

托管版 OpenHands 能控制笔记本浏览器吗?

只有通过单独受支持的本地交接方式才行。远程服务不会因为能访问代码库或 GitHub,就自动连接本地浏览器。

OpenHands 检查预览页时应该做什么?

要求它检查一个命名预览页,保存包含可见依据和未完成检查项的报告。提交表单、发布内容或更改数据前停止。

浏览器任务运行时我还能继续写代码吗?

本地任务接通后,Tabbit 任务标签页可以与普通标签页分开。依赖这种工作方式前,先确认任务标签页和浏览器配置文件。

下一步

让 Tabbit 与你并肩工作。

跨标签页调研、自动化重复的浏览器工作,让每一处上下文都触手可及。