Skip to content

候鸟浏览器控制端对接 ​

MBAgent 之所以能"真的操作候鸟浏览器",靠的是一套名为 候鸟客户端 ControlV2 的通信协议。本篇详细介绍 MBAgent 如何与候鸟浏览器建立连接,以及常见问题排查。

NOTE

截图说明:MBAgent 与候鸟浏览器同时运行时的"双控制端"截图(候鸟浏览器主窗口 + MBAgent 主窗口并排显示)将在 v1.x 版本陆续补充。本节先用文字描述两者的协作关系。


一、什么是候鸟浏览器控制端? ​

候鸟浏览器控制端(Houniao Client ControlV2)是候鸟浏览器对外提供的一套双向通信协议,让其他程序(包括 MBAgent)可以:

  • 🔍 发现本地运行的候鸟实例
  • 🤝 与候鸟实例握手
  • 🔑 通过候鸟账号登录
  • 📦 加载候鸟配置(环境、代理、指纹)
  • 🚀 启动 / 停止候鸟环境
  • 🌐 操作候鸟环境里的网页

NOTE

类比:可以把 ControlV2 理解为候鸟浏览器的"遥控器协议"。MBAgent 是个遥控器,候鸟浏览器是电视机。


二、MBAgent 与候鸟的三种连接模式 ​

1. MBAgent 控制端(推荐) ​

MBAgent 启动时自动在本地启动一个候鸟控制端服务,候鸟浏览器作为客户端连接过来。

适用场景:

  • 单一候鸟实例
  • 大多数个人用户
  • 候鸟 + MBAgent 同机运行

2. ApiServer 控制端 ​

