Skip to content

功能建议:在被控制的浏览器窗口标明控制者身份(Agent / 项目 / 会话),支持多 Agent 并发区分 #536

Open

Description

@imlikun

背景 / 痛点

我日常会在一个项目里同时跑 3-4 个 AI Agent(WorkBuddy、Codex、Claude 等),每个 Agent 通过 BrowserSkill 控制不同的浏览器窗口 / 标签页。

但当前任意一个被控制的窗口,顶部控制条都显示同一句话:「BrowserSkill 已开始调试此浏览器」,右下角协作浮窗标题也是固定的 「BrowserSkill」。

结果:看不出到底是哪个 AI、哪个项目、哪个会话正在控制这个窗口。多 Agent 并发时,面对一排长得一模一样的「BrowserSkill 控制中」窗口,用户无法区分,也不利于安全(不知道谁在动哪个浏览器)。

现状分析(已查源码,fork 同步至 0.4.0 / PR #521)

  • 控制条文案来自 i18n 常量:packages/i18n/src/locales/zh-CN/extension.json 的 brandName: "BrowserSkill"(第 29 行)+ status: "Agent 正在控制"(第 177 行)。是产品名 + 固定文案,不依赖任何可变的控制者字段。
  • 协议层完全没有「控制者身份」字段,逐层确认:
    • crates/bsk-protocol/src/tools/session.rs SessionStartParams(第 53 行):仅 session_id / incognito / browser_instance_id / width / height / focused / unattended,无 agent 名 / 项目 / 颜色。
    • crates/bsk-protocol/src/system.rs SessionStatusEntry(第 530 行):仅 session_id / browser_instance_id / agent_window_id / created_at_ms,无控制者标识。
    • crates/bsk-protocol/src/tools/tabs.rs TabBorrowParams(第 139 行):仅 tab_id / session_id / confirmation_timeout_ms,无控制者标识。
    • system.rs 里出现的 label 字段(如 VersionSkewEntry.label)是浏览器实例的 label(如 "Turbo"),不是 session 控制者。

=> 结论:无法用轻量方式(复用已有 label / metadata)实现,必须在协议层新增控制者身份字段。

提议方案

  1. 协议层:SessionStartParams 新增可选 controller: Option<ControllerInfo>,其中
    ControllerInfo { name: String, project: Option<String>, color: Option<String> }
    (color 为稳定 hex,供 UI 区分)。同时把 controller 透传到 SessionStatusEntry,使 system.status / bsk status 也能展示。
  2. daemon 层:在 session 状态中保存 controller 信息,并随心跳 / status 下发到扩展。
  3. 扩展层 UI:
    • 顶部控制条:从固定「BrowserSkill 已开始调试」改为「[颜色] {name}·{project} 正在控制 · 已 X分X秒 · 取消」,左边框用 controller.color。
    • 右下协作浮窗:标题从「BrowserSkill」改为控制者名 + 颜色点;「交给 Agent」按钮写明具体 Agent。
    • 可选:浏览器窗口标题前缀 [{shortTag}·{project}],任务栏层面也能区分。
  4. i18n:新增 controller 相关文案(多语言)。

设计要点

  • 四维身份模型:Agent 名称 / 项目标签(最核心——用户按项目区分多个 AI)/ 会话 ID / 视觉颜色。
  • 颜色编码:每个控制者实例分配稳定颜色,3-4 个并发窗口一眼可辨。
  • 安全增强:明确控制者后,可加「抢占确认」——某窗口已被 A 控制时 B 想借用,弹「当前由 X 控制,是否抢占」。

价值

  • 解决多 Agent 并发时的「谁在控制这个窗口」困惑。
  • 提升可控性与安全感。
  • 多 Agent 协作是明显趋势,对上游也有普遍价值(可同时提 PR 给 Tencent/BrowserSkill)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions