Tabbit博客

GitHub Copilot CLI 如何操作已登录的浏览器

把本机 Copilot CLI 接入 Tabbit Browser,分别检查技能、启动器与登录状态,再用独立任务核对 PR 预览。

本文目录
  1. 要点
  2. 各部分负责什么
  3. 1. 检查 Copilot CLI 是否发现了 Skill
  4. 2. 检查本地 Tabbit 连接
  5. 3. 对照 PR diff 与预览页
  6. Tabbit 适合解决浏览器环境问题
  7. 根据 Agent 运行位置选择接入方式
  8. 判断这种方式是否适用

GitHub Copilot CLI 可以通过 Agent Skill 指导本地终端工作,但 GitHub 没有文档说明它内置了 Tabbit Browser 连接器。若要检查已登录的预览页,需要安装 Tabbit Browser 和 Tabbit CLI Skill,再确认 Copilot CLI 能读取 Skill 并运行本地启动器。网站登录状态保存在选定的 Tabbit 配置文件中,与 Copilot 的 GitHub 登录无关。

这适用于只能通过本人登录访问的 PR 预览。先让 Copilot CLI 在终端总结代码差异,再用独立的 Tabbit 任务查看对应预览。浏览器任务使用自己的标签页,你可以继续在其他标签页阅读 diff 或处理别的工作。保存一份待审阅记录,在你批准下一步前不要改动 PR。

一位 r/GithubCopilot 用户提到,Copilot 会在他工作时反复打开新的终端。这只是个体经历,却提醒我们把浏览器检查拆成有名称的任务,并将结果存入独立文件。查看原讨论。

要点

  • Copilot CLI 是编码客户端,Tabbit CLI 是本地浏览器连接工具,两者是不同程序。

  • GitHub 文档列出的 Skill 路径包括 .github/skills、.claude/skills、.agents/skills、~/.copilot/skills 和 ~/.agents/skills。每个 Skill 目录都需要 SKILL.md,也可以包含脚本。

  • 客户端能看到 Skill 只证明发现成功。还要单独验证本地启动器和目标 Tabbit 配置文件。

  • Copilot CLI 的 shell 权限很重要,因为 Skill 可以要求它运行本地命令。审阅 Skill 和脚本;对未检查过的命令保留确认步骤。

  • 给浏览器任务命名,并使用单独的审阅文件。核对结果,在人工检查前不要提交或发布更改。

各部分负责什么

部分作用需要核实的内容
GitHub Copilot CLI读取代码上下文、运行获准的终端工具会话在本机启动、工作目录正确、工具权限符合需要
Copilot Agent Skill提供操作说明和可选脚本SKILL.md 位于受支持目录,重载后能看到 Skill
Tabbit CLI让本地 Agent 操作正在运行的 Tabbit Browser已安装的启动器能诊断出预期的 Tabbit 实例
Tabbit Browser 配置文件保存浏览器标签页和网站登录状态预览页显示正确的账号或项目
审阅记录保存待人工核对的发现文件已保存到本地,没有声称 PR 已更改

GitHub 将 Skill 与一次性提示词区分开来。Skill 是包含说明的文件夹,也可以包含脚本或其他资源。GitHub 还提醒,预先允许 shell 或 bash 会移除命令执行前的确认步骤。更改设置前请阅读 Copilot CLI Skill 指南 和 CLI 命令参考。

1. 检查 Copilot CLI 是否发现了 Skill

如果要在多个仓库中复用浏览器工作流,可以使用个人 Skill。GitHub 文档支持将个人 Skill 放在 ~/.copilot/skills 或 ~/.agents/skills。项目 Skill 可放在仓库里的 .github/skills、.claude/skills 或 .agents/skills。

~/.agents/skills/
└── tabbit/
    └── SKILL.md

