WebChat 和所有公开任务入口都以 Message Service 为持久化事实源。ACP
继续服务于兼容的 Device Agent 实时 session、事件和工具,但它不是第二套任务数据库,
也不是 WebChat 的默认投递通道。
十分钟流程
- 安装并绑定 Device Agent、扫码绑定 BeeRunner,或创建 Redroid 实例。
- 在 设置 -> API Keys 创建
oag_用户 API Key。 - 找到 Android Instance 及其 Agent。
- 提交可靠任务并订阅事件。
- 不再需要结果时,通过任务 API 取消。
单写入规则
同一台手机同一时间只安全执行一个会改变设备状态的任务。BeeOS 在 WebChat、 OpenAPI、A2A、MCP 和原子控制之间共用设备级 lease:- 第二个写入请求立即返回
device_busy,不会被隐藏排队。 - OpenAPI 原子调用返回 HTTP
409和device_busy。 - A2A 投影为
rejected,reason 为device_busy。 - MCP 返回包含
device_busy的结构化工具错误。 - 截图、UI Tree、应用列表和被动实时画面可与当前写任务并存。
任务状态
input_required 和 auth_required 是可恢复暂停态。超时表示为
failed + reason=timeout。结果不确定表示为
failed + outcomeCertainty=uncertain,不能自动重放,因为动作可能已经到达手机。
协议适配器可以使用各自的标准 wire 状态。例如 A2A 使用 working、
completed 和 rejected,BeeOS 产品投影保持上述统一语义。
原子控制
Device Agent 和 Redroid 可通过GET /api/v1/instances/{id}/mobile
读取实时屏幕尺寸和能力。v1 安全面包括:
action_unsupported,应使用任务入口。