通过候鸟浏览器内置的 ApiServer 接口(http://127.0.0.1:8186)连接。

适用场景:

  • 远程控制候鸟
  • 候鸟浏览器在另一台机器
  • 自动化脚本(Selenium / Puppeteer / Playwright)

3. 同一实例 ​

MBAgent 和候鸟浏览器在同一个客户端实例里,直接内部通信。

适用场景:

  • 开发调试
  • 性能敏感场景

三、首次连接候鸟浏览器 ​

前置条件 ​

✅ 候鸟浏览器已启动并登录账号 ✅ MBAgent 已安装 ✅ MBAgent 启动时选择的工作目录有权限

自动连接流程 ​

MBAgent 启动时会自动执行以下流程:

[1] 启动本地 ControlV2 服务
    ↓
[2] 扫描本地候鸟实例
    - 通过 UDP 广播 / 本地端口扫描
    - 找到候鸟浏览器的 ControlV2 端口
    ↓
[3] 握手
    - 交换协议版本号
    - 协商加密方式
    ↓
[4] 账号登录
    - MBAgent 用候鸟账号登录 ControlV2
    - 自动读取 Token
    ↓
[5] 配置加载
    - 加载候鸟账号下的所有环境
    - 加载候鸟账号下的代理配置
    ↓
[6] 能力检测
    - 测试启动 / 停止环境
    - 测试网页接管
    - 测试文件操作
    ↓
[7] 连接成功 ✅

查看连接状态 ​

  1. 进入 "设置 → 官方服务检测"
  2. 点击 "候鸟客户端 ControlV2" 选项
  3. 点击 "开始检测"
  4. 几秒后显示:
    • ✅ 正常:所有检查通过
    • ⚠️ 异常:具体哪一步失败
    • ⚪ 未启用:未开启 ControlV2
    • ⏳ 检测中:正在检测

四、检测结果解读 ​

✅ 正常 ​

显示:

候鸟客户端 ControlV2 可正常使用
实时就绪往返检测已验证连接、登录、配置及可执行能力。

表示 MBAgent 可以正常操作候鸟浏览器。

⚠️ 异常:连接失败 ​

可能原因:

  • 候鸟浏览器未启动
  • ControlV2 端口被占用
  • 防火墙拦截

排查:

  1. 确认候鸟浏览器已启动
  2. 检查候鸟浏览器 → 设置 → ControlV2 是否开启
  3. 关闭防火墙 / 杀毒软件再试

⚠️ 异常:账号未登录 ​

可能原因:

  • 候鸟账号 Token 过期
  • MBAgent 没读取到 Token

排查:

  1. 在候鸟浏览器里重新登录账号
  2. 重启 MBAgent

⚠️ 异常:配置加载失败 ​

可能原因:

  • 候鸟账号下没有创建环境
  • 候鸟数据库连接失败

排查:

  1. 在候鸟浏览器里创建一个环境
  2. 重启 MBAgent

⚠️ 异常:可执行能力未通过 ​

可能原因:

  • 候鸟浏览器版本与 MBAgent 不兼容
  • 系统权限不足

排查:

  1. 确认候鸟浏览器是最新版
  2. 用管理员权限启动 MBAgent
  3. 联系候鸟客服

五、切换候鸟控制实例 ​

如果您本地有多个候鸟浏览器实例(开发场景),可以切换:

第一步:查看所有候鸟实例 ​

  1. 进入 "设置 → 候鸟客户端 ControlV2"
  2. 点击 "候鸟实例" 选项
  3. 显示当前发现的候鸟实例列表:
候鸟实例 #1 (默认)
  - 端口: 8186
  - 版本: v3.0.0
  - 状态: 已连接
  
候鸟实例 #2 (开发)
  - 端口: 8286
  - 版本: v3.0.0
  - 状态: 未连接

第二步:切换 ​

  1. 选中目标候鸟实例
  2. 点击 "切换" 按钮
  3. MBAgent 会断开当前实例、连接新实例
  4. 注意:切换会停止当前所有候鸟操作

TIP

日常使用:99% 的用户只需要一个候鸟实例,不需要切换。


六、AI 操作候鸟浏览器的过程 ​

当 MBAgent 接收到"操作候鸟"的指令时,会自动执行以下流程:

[1] AI 解析任务
    "打开 223223 这个店铺,检查今日订单"
    ↓
[2] 调用 ControlV2 接口
    - control.browser.start({ environment_id: "223223" })
    ↓
[3] 候鸟浏览器启动环境
    - 创建 / 复用 223223 环境
    - 应用指纹 / 代理 / Cookie
    - 返回 browser_handle
    ↓
[4] MBAgent 通过 CDP 接管页面
    - attach({ handle })
    - 接收页面截图、DOM 结构
    ↓
[5] AI 分析页面 + 决策下一步
    "看到了订单页面,下一步提取数字"
    ↓
[6] 执行动作
    - click / type / extract
    ↓
[7] 完成任务,关闭环境(或保持打开)
    ↓
[8] 整理结果给用户
    "今日订单 23 单,金额 $1234.56"

关键概念 ​

  • handle(句柄):候鸟浏览器给 MBAgent 返回的"环境句柄",用来引用一个具体的环境
  • attach(附着):MBAgent 接管一个候鸟环境的页面
  • CDP:Chrome DevTools Protocol,候鸟浏览器底层用的协议

七、常见问题 ​

Q1:MBAgent 启动后显示"等待候鸟 CDP" ​

原因:候鸟浏览器没有启动,或者环境未启动。

解决:

  1. 确认候鸟浏览器已启动并登录
  2. 在候鸟浏览器里手动启动一个环境
  3. MBAgent 自动会接管

Q2:AI 操作候鸟环境总是失败 ​

可能原因:

  • ControlV2 异常(看官方服务检测)
  • 候鸟账号额度用完
  • 候鸟环境已损坏

排查:

  1. 在 设置 → 官方服务检测 看 ControlV2 是否正常
  2. 检查候鸟账号 AI 额度
  3. 在候鸟浏览器里手动测试该环境

Q3:接管候鸟页面后画面是黑的 ​

可能原因:

  • 候鸟浏览器刚启动,环境还没就绪
  • 候鸟账号需要二次验证

解决:

  1. 等待 5-10 秒再试
  2. 在候鸟浏览器里手动完成验证

Q4:能否让 MBAgent 控制远程的候鸟浏览器? ​

❌ 不可以。MBAgent 的候鸟客户端 ControlV2 连接在实现层硬性限定为 127.0.0.1(ControlClientError::NonLoopbackEndpoint),不接受任何非 loopback 的 IP 地址。即便把候鸟浏览器的 ControlV2 端口对外暴露(例如 0.0.0.0:8186),MBAgent 也会在握手阶段直接拒绝连接。

正确的远程候鸟控制方式:

  • 使用 Selenium / Puppeteer / Playwright 等脚本,通过候鸟浏览器内置的 ApiServer(http://127.0.0.1:8186)远程调用——详见上文"二、MBAgent 与候鸟的三种连接模式 → 2. ApiServer 控制端"
  • 这类场景下,MBAgent 不参与,仅作为普通的 HTTP 客户端调用候鸟 ApiServer 接口

NOTE

为什么限定 loopback:

  • ControlV2 协议本身没有强身份校验,TCP 端口暴露在公网等于"候鸟账号控制权交给任何人"
  • MBAgent 与候鸟浏览器假设运行在同一台机器、同一个账号上下文下,loopback 是最低风险的边界

Q5:MBAgent 不操作候鸟浏览器也能用吗? ​

✅ 完全可以。MBAgent 的核心功能(聊天、文档、代码、知识库)不依赖候鸟浏览器。只有当您明确要求操作候鸟账号环境时,才会建立 ControlV2 连接。


八、最佳实践 ​

启动顺序 ​

推荐启动顺序:

  1. 候鸟浏览器(先启动并登录)
  2. MBAgent(后启动,自动连接)

不要反过来。

长时间不用时 ​

如果您长时间不用候鸟浏览器操作:

  1. 关闭 MBAgent 里的"候鸟 RAG 知识库"和"候鸟客户端 ControlV2"侧栏入口
  2. 在任务里减少候鸟操作
  3. 节约候鸟账号的资源占用

多人协作 ​

如果团队多人共享一个候鸟账号:

  1. 每个人的 MBAgent 都能独立连接
  2. 但同时操作一个环境会冲突
  3. 建议错峰使用,或为每个人开独立候鸟子账号

下一步:权限管理与安全使用 → 放心地让 AI 干活。