Tabbit 的 CLI 快速开始介绍了安装方式和 Skill。安装后重启 Copilot CLI,或在交互式会话中输入 /skills reload。接着检查 Skill 列表,或先要求 Copilot 说明它准备如何运行命名的浏览器任务。若要明确调用,请使用列表中的注册名称加斜线。若安装的 Tabbit Skill 注册名为 tabbit,可输入 Use the /tabbit skill to inspect this preview.,并用 /skills info tabbit 确认;名称不同时按列表显示的名称调用。

发现 Skill 只是第一步。它还需要能运行本地启动器,启动器也需要能连接目标浏览器。如果只能看到 Skill、却运行不了启动器,请检查 shell 权限和本地执行环境。

2. 检查本地 Tabbit 连接

在运行 Copilot CLI 的同一台电脑上打开 Tabbit Browser。使用预期的配置文件登录目标网站。第一次检查先只读预览页。

按操作系统使用 Tabbit 文档中的启动器路径。macOS 快速开始提供了以下检查方式:

launcher="$HOME/.local/bin/tabbit-cli"
"$launcher" diagnose

要求 Copilot 创建浏览器任务之前,先确认正确的浏览器正在运行。若 Copilot 看到了 Skill,但无法运行启动器,请检查是否有 shell 权限,以及 CLI 是否在本机运行。Codespaces 或其他远程 CLI 不会因为使用同一个 GitHub 账号,就自动继承笔记本上的浏览器配置文件。

检查项通过证据未通过时检查
Skill 发现客户端可用 Skill 中出现 tabbit检查 SKILL.md 路径和名称,然后重载会话
启动器可达Copilot 能在本地主机运行已安装的 Tabbit 启动器检查 shell 权限,以及 CLI 是否在本机运行
浏览器目标Tabbit CLI 显示目标实例或任务标签页导航前先选择正确的 Tabbit 实例
网站登录预览页上能看到预期账号或项目先在 Tabbit 中手动登录,再检查页面

只有任务连接到你已登录的同一个 Tabbit 配置文件时,才会复用其中已有的登录状态。这不代表网站密码或 Cookie 会作为提示词文本提供给 Agent。不要把凭证写入提示词或审阅文件。

开始长任务前,可用浏览器 Agent 首次任务清单定义一个小型只读操作。如果 Agent 看不到已登录页面,请对照本地和云端浏览器路径以及连接已有浏览器的方式。Tabbit 的 Codex 设置指南也说明了另一个客户端的本地启动器边界。

3. 对照 PR diff 与预览页

一次可检查的审阅应该有明确范围。先让 Copilot CLI 根据 diff 列出改动路由和预期的可见变化,再让它通过一个命名的 Tabbit 任务检查对应预览。浏览器任务会使用独立标签页,你可以继续在常用标签页里处理 diff 或其他工作。

一位在公司内协助部署 Copilot CLI 的用户写到,在多个工具之间共享 Skill 时,路径和 metadata 格式需要分别处理。这个经验与具体版本有关,但可以得到一个实际结论:采用客户端支持的格式,并确认 Skill 确实出现在客户端中。查看原帖。

确认 Skill 和浏览器连接后,可以试用下面的提示词。它只要求生成本地草稿,不提交 PR 评论:

请对照当前 pull request 的代码 diff 和 Tabbit Browser 中已登录的预览页面。
新建一个名为 "pr-482-preview-review" 的 Tabbit 任务。只检查本次 PR 改动涉及的路由。
不要编辑网站、提交表单、发表评论或合并任何内容。
保存一份本地 Markdown 草稿,文件名为 "pr-482-release-preview-review.md",包含:
- 路由和页面上可见的标题
- 每项已核对的改动行为
- 不一致之处及对应的页面证据
- 未能验证的项目
保存后停止,并告诉我文件路径以便审阅。

这是示例提示词,不是测试结果。用于真实 PR 时,请替换 PR 编号和文件名,确认预览页对应正确构建版本,并在分享前检查保存的记录。若页面要求重新登录、显示了错误的工作区或出现敏感操作,请暂停并由人工确认。

Tabbit 适合解决浏览器环境问题

Copilot CLI 是本地编码客户端,Tabbit Browser 提供浏览器上下文,Tabbit CLI 则让符合条件的本地 Agent 请求浏览器执行任务。当预览页已在 Tabbit 中登录,或者你希望在继续编码时单独执行浏览器检查,这种组合值得评估。

这不是说 Copilot CLI 原生支持 Tabbit。连接取决于安装的 Tabbit Skill、本地启动器可达性和目标浏览器实例。GitHub Skill 文档确认 Skill 可以包含说明和脚本,但没有认证 Tabbit 是 Copilot 的第一方集成。可继续看 Tabbit CLI 指南、GitHub Copilot 浏览器 Agent 指南和登录态复用清单。

根据 Agent 运行位置选择接入方式

Agent 环境建议的浏览器路线登录状态预期
电脑上的 Copilot CLI先检查 Skill 和启动器,再用 Tabbit CLI可访问所选 Tabbit 配置文件中的有效登录状态
Codespaces 中的 Copilot CLI采用另行支持的本机交接方式(如已配置)不会自动继承笔记本的浏览器配置文件
访问公开预览页的 Copilot CLI使用获准方法读取或检查公开路由不需要登录状态
访问受限预览页的 Copilot CLI用本地 Tabbit 任务,人工核对目标和结果登录仍保存在所选浏览器配置文件中

Copilot 也提供从另一设备操控 CLI 会话的功能,但这不等于把会话接入你电脑上的浏览器。要把浏览器连接与 Agent 自身的会话机制分开考虑。

判断这种方式是否适用

当浏览器已登录,且你需要将实际页面与代码改动进行对照时,可以使用这套流程。只要站点所有者授权,也适用于没有公开预览路由的 staging 面板。

若本地快照、API 响应或自动化测试已经能给出同样可靠的证据,就不必调用浏览器。对敏感的生产页面,不能用提示词替代站点自身的审批控制。让 Copilot 准备清单,再自行检查或提交更改。

一次有用的审阅应该留下可观察的交接结果:命名任务已完成、文件存在、检查范围清楚。模型说“完成”并不能证明页面加载成功或 PR 已更改。

需要用独立 fixture 练习时,可看 agent-browser CLI 教程。选工具前也可以先读浏览器自动化概览。

常见问题

GitHub Copilot CLI 自带浏览器控制功能吗?

GitHub 文档介绍了 Copilot CLI 的 Agent Skill 与终端工具,但在本次核对的资料中没有说明它内置了 Tabbit Browser 连接器。接入 Tabbit 时,要分别确认本地客户端能发现 Skill、能运行安装好的启动器,并能读取目标网页。

Copilot CLI 的 Skill 可以放在哪里?

GitHub 文档列出的项目路径包括 .github/skills、.claude/skills 和 .agents/skills;个人 Skill 可以放在 ~/.copilot/skills 或 ~/.agents/skills。每个 Skill 目录需要包含 SKILL.md。

新建 Skill 后如何重新加载?

在交互式 Copilot CLI 中添加 Skill 后,可以输入 /skills reload。也可以重启会话,然后查看可用 Skill,再让它执行浏览器步骤。

Tabbit 会复用 Copilot CLI 的 GitHub 登录吗?

不会。浏览器任务使用的是所选 Tabbit Browser 配置文件中已有的网站登录状态。Copilot 的 GitHub 账号登录与网站在 Tabbit 中的登录是两件事。

浏览器任务会修改我的 Pull Request 吗?

只读提示词可以要求 Agent 查看预览并保存本地清单,但无法保证 Agent 一定只读。检查它准备执行的动作,只批准必要的工具调用,并在分享前核对页面和输出文件。

GitHub Codespaces 能复用笔记本上的 Tabbit 登录吗?

不会自动复用。本地 CLI 进程必须运行在能访问 Tabbit runtime 的受支持主机上。远程环境需要另行支持的本机交接方式,或者在本机执行浏览器步骤。

下一步

让 Tabbit 与你并肩工作。

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