A↗AGENT SYSTEMSComputer Use 指南
讲解页 · 非控制台
打印
FROM TASK TO VERIFIED RESULT

Computer Use
从任务,到可核实的结果。

分清网页操作、桌面操作与文件传输。
以 report.pdf 上传为例,说明执行流程与验收条件。

适用范围

上传案例为参考规划;项目能力以 Negentropy-Bot · 62b90c3 为基线。源码、启用条件和验收要求分别标注。本页不连接桌面、不读写文件,也不执行上传。

THE COMPLETE PATH

六阶段流程

先看任务路径,再看角色分工。

角色分工

职责来自项目工具装配。

任务编排

主代理

明确目标,准备文件,选择工具和子代理,交付结果。

TaskRead / ShellSendMessage
该基线中,主代理不直接取得网页和桌面操作工具。[S01]
网页操作

browserUse

依据网页快照操作控件、表单与标签页。必要时使用网页截图和视口坐标。

browser_snapshotbrowser_*
18 项基础操作 + 独立执行状态查询。[S04]
桌面操作

computerUse

依据桌面观察操作窗口和键鼠,覆盖浏览器 DOM 之外的图形交互。

Computeraction: screenshot
Computer 也包含截图动作;独立 Screenshot 供主代理观察。[S01]
人工协作用户认证、审批与接管

认证或接管时暂停自动输入;人工结束后,核实账号、目标与控制权再恢复。[P00]

01 / 工具选择

优先使用专用工具

文件复制走文件工具,网页控件走网页工具;真正跨到桌面才使用 Computer。

02 / 观察边界

区分实时桌面与模型截图

noVNC 连续画面与模型单张图像是两条通道;都要独立验证权限与输入。

03 / 成功标准

以业务结果确认完成

工具结果、网站受理与最终可用状态分开判断;缺证据时保留 unknown。

工具分工 [S01] 网页动作 [S04] 桌面执行 [S03] 流程与成功标准 [P00]

内容标记参考规划源码确认文档状态工程要求理解证据等级 →
工具选择与操作范围场景、职责与工具目录
1

文件 / 程序 / 连接器

复制、生成、查询等任务有适用的获准接口时,直接使用。

CopyToBox · Shell · MCP
2

网页元素

有可用 DOM 与当前元素引用时,精确定位控件。

browser_click · browser_fill
3

网页视口坐标

网页内的自绘控件没有有效元素引用时,按当前截图定位。

browser_mouse_click_xy
4

完整桌面

需要原生窗口、浏览器外壳或跨应用交互时,使用桌面动作。

Computer

这是选择建议,不是遇错就逐级降级的重试链。获准接口不可用、请求被安全策略阻断或外部效果未知时,不改用低层工具绕过。[S14]

场景选择器

按场景选择工具

仅切换讲解
browserUse

网页上传文件

网页有明确的文件控件,优先结构化操作,不打开系统文件窗口。

CopyToBox → browser_snapshot → browser_upload → 业务回执核对

文件控件接受 ≠ 服务器受理;Bot 此工具要求 driver v3、/workspace 路径和 ≤16 MiB 非空文件。 [S04]

全部场景与选择条件 6 类
browserUse

网页上传文件

网页有明确的文件控件,优先结构化操作,不打开系统文件窗口。

文件控件接受 ≠ 服务器受理;Bot 此工具要求 driver v3、/workspace 路径和 ≤16 MiB 非空文件。 [S04]

browserUse

填表与复选框

按当前页面元素引用填写、选择和勾选,核对最终字段状态。

定位歧义先重新观察;不要把“强制点击”当作默认纠错。 [S04]

网页坐标

网页 Canvas 画布

网页语义不足时,先判断网页视口坐标是否足够,不立刻升级到整桌面。

这是场景选择建议;必须核对当前视口和截图,目标不明时暂停。 [S04]

computerUse

原生窗口或跨应用

操作位于浏览器 DOM 之外,且没有适用的获准 API / CLI 时,再使用完整桌面。

目标应用须已安装,桌面和权限须就绪;不是“支持任意操作系统应用”的承诺。 [S02]

人工或认证桥

MFA / 安全密钥

身份验证不是一般按钮点击;使用获准认证方式,必要时交给用户。

不能把密码放进聊天、绕过挑战页,或假定硬件密钥能被远程鼠标替代。 [S12]

文件 / Shell

文件复制与转换

复制、读取和转换本质上是文件或程序任务,不必绕经桌面。

每条路径标明机器身份;不得静默覆盖目标文件,也不暗示转换软件已经安装。 [S07]

网页与桌面操作的边界

源码确认 [S01]

维度browserUsecomputerUse
主要观察网页结构、元素 ref、页面截图完整桌面截图、窗口与视觉目标
定位空间元素身份,或网页视口坐标桌面 API 坐标,再映射到显示坐标
动作范围表单、标签页、网页拖拽、文件输入鼠标、键盘、拖拽、滚动与等待
文件上传有文件控件时优先 browser_upload仅在确需桌面交互且获准时操作相关界面
当前装配前提browserUse 角色 + 可用 Box + 桌面标志computerUse 角色 + 可用 Box + 桌面标志
不能独自证明网站最终成功、所有输入通道互斥视觉模型真正收到图像、任意应用兼容
网页上传通常无需系统文件窗口。

Playwright 可直接设置文件输入;动态文件控件先监听 filechooser,再触发并设置文件。Bot 提供自身 browser_upload 封装,不能把底层库所有功能都当作该工具已暴露的能力。[D01] [S04]

工具目录:网页 18 项 + 查询,桌面 8 类 按职责查阅

网页观察与定位

browser_snapshot browser_take_screenshot browser_get_bounding_box browser_highlight

网页输入与状态

browser_click browser_mouse_click_xy browser_type browser_fill browser_select_option browser_check browser_uncheck browser_upload

页面与复杂操作

browser_navigate browser_press_key browser_scroll browser_drag browser_tabs browser_cdp

独立状态查询

browser_session_status 查询执行和恢复状态,不产生页面动作。

browser_cdp 有明确的输入与浏览器级命令限制,不是绕过专用工具与审批的通道。[S04]

screenshotclickmovedragtypekeyscrollwait

桌面工具可表达左右中键、点击次数与拖拽路径。执行协议中的低层动作多于模型工具入口,不能把全部底层协议都列为模型可调用工具。[S02] [S03]

ONE STEP AT A TIME

步骤详解

先读动作与完成证据;技术细节按需展开。

PDF

上传 report.pdf 到项目 B

交付新文档 ID / 版本、正确链接及可核对证据。示例域名、ID、路径与回执不是实际运行数据。

参考规划
参考接口与项目实现

参考方案采用 /api/blobs、/api/turn、SSE、microvm-agent 与持久存储规划;Negentropy-Bot 使用桌面 / Host / Box 工具和生成协议。各步的“项目映射”单列 Bot 实现。[P00] [S08]

案例的业务标准,不因换了操作通道而改变。

自动上传先监听;显式提交只按网站流程触发。无论使用元素工具还是确需桌面交互,都要证明新文档属于本次动作、正确账号和正确项目。[P00] [S04]

27 / 27 个步骤

网页接收

接收文件与任务,建立可恢复身份。

01—06
01选择 report.pdf 并说明目标主流程

用户在智能助手的聊天页面选中本机 PDF,说明使用网站 A 的个人账号上传到项目 B 文档区。此时文件还在用户设备上。

用户设备聊天页面的附件组件

做什么

  1. 通过文件选择器取得 File 对象;选择文件本身还没有上传到网站。
  2. 把文件与当前任务关联,明确网站、账号和项目;目标不清楚时先澄清。
  3. 智能助手登录与网站 A 的登录态分别管理,不能用助手的 Cookie 登录网站 A。

完成证据

附件在当前消息中可见,目标和授权范围明确。

异常处理

取消选择不会产生外部效果;需要更换文件时重新选择,避免沿用错误附件。

接口与数据示意 参考实现

文件对象、文件名、MIME、大小;目标网站、项目和操作意图。

任务:使用我的网站 A 账号,将 report.pdf 上传到项目 B 的文档区,并返回文件链接。

附件:report.pdf
类型:application/pdf
位置:用户设备

[P00]

Negentropy-Bot 项目映射 文件入口

Bot 也可使用连接电脑中的已授权路径,不要求所有文件先进入网页聊天。 [S07]

01 / 27
02读取文件字节与计算摘要主流程

网页读取原始 PDF,计算 SHA-256。摘要用于校验传输内容,文件名用于展示。

浏览器 File 对象聊天页面的文件上传逻辑

做什么

  1. 在用户浏览器中读取文件字节;这一步不需要沙箱。
  2. 计算原文件的 SHA-256,而不是文件名的摘要。
  3. 摘要可证明字节一致,不能替代网站目标和账号授权。

完成证据

得到原文件字节、长度和摘要,之后的上传使用同一份字节。

异常处理

本机读取失败时停止提交并显示错误;不要提交只含文件名的空附件。

接口与数据示意 参考实现

ArrayBuffer / Uint8Array、SHA-256、文件元信息。

字节:<原始 PDF>
摘要:<原文件 SHA-256>
元信息:{"name":"report.pdf","mimeType":"application/pdf","size":123456}

[P00]

Negentropy-Bot 项目映射 完整性要求

摘要核验是此案例的文件完整性规划,不代表任意 CopyToBox 调用都自动完成全链路验收。 [S07]

02 / 27
03原始 PDF 上传到智能助手主流程

网页先向 助手的文件接口发送原始二进制;PDF 正文不会被当作任务文字发送。

用户的聊天页面助手的文件接口 /api/blobs

做什么

  1. 通过有认证的文件接口发送 PDF 原字节;对外部署使用 HTTPS。
  2. 后端按用户权限、大小限额和允许类型校验,并重新计算摘要;文件名和 MIME 不能代替内容检查。
  3. 保存成功后返回 blobId,再提交引用它的任务;不把原文件正文或 Base64 作为模型指令。

完成证据

文件接口确认保存成功,并返回可引用的 blobId。

异常处理

上传失败时任务附件不能视为已接收;使用原字节和原摘要重试文件传输。

工程要求

按数据风险配置恶意内容检查、配额与拒绝策略;仅为原文档传输时不擅自重写文件。

接口与数据示意 参考实现

请求体为 PDF 原始字节,摘要放在查询参数。

POST /api/blobs?sha=<SHA-256>
Content-Type: application/octet-stream

<report.pdf 原始字节>

响应示意:{"blobId":"blob-demo","size":123456}

[P00]

Negentropy-Bot 项目映射 接入层差异

/api/blobs 属于网页参考接入;不是 Bot 的通用文件上传协议。Bot 可通过 CopyToBox 拉取字节。 [S07]

03 / 27
04持久保存附件并返回引用主流程

智能助手保存原字节,返回受访问控制的文件引用。文件数据与后续任务记录分别持久化。

助手的文件接收接口持久文件存储 / 网页

做什么

  1. 本地部署使用数据目录中的文件存储;对象存储部署可以用 S3。
  2. 任务与文件元数据采用持久存储,沙箱文件副本稍后创建。
  3. 文件引用不是公开下载授权,读取时仍检查当前访问权限。

完成证据

文件能通过受控引用读取,重启不会只剩一个内存对象。

异常处理

保存未确认时不启动网站上传;任务失败后按存储策略处理未引用文件。

接口与数据示意 参考实现

持久字节、blobId、长度、摘要和用户关联信息。

用户设备的原字节 → 助手的持久文件存储

网页保留:
{"name":"report.pdf","mimeType":"application/pdf","size":123456,"blobId":"blob-demo"}

[P00]

Negentropy-Bot 项目映射 存储层差异

本例的 Postgres / 文件存储是参考选型,不将其当作 Bot 当前数据库部署证明。 [S08]

04 / 27
05提交带附件引用的任务主流程

网页发送任务 JSON。模型与核心收到任务描述和附件引用,原文件在文件存储中。

助手的聊天页面助手后台的任务入口

做什么

  1. 把用户身份、会话和文件访问权与任务绑定。
  2. 提交稳定的 clientTurnId,避免网络重试被理解为新消息。
  3. 核心决定任务的执行环境;网站登录和上传仍属于后续扩展流程。

完成证据

核心返回可跟踪的 Run;同一次提交与同一任务保持关联。

异常处理

响应丢失时查询原任务或用同一 clientTurnId 重试准入,不能盲目创建第二次上传任务。

接口与数据示意 参考实现

任务文字、会话、clientTurnId、模型选择和 attachments 元数据。

POST /api/turn
Content-Type: application/json

{"text":"上传 report.pdf 到网站 A 的项目 B 文档区","clientTurnId":"turn-demo","attachments":[{"name":"report.pdf","mimeType":"application/pdf","size":123456,"blobId":"blob-demo"}]}

[P00]

Negentropy-Bot 项目映射 任务委派

在 Bot 中主代理负责组织任务,可委派 browserUse 或 computerUse 子代理。 [S01]

05 / 27
06持久任务与 SSE 文字进度主流程

先保存 Run,再向网页推送进度。SSE 是这里选用的展示通道,断开连接不等于取消后台任务。

助手后台的任务记录 / 事件接口助手的聊天页面

做什么

  1. 把任务排队与状态写入 Postgres,而不是只保留在某个进程内存。
  2. 可使用 EventSource 接收 SSE;重连先查持久状态,必要时回退 HTTP 轮询。
  3. 根据 runId 读取实际终态;仅失去连接时显示连接状态,避免声称网站上传失败。

完成证据

网页显示可追踪进度,任务状态能在重连后恢复。

异常处理

SSE 失败时回退轮询;查询任务事实后再决定是否继续,不能靠页面计时器判定业务失败。

接口与数据示意 参考实现

Run 状态、文字活动、partial 回复和终态;不承载本方案的连续桌面画面。

GET /api/runs/run-demo/events

event: partial
data: {"partial":"正在准备 report.pdf 的执行环境…"}

网页重连后读取同一 Run 的持久状态。

[P00]

Negentropy-Bot 项目映射 进度与交付

SSE 属于网页参考接入;Bot 的消息交付与转录链路需按桌面/Host 架构理解。 [S08]

06 / 27

准备沙箱

核对文件、环境与浏览器运行配置。

07—10
07启动或复用隔离执行环境主流程

先绑定用户与任务,再准备执行环境。本例采用 Linux Docker 容器;完整虚拟机需使用独立的生命周期与来宾接入适配。

助手后台的沙箱管理模块Docker Engine / 用户容器

做什么

  1. 绑定 userId、runId 与执行环境 ID,核验镜像、网络、目录和执行服务身份。
  2. 容器示例由宿主调用 Docker 管理用户卷和隔离网络;不要把宿主 Docker socket 暴露给网页任务。
  3. 虚拟机方案先等待来宾系统、执行服务和浏览器依赖就绪;生命周期和文件通道见「实施与验收」。

完成证据

正确作用域的容器和 agent 就绪,镜像具备本次需要的能力。

异常处理

镜像缺少浏览器时明确报告能力不足;不能因为 agent 健康就宣称 GUI 能力已具备。

接口与数据示意 参考实现

镜像、容器标识、网络、回环映射和用户卷配置。

智能助手 → Docker CLI → unix:///var/run/docker.sock

容器:用户隔离的沙箱
服务:microvm-agent :8080
宿主入口:127.0.0.1:<映射端口>
持久卷:用户工作目录

[P00]

Negentropy-Bot 项目映射 环境选择

Bot 使用自身 Box 连接与生命周期;独立镜像默认单主桌面,而非完整来宾操作系统。 [S09]

07 / 27
08将 PDF 写入沙箱任务目录主流程

核心读取已保存的 blob,经 agent 的 /write 传入沙箱。Base64 解码后仍是同一份 PDF。

助手后台的文件准备模块microvm-agent / 沙箱文件系统

做什么

  1. 从授权的 blob 读取原字节,为本次任务建立独立 inbox。
  2. 使用安全、唯一的文件名,不能直接执行用户文件名。
  3. POST /write 发送 path 与 b64,agent 解码并落盘。

完成证据

任务路径中有完整 PDF,实际文件路径可被后续浏览器进程读取。

异常处理

写入失败时只重试未完成的文件准备;不要直接跳到网站提交。

工程要求

使用任务独立目录、受控路径与非特权账户。大文件应设置大小和内存预算,必要时采用流式或分块传输;Base64 不是加密。

接口与数据示意 参考实现

受控任务路径、PDF 的 Base64;解码后的原始字节。

POST /write
Content-Type: application/json

{"path":"/root/workspace/.agent-turn/demo/inbox/report.pdf","b64":"<PDF 的 Base64>"}

沙箱得到:report.pdf 原始二进制文件

[P00]

Negentropy-Bot 项目映射 文件入箱

Bot 可调用 CopyToBox;Box 执行服务不是此示例的 microvm-agent /write。 [S07]

08 / 27
09核对沙箱副本与登记文件引用主流程

本方案要求登记附件产物,并验证沙箱副本的长度和 SHA-256,防止上传错文件。

沙箱文件系统 / 智能助手文件产物记录 / 后续工具

做什么

  1. 将原 blobId、摘要和执行环境内的路径绑定为同一产物;路径由后端生成。
  2. 先写临时文件,再校验长度与 SHA-256,完成后原子发布到本任务 inbox。
  3. 校验后保持文件不可被其他任务改写,并限制浏览器读取范围;模型只获取授权引用及必要元信息。

完成证据

附件产物登记完成;副本核对证明路径对应原文件。

异常处理

摘要不匹配时停止任务并重新物化原文件,不继续上传或忽略校验。

工程要求

单次摘要比对只能证明校验时的字节;上传前仍须确认引用有效,防止校验后被替换。

接口与数据示意 参考实现

原文件引用、沙箱路径、长度、摘要;文件元数据入持久存储。

原文件:blob-demo
沙箱副本:/root/workspace/.agent-turn/demo/inbox/report.pdf

长度一致:true
SHA-256 一致:true
产物引用:artifact-demo

[P00]

Negentropy-Bot 项目映射 上传产物

browser_upload 会暂存文件并建立摘要、字节数等产物引用;不能只凭同名路径判断身份。 [S04]

09 / 27
10在启动时选定浏览器运行模式主流程

自动处理可用无头 Chromium;预期需要人工接管时,从开始就在 Xvfb 或来宾桌面启动有窗口的 Chromium。两种模式都可由 Playwright 控制。

助手工具 / microvm-agent必须进程:Playwright、Chromium

做什么

  1. 将运行模式写入任务配置:automation(无头)或 takeover-ready(有窗口,可接管)。
  2. Playwright 与 Chromium 在同一隔离环境运行,使用可共同读取的任务路径;跨环境部署需另做文件传输适配。
  3. 通过受控启动器管理长进程与退出结果。/exec 的完成后输出并不等同于实时流式进度。

完成证据

模式、执行环境和浏览器会话已登记;需要接管的任务已有可展示的桌面。

异常处理

真实无头模式需要转为有窗口时,暂停并按策略重建,再核实会话。若外部动作可能已发送,先核对结果,不迁移后重放上传。

接口与数据示意 参考实现

受控命令或专用工具参数;结构化执行结果,不包含登录密钥。

运行模式示意(不是部署命令):

automation
  Playwright + headless Chromium

takeover-ready
  Playwright + headed Chromium
  Linux:Xvfb + VNC + websockify + 授权代理
  完整 VM:使用已验收的来宾桌面接入方式

两种模式均需绑定 userId / runId / environmentId。

[P00]

Negentropy-Bot 项目映射 启用条件

技术上可用无头浏览器;但该 Bot 基线的 browser_* 与 Computer 装配都要求 Box 的桌面能力。 [S01]

10 / 27

浏览器与信息

读取页面;按需启用模型截图和人工画面。

11—15
11连接同一个受管 Chromium主流程

本例通过 CDP 连接受管 Chromium。自动与人工接管必须对应同一个已登记的浏览器、上下文和页面;CDP 不是唯一的浏览器控制方式。

沙箱 Playwright同一 Chromium 实例

做什么

  1. 核验 browserId、context 与 page 对应本任务;不要仅凭 browser.contexts()[0] 推断用户或账号身份。
  2. 使用本地受控 CDP 端点。若不需要连接外部启动的浏览器,也可采用 Playwright 原生启动 / 连接方式。
  3. CDP 连接仅支持 Chromium 系浏览器,能力保真度低于 Playwright 协议;版本与启动参数需验收。

完成证据

自动操作对应正确的受管 browser / context;若启用 GUI,人工画面也对应这个实例。

异常处理

连接失败重新检查进程和端点;不创建匿名浏览器替代已登录实例。

接口与数据示意 参考实现

CDP JSON 命令;浏览器进程和上下文标识。

// 示意:此函数只负责连接,不负责授权。
const browser = await chromium.connectOverCDP(cdpEndpoint);
const contexts = browser.contexts();

// 后端还须按登记信息核对目标 context / page。
// 不将 contexts[0] 本身当作账号或任务身份证据。

[P00] [D01] [D02]

Negentropy-Bot 项目映射 受管实例

Bot 浏览器工具绑定 Box、窗口与 view,不把新建空 context 当作恢复原会话。 [S04]

11 / 27
12浏览器加载网站 A主流程

Playwright 发出导航命令;真正向网站请求 HTML、脚本、样式和业务 API 的是沙箱浏览器。

Playwright沙箱浏览器 → 网站 A

做什么

  1. 导航到明确的网站域名并验证最终 URL,防止跳转到错误站点。
  2. 浏览器执行页面脚本并按实际网页请求依赖,不用纯文本抓取替代交互状态。
  3. 网页内容属于外部数据,不能把其指令当成用户授权。

完成证据

正确站点加载完成,登录态和目标入口可被检查。

异常处理

TLS、DNS、反爬或页面错误分别记录;遇到挑战页转为可解释的人工接管。

接口与数据示意 参考实现

导航指令走 CDP JSON;网页与 API 响应走网站 HTTPS。

Playwright → 浏览器:导航到 https://site-a.example/
浏览器 → 网站:HTTPS GET /
网站 → 浏览器:HTML、JS、CSS、图片和 API 数据

网站域名为示意,占位地址不发起真实请求。

[P00] [D01] [D02]

Negentropy-Bot 项目映射 网页导航

由 browserUse 使用 browser_navigate;实际业务请求由 Box 中浏览器发出。 [S04]

12 / 27
13读取 DOM 文字和控件信息主流程

浏览器工具提取最小必要的页面文字、角色和标签。模型据此提出下一步工具调用,后台核验权限后执行,再把实际结果反馈给模型。

ChromiumPlaywright → agent → 智能助手 → 模型

做什么

  1. 提取最小必要的 DOM / 可访问性信息;排除密码、隐藏令牌、Cookie 和超出任务所需的内容。
  2. Playwright 通过 CDP 获取信息,沙箱程序输出结构化 JSON;agent 的执行响应包装这份文字。
  3. 智能助手将结果交给模型,模型返回下一步工具参数;文字工具链可复用;网页专用工具需按所选后端实现。

完成证据

目标控件具有明确名称、数量和可操作状态,模型不必只靠屏幕坐标猜测。

异常处理

元素不唯一或信息不足时继续读取 DOM、缩小范围;必要时用单张截图辅助。

工程要求

DOM、截图和网页文案均是不可信输入。模型提出的动作不是授权;敏感区域同时限制截图、日志、追踪记录和向模型的外发。

接口与数据示意 参考实现

DOM / 可访问性信息、控件定位信息、工具文字结果。

{"url":"https://site-a.example/projects/B","title":"项目 B","elements":[{"role":"button","name":"上传文件","count":1},{"role":"heading","name":"文档"}]}

链路:CDP JSON → 程序输出 → HTTP JSON → 模型工具文字

[P00]

Negentropy-Bot 项目映射 结构化观察

browser_snapshot 返回与当前快照关联的元素引用;页面变化后需要新观察。 [S04]

13 / 27
14按需获取模型可见的单张截图按需辅助

可选视觉辅助:DOM 信息不足时,把 PNG / JPEG 截图交给支持视觉的模型。无头 Chromium 也能截图,这一步不要求 Xvfb 或 VNC。

仅在 DOM 信息不足或需要视觉核实时使用

Chromium / Playwright助手后台的图像处理模块 → 视觉模型

做什么

  1. 按需从浏览器截取所需区域并遮蔽敏感输入;无 GUI 桌面时也可执行浏览器截图。
  2. 截图落盘后复用本方案的 agent 文件读取与持久文件通道,保存可审计的图像引用。
  3. MCP 支持 image 内容块;项目适配器必须保留图像类型并传给支持视觉的模型,不能只返回 Base64 文字。

完成证据

有视觉能力的模型实际收到图像,而不是一长段 Base64 文本。

异常处理

模型无视觉能力时继续 DOM 路径或请求人工协助;不能假装已看见画面。

接口与数据示意 参考实现

单张 PNG / JPEG、截图尺寸和文件引用;模型收到图像内容块。

PNG 截图 → /read 返回 b64 → 智能助手解码保存

模型输入示意:
{"type":"image","mimeType":"image/png","data":"<PNG 的 Base64>"}

供应商最终格式由模型适配器转换。

[P00]

Negentropy-Bot 项目映射 图像路径

网页截图与桌面截图不同;X11 执行器生成 WebP。所选 Provider 是否收到图像需实测。 [S03]

14 / 27
15用户观看实时桌面按需辅助

仅在已准备好的有窗口模式中,VNC 从 X 显示读取画面,再经 websockify 和授权代理传到网页 noVNC。截图、桌面和聊天进度彼此独立。

实时观看与人工接管为可选扩展

XvfbVNC → websockify → 桌面代理 → 聊天页面的 noVNC 视窗

做什么

  1. 使用步骤 10 已启动的同一浏览器窗口。Xvfb 与 VNC 之间是 X 显示访问 / 画面采集,不是 RFB/TCP。
  2. VNC 对客户端提供 RFB;websockify 在 TCP 和 WebSocket 之间双向桥接。
  3. 对外连接使用 HTTPS/WSS,并在服务端校验用户、环境与查看权限;输入权单独授予和撤销。

完成证据

用户能看到同一受管浏览器的连续桌面,查看与控制权限在服务端执行。

异常处理

观看断开不等于任务失败;重新鉴权后连接同一沙箱。若控制会话失效,服务端撤销输入权。

接口与数据示意 参考实现

RFB 帧缓冲区域更新;经 WebSocket 传递二进制远程桌面消息。

画面方向:
Chromium → Xvfb
  → X 显示访问 / 画面采集 → VNC
  → RFB / TCP → websockify
  → 授权代理 → RFB / WSS → noVNC

模型截图另走图像工具;桌面不向模型逐帧发送。

[P00]

Negentropy-Bot 项目映射 人工画面

noVNC 供用户查看/接管;Agent 的 Computer 动作直接走执行资源与 X11,不必穿过查看器。 [S03]

15 / 27

登录与接管

核对账号与权限,再交还自动执行。

16—18
16检查网站登录态和当前账号主流程

先检查当前浏览器是否已登录,以及登录的是否为用户指定账号。智能助手的登录与网站 A 的登录是两套独立会话。

Playwright / 网站浏览器助手后台的任务权限检查

做什么

  1. 读取页面账号标识或站点提供的会话状态,避免把某个登录按钮消失当成充分证明。
  2. 个人浏览器资料目录按用户和站点隔离;持久资料包含敏感登录态,需要受限访问。
  3. 已有正确账号会话时跳过输入;账号不一致时暂停,让用户选择或重新登录。

完成证据

确认网站会话属于授权账号,且该账号有项目 B 的访问权限。

异常处理

账号错误、会话过期或权限不足时不继续上传;转入登录 / 授权流程。

接口与数据示意 参考实现

登录状态、当前账号可见标识、项目访问情况;不返回原始 Cookie。

{"signedIn":true,"accountMatches":true,"projectAccessible":true}

智能助手的会话 Cookie ≠ 网站 A Cookie
用户自己电脑里的网站 Cookie ≠ 沙箱浏览器里的 Cookie

[P00]

Negentropy-Bot 项目映射 账号范围

模型 Provider 登录与业务网站登录不同;本页不要求复制 Cookie 或读取认证文件。 [S08]

16 / 27
17按需完成登录或 MFA条件执行

无有效登录态时,通过获准认证通道或已准备的桌面完成登录 / MFA。认证是条件步骤;凭据不得进入普通聊天或模型上下文。

没有正确且有效的登录态时执行;已有会话仍须核对账号和项目

受控认证通道;可选人工键鼠同一沙箱 Chromium → 网站 A

做什么

  1. 能复用正确且有效的会话则跳过输入;凭据只由受控认证通道交给浏览器,不写入普通日志、命令参数或模型内容。
  2. 需要人工交互时暂停自动输入,授予限时控制权;桌面须已在启动阶段准备好。
  3. 涉及实体安全密钥、扫码或设备绑定时,需验证所选远程方式确实可用;无获准途径则保持暂停,不绕过认证。

完成证据

同一浏览器获得正确账号的有效网站会话;认证完成能被网站状态确认。

异常处理

MFA 未完成时保持暂停。控制权过期或网络断开时撤销输入权,重新核实会话后恢复。

工程要求

人工认证期间禁用或脱敏截图、DOM 回传、视频、网络追踪和诊断输出;“密码不交给模型”不能只依赖密码框遮罩。

接口与数据示意 参考实现

必须的会话与认证信息;可选 RFB 键鼠输入。最终登录请求由浏览器通过网站 HTTPS 发出。

无 GUI 路径:已有获准会话,或受控认证通道 → Chromium → 网站 HTTPS
可选 GUI 路径:noVNC 键鼠 → RFB / WebSocket → VNC / Xvfb → 同一 Chromium

有效会话必须确认;人工接管方式按需开启。

[P00]

Negentropy-Bot 项目映射 认证边界

有 WebAuthn 桥接源码;browser_fill 的 secret-slot 执行则明确未安装 resolver,不能宣称通用自动填密已完成。 [S04]

17 / 27
18核实认证并恢复自动执行主流程

必须重新核实账号、项目和任务授权。若使用过可选人工接管,等待用户释放控制后再恢复自动输入。

网站状态;可选人工控制会话助手后台的权限检查与操作调度

做什么

  1. 用实际页面或网站业务状态核实登录结果,不依赖用户点击完成这一动作。
  2. 若曾开启人工接管,先关闭控制许可并等待已接受输入排空;无 GUI 路径由受管自动队列继续。
  3. 对后续上传重新检查任务授权、账号、项目和操作作用域,用户撤权后不继续。

完成证据

控制权明确,自动与人工不会同时输入;上传前的权限仍有效。

异常处理

不能确认输入停止或授权失效时继续暂停;不要依靠前端按钮状态推断控制权。

工程要求

所有会改变网页状态的自动调用与人工输入共用同一控制许可检查。先停止接收旧许可输入,再排空在途动作,核实页面后恢复。

接口与数据示意 参考实现

认证证据、控制会话状态、当前操作许可。

无 GUI:完成认证 → 核实账号 / 项目 / 授权 → 自动执行
可选接管:完成认证 → 释放人工控制 → 核实并恢复自动执行

[P00]

Negentropy-Bot 项目映射 互斥要求

统一仲裁 browserUse、computerUse 与人工输入是工程验收要求;浏览器单写者或 X11 内部串行并不单独证明跨通道互斥。 [S03]

18 / 27

选择与上传

先记录和观察,再触发并核实新文档。

19—24
19精确定位项目 B 文档区主流程

按 URL、项目标识和页面语义确认目标。优先用 role、label 和稳定的定位条件,而不是屏幕坐标。

Playwright网站 A 项目 B 页面

做什么

  1. 验证最终网站域名、项目标识和目标文档区,不能只看一个名为 B 的标签。
  2. 定位上传控件并确认数量为一;点击遵守可操作性检查。
  3. 复杂控件才结合截图定位;坐标动作需要当前截图、分辨率和控制租约一致。

完成证据

目标唯一且账号具有上传权限,后续文件不会落入同名的其他项目。

异常处理

目标含糊时继续读取或请用户明确项目;元素歧义不能直接切换成盲点坐标。

接口与数据示意 参考实现

URL、项目 ID、文档区域、按钮角色与唯一性。

页面证据:
域名:site-a.example
项目标识:B
区域:文档
上传控件:role=button, name=上传文件, count=1

[P00] [D01] [D02]

Negentropy-Bot 项目映射 定位方式

优先 browser_snapshot + ref;网页视口坐标与 Computer 桌面坐标不能互换。 [S04]

19 / 27
20登记动作,并在触发前建立监听主流程

在任何可能触发上传的动作前持久记录意图,并建立结果监听。某些网站选择文件就会立即上传。

助手后台的操作调度 / Playwright持久操作记录 / 网站响应监听

做什么

  1. 记录动作身份、文件摘要、账号、项目、目标目录、旧文档 ID / 版本与当前授权。
  2. 在 setInputFiles 或提交前建立网站特定的观察条件;通过持久状态与互斥领取,确保只有一个执行者触发。
  3. 发出动作前进入 dispatching;若进程在发送附近崩溃,恢复先核对外部结果。网站支持幂等键时保存其作用域、请求指纹和有效期。

完成证据

上传动作有可恢复身份,监听能覆盖选择文件就自动上传的情况。

异常处理

准备失败时可以重做尚未触发的准备;一旦动作可能已发送,进入结果核对,不重新发送。

工程要求

本地 clientTurnId / actionId 只能关联与约束本系统;不能独自保证网站端恰好产生一次效果。

接口与数据示意 参考实现

动作 ID、原文件摘要、账号、项目、目录、已知文档 ID 与观察条件。

动作记录示意:
{
  "actionId": "upload-demo",
  "runId": "run-demo",
  "fileSha": "<SHA-256>",
  "account": "<已确认账号>",
  "projectId": "B",
  "previousDocumentIds": ["old-demo"],
  "state": "prepared"
}

持久准备 → 建立监听 → 领取执行权
→ 记录 dispatching → 触发上传

上述状态与互斥为工程要求,不表示已有实现。

[P00]

Negentropy-Bot 项目映射 效果登记

Bot 有规范化摘要、审查及浏览器回执接线;本例完整业务幂等与重启恢复仍需按网站验收。 [S04]

20 / 27
21用 Playwright 设置文件输入主流程

直接把沙箱绝对路径交给 setInputFiles;动态文件选择器使用 setFiles。通常无需操作系统文件对话框。

Playwright / 沙箱文件Chromium 的文件输入控件

做什么

  1. 确认路径与步骤 9 的原文件核对结果一致,浏览器进程有读取权限。
  2. 普通 input[type=file] 用 setInputFiles;动态选择器先监听 filechooser,再点击,然后 setFiles。
  3. 选择操作可能触发自动上传,所以步骤 20 的监听必须先存在。只有原生桌面应用或不可控制的特殊流程才考虑 GUI 文件对话框。

完成证据

网站文件输入取得正确文件,或已触发可观察的自动上传。

异常处理

选择失败先检查路径、权限和控件;超时可能已触发上传,不能再点屏幕重复提交。

工程要求

本例中 Playwright 与浏览器共享隔离环境的文件系统。若 Playwright 移到宿主,必须验证远程传输语义;不能直接把宿主或用户设备路径当作来宾路径。

接口与数据示意 参考实现

沙箱文件路径和浏览器文件输入;实际文件字节在沙箱本地。

async function chooseFile(page, filePath, mode) {
  if (mode === "input") {
    await page.getByLabel("上传文件").setInputFiles(filePath);
    return;
  }
  const chooserPromise = page.waitForEvent("filechooser");
  await page.getByRole("button", { name: "选择文件", exact: true }).click();
  const chooser = await chooserPromise;
  await chooser.setFiles(filePath);
}

page:已认证的受管页面
filePath:步骤 9 已核对的沙箱绝对路径

[P00] [D01] [D02]

Negentropy-Bot 项目映射 工具准入

browser_upload 需要 driver v3、/workspace 下的绝对路径;非空文件上限 16 MiB。 [S04]

21 / 27
22核对选中文件并按网站提交条件执行

读取控件和页面反馈,确认选中了 report.pdf。需要手动提交的网站才点击上传,自动上传的网站直接等待既有动作。

仅当网站需要显式提交时点击;文件选择已触发上传则直接等待同一动作。

Playwright网站上传控件

做什么

  1. 核对所选文件的名称、大小及网站接受状态;这只是本地选择证据,还不是业务成功。
  2. 若网站已自动上传,不再补点一次上传。需提交时再次确认账号、项目和授权。
  3. 依赖 locator 的可操作性检查并使用有限期限;超时后先核对外部效果。

完成证据

已按网站策略触发一次受控尝试,后续进入业务核对;这还不是成功回执。

异常处理

文件类型或大小被网站拒绝时明确失败;若提交结果不明,持久保存 unknown 并查询。

接口与数据示意 参考实现

FileList 元信息、页面上传状态、明确的提交操作。

输入证据:name=report.pdf, size=123456

网站策略:
自动上传 → 等待已有上传回执
显式提交 → 唯一按钮可操作后点击一次

不得因为等待超时自动切换成第二次 GUI 点击。

[P00] [D01] [D02]

Negentropy-Bot 项目映射 结果范围

browser_upload 只报告控件接受情况,服务器受理与文档可用性必须另行核对。 [S04]

22 / 27
23浏览器向网站传输 PDF主流程

真正的文件传输发生在沙箱 Chromium 与网站之间。上传格式由网站决定,可能是表单、原始二进制或分块。

沙箱 Chromium网站 A / 网站指定的上传服务

做什么

  1. 浏览器读取已选择的沙箱文件,发送网站脚本规定的 HTTPS 请求。
  2. 网站自己的 Cookie / 会话由浏览器管理,不能从智能助手的 Cookie 推导。
  3. CDP 是浏览器控制通道,RFB 是桌面通道;PDF 的业务上传走网站 HTTPS。

完成证据

网站收到文件,返回可以继续核实的业务回执或状态。

异常处理

传输断开或响应丢失时不能认定未受理;先查询文档和操作记录,再决定是否重试。

工程要求

预签名 URL、对象存储直传和分块 finalize 的目标需显式允许。必须核对真实接收方;URL、令牌和会话信息不能进入普通日志。

接口与数据示意 参考实现

PDF 字节、网站会话、CSRF 或站点要求的上传参数。

POST https://site-a.example/<真实上传端点>
Cookie: <浏览器管理的网站会话>
Content-Type: multipart/form-data; boundary=<示意>

文件字段:report.pdf 原始字节
项目参数:<网站实际要求>

也可能由网站采用直传对象存储或分块上传。

[P00]

Negentropy-Bot 项目映射 业务通道

网站上传走浏览器与目标服务的业务连接;不把 CDP、RPC 或 RFB 称为 PDF 的业务上传协议。 [D01]

23 / 27
24验证新文档与网站业务回执主流程

用新文档 ID、版本、项目和账号核实本次结果。HTTP 200、100% 进度或同名旧文件都不足以单独证明成功。

网站业务回执 / 文档列表Playwright → 智能助手

做什么

  1. 先区分:已受理但处理中、已可用、明确拒绝、无法确认;浏览器发送完成不等于业务处理完成。
  2. 关联新文档 ID / 版本、账号、项目与文件信息;对照步骤 20 的旧记录,排除同名旧文件。
  3. 若网站提供可对比的摘要则验证;不提供时只记录已获得的回执证据,不声称已证明远端字节完全一致。

完成证据

网站确认对应本次操作的新文档已可用,并取得正确的目标链接。

异常处理

明确拒绝则记录理由;已受理则继续查询;无法确认则保持 unknown。仅列表没有文件不能证明未受理,也不能因此再次选择文件。

工程要求

处理中状态保留 uploadId / jobId 并按有界频率查询。未知状态先查询;只有网站对同一请求提供经验证的幂等保证,或证明确未受理,才按有效授权有限重试。

接口与数据示意 参考实现

新文档 ID / 版本、文件信息、目标目录、文件链接与证据来源。

{"documentId":"doc-new-demo","projectId":"B","fileName":"report.pdf","status":"ready","url":"https://site-a.example/projects/B/documents/doc-new-demo","evidence":"本次回执与文档详情一致"}

[P00]

Negentropy-Bot 项目映射 两种回执

browser_session_status 查询执行/恢复状态;网站文档 ID 与 ready 状态是另一层业务证据。 [S04]

24 / 27

核实与交接

保存回执、交付结果、清理本次资源。

25—27
25持久保存回执与证据主流程

保存业务回执、文档链接和证据引用;任务状态与外部动作状态分别管理。unknown 不是成功,也不能被任务结束或服务重启抹掉。

助手工具的执行结果Postgres / 持久文件存储

做什么

  1. 保存成功、明确失败或 unknown,而不是仅在某个进程 Map 中记录。
  2. 若已取得可选证明截图,按单张文件保存;不保存明文 Cookie、密码或完整敏感登录画面。
  3. 响应丢失后依持久动作身份查询,不能把 core 重启理解为网站动作未发生。

完成证据

可在重连或服务重启后读回同一份业务结果及证据。

异常处理

网站成功而本地保存失败时先恢复回执,不再上传;保存 unknown 后等待核对或人工确认。

工程要求

增加到期核对与人工升级策略;没有结果证据时允许结束本轮交互,但保留动作待核记录及责任人。

接口与数据示意 参考实现

必须的动作状态、账号与项目、文档 ID / 版本和 URL;可选截图字节与受控引用。

Postgres:actionId、runId、结果状态、文档 ID、URL、证据引用
文件存储:证明截图原字节

unknown:保留操作意图与已知外部证据;等待核对

[P00]

Negentropy-Bot 项目映射 验收状态

状态文档仍将 Browser Flow 生产闭环列为未完成;底层回执代码不等于业务恢复已全面验收。 [S13]

25 / 27
26返回链接与文字结果主流程

必须返回文字结果与正确链接。按需附加单张证明图;若启用可选实时桌面,画面继续走独立 RFB/WebSocket。

助手的进度与文件接口用户聊天页;可选 noVNC 视窗

做什么

  1. 根据真实回执说已完成,明确上传的项目、文件和文档链接。
  2. 文字用 SSE;证明图片通过受访问控制的文件 HTTP 接口获取,不必把大图嵌在文字事件里。
  3. 用户电脑与沙箱浏览器的登录态独立;打开网站链接时,用户设备仍可能需要自己登录网站 A。

完成证据

用户看到可核实的结果、正确链接与必要的证明,任务终态可读取。

异常处理

网页失去连接时重新读取 Run 和证据,不重新上传;链接无访问权时提示网站自己的权限要求。

接口与数据示意 参考实现

累积回复、文件链接、截图引用;按需读取 PNG / JPEG;另有实时画面。

SSE 文字:
event: partial
data: {"partial":"已将 report.pdf 上传到项目 B 文档区。链接:https://site-a.example/projects/B/documents/doc-new-demo"}

证明图:HTTP GET <受控截图文件引用>
实时桌面:独立 RFB / WebSocket 连接

[P00]

Negentropy-Bot 项目映射 交付分支

可返回网站链接;Box 本地产物用 SendMessage 显示为附件,或用 CopyFromBox 放到用户磁盘。 [S07]

26 / 27
27释放控制与按策略保留环境主流程

结束本次输入许可和监听连接,清理临时进程。浏览器资料与用户卷按既定策略保留,停止容器不等于销毁数据。

助手后台的运行环境管理浏览器、代理连接与 Docker

做什么

  1. 撤销本次输入控制权,关闭截图监听与任务临时资源;只处理本次作用域。
  2. 受管浏览器采用明确的保留或关闭策略,区分断开 CDP 连接与结束浏览器进程。
  3. 需要保留登录态时保护用户资料目录;正常停止不能调用会删除用户卷的销毁操作。

完成证据

没有遗留输入权和无主任务资源,业务证据与受保护登录态符合保留策略。

异常处理

清理失败记录诊断并交由生命周期管理重试;不能误删另一个任务或用户的数据。

工程要求

用户取消仅停止后续输入,不能自动撤销已发送上传。虚拟机回滚快照也不回滚网站文档;删除或覆盖远端文件属于新的受权操作。

接口与数据示意 参考实现

控制权释放、连接关闭、进程退出结果和环境保留策略。

结束:本次控制权、任务监听、临时资源
按策略保留:用户资料、原文件证据、任务回执

stop / keepWarm:按生命周期保留
destroy:可能删除卷,不用于普通任务收尾

[P00]

Negentropy-Bot 项目映射 保留策略

Bot 的账户槽、容器和数据卷有独立生命周期;普通收尾不得据此推断可删除用户数据。 [S08]

27 / 27

以在 Box 中打开 report.pdf 为例。七步为工程设计,Computer 与 X11 执行链有源码依据;示意不操作真实文件。[S02] [S03]

工程要求
01确认目标与权限工程流程

固定任务目标、允许的操作、文件与执行环境。目标不清楚或授权不足时,先停在准备阶段。

完成依据

任务目标、环境身份、授权范围

执行边界

没有用户目标,就没有可推导的输入许可。

02观察当前桌面工程流程

取得当前显示的截图,确认目标窗口、焦点、遮挡和坐标空间。视觉链路不可用时不猜测画面。

完成依据

观察 ID、截图、尺寸、显示身份

执行边界

用户的 noVNC 画面并不自动进入模型。

03定位并提出动作工程流程

把意图收窄为一项明确动作,描述目标与目的;坐标必须来自同一份有效观察。

完成依据

目标描述、参数、前置观察

执行边界

不能把网页视口坐标直接当作整个桌面坐标。

04审查并取得输入权工程流程

按有效政策审查具体参数;发生人工接管、撤权或目标变化时停止。本页的统一跨通道许可属于工程设计。

完成依据

动作摘要、许可、有效期与作用域

执行边界

审批绑定具体动作;等待期间页面变化需重新核对。

05执行一个有界动作工程流程

将结构化参数交给执行资源和 X11 执行器。输入按局部顺序执行;不把一长串盲点动作当作可靠流程。

完成依据

执行结果、部分完成信息、诊断

执行边界

本地命令退出成功不等于目标业务成功。

06获取新观察并核实工程流程

动作后重新观察,检查预期窗口或对象状态。动作可能已执行但截图失败时,效果仍可能未知。

完成依据

新截图 + 目标应用结果

执行边界

只证明本示例中的文档打开,不推导“已上传网站”。

07继续、交接或恢复工程流程

以业务证据决定下一步;需要网页工作则重新委派并刷新观察。无法确认效果时保存 unknown,不重放。

完成依据

结果链接 / 文件 / 待核记录

执行边界

子代理返回、工具完成与用户收到交付是三个不同事件。

桌面操作示意七步推演 · 不执行实际操作
STEP 01 / 07

确认目标与权限

固定任务目标、允许的操作、文件与执行环境。目标不清楚或授权不足时,先停在准备阶段。

完成依据任务目标、环境身份、授权范围

没有用户目标,就没有可推导的输入许可。

01 / 07
BOX DESKTOP非真实截图
文档查看器 · 示意
文档最近任务文件
PDFreport.pdf打开
环境尚未操作
当前上下文推演状态
执行者
主代理
执行位置
Box / 私有 X11 显示
操作对象
report.pdf / 文档窗口(示意)
观察空间
桌面 API 坐标,非网页视口
当前状态
准备中
真实连接
未连接执行环境

桌面执行链路

源码确认

computerUse提出 Computer 动作
→
Host 工具与执行资源校验 / 按配置审查 / 协议适配
→
Box daemonComputerUseArgs
→
X11 执行器xdotool / xclip / 截图

Agent 直接走受控执行资源,不通过 noVNC 画布模拟人的点击。X11 请求在该执行器内部串行,但跨网页、桌面与人工输入的统一控制仍须额外验证。[S02] [S03] [S05] [S06]

坐标空间

网页元素:ref 与快照绑定。
网页视口:相对于页面内容区域。
桌面坐标:相对于截图声明的 API 空间,再由执行器换算。

该镜像默认显示与 API 都是 1280×800,但不能因此假定每种部署都无缩放。[S03] [S09]

部分完成与恢复

Computer 工具通常在动作末尾补截图。若点击已执行、截图随后失败,错误不表示“什么都没发生”。先取得新观察,再核对外部效果。

同理,文本可能已粘贴,而恢复剪贴板失败。不能因此再次粘贴。[S02] [S03]

动作与受控记录示意 不直接执行

模型工具参数示意 · 来自工具字段

Computer({
  action: "click",
  x: 640,
  y: 420,
  button: "left",
  count: 1,
  description: "打开已选中的 report.pdf"
})

坐标仅用于说明;不能直接用于真实任务。
强制审查模式下 click / drag 需要目标和目的描述。

[S02]

工程设计 · 不是该工具的现有 schema

{
  "runId": "run-demo",
  "environmentId": "box-demo",
  "observationId": "obs-demo",
  "coordinateSpace": "desktop-api",
  "controlOwner": "computerUse",
  "actionId": "action-demo",
  "effectState": "prepared"
}

这些可信身份应由运行时绑定;
不能让模型自行声明后直接取得权限。
FOLLOW THE DATA

数据路径

区分文件、指令、文字、模型图像和实时桌面。

任务文字

任务、文字与结果

用户 → 主代理 / Host → 子代理 / 工具 → 结果交付。网页案例采用 JSON 与 SSE;Bot 的协调、转录和消息通道按项目架构处理。

任务身份 / 工具文字 / 回执引用
文件字节

原始文件字节

用户电脑或附件存储 → Box 文件目录 → 浏览器 / 原生应用 → 目标业务。文件复制与网站上传是两次不同的边界跨越。

文件端口 / CopyToBox / CopyFromBox / 网站业务连接
操作指令

自动操作指令

browserUse 使用浏览器驱动;computerUse 使用生成的 Computer 执行协议,经 Box daemon 到 X11。并非所有工具都必须通过 MCP。

网页:驱动 / CDP  桌面:执行资源 / RPC / 本地键鼠
模型截图

模型收到的图像

网页或桌面截图 → 图像处理 / 持久引用 → Provider 适配器 → 模型。Bot 的 X11 路径生成 WebP;图片须作为真正的图像内容进入模型。

单张图片 / 尺寸 / 观察身份 / 多模态内容
实时桌面

用户看到的实时桌面

X11 桌面 → VNC → websockify → noVNC。人工输入沿相反方向返回;查看与控制必须分别授权,不能只依赖前端的只读开关。

RFB / TCP ↔ WebSocket;传输加密按实际连接配置

任务与架构 [S08] 文件 [S07] 自动控制 [S04] [S05] [S06] 模型截图 [S03] 远程画面 [D03] 控制授权设计 [P00]

三条操作链路

网页自动化

browserUse → browser_* → 驱动 / Playwright / CDP → Chromium → 网站

文件输入与业务请求不同;不把 CDP 说成 PDF 的网络上传接口。
自主桌面

computerUse → Computer → 执行资源 → Box daemon → X11ComputerUseRuntime → 应用

无需先打开 noVNC;执行器直接操作显示环境。
人工接管

用户 → noVNC → 获准连接 → websockify / VNC → X11 → 同一应用

Xvfb 与 VNC 之间是显示访问/画面采集;RFB/TCP 位于 VNC 的服务连接一侧。
协议与格式对照 名称表示不同层次
名称说明什么不能推断什么
HTTP / HTTPS请求与响应;HTTPS 增加 TLS 保护请求里的账号授权与业务成功
JSON / Base64结构化文本格式 / 二进制编码Base64 不提供加密,也不是视觉输入
Connect RPC / 生成协议Bot 执行服务的接口与消息契约等同于 microvm-agent 的 /exec JSON API
CDP / Playwright浏览器控制协议 / 自动化库能操作所有操作系统窗口
X11 / xdotool / xclip显示环境 / 键鼠 / 剪贴板工具任意 OS 来宾均有相同实现
RFB / WebSocket远程桌面消息 / 双向传输承载每帧都会交给模型,或自带所有鉴权
SSE网页参考方案的单向事件推送连接断开代表后台任务被取消
运行位置与职责不代表四台独立机器
用户设备Electron / 聊天界面

任务、审批、交付
本机文件与长期凭据

协调与运行时Coordinator / Host

路由、Agent 回合
工具编排与身份绑定

执行环境Box daemon / 浏览器 / X11

文件、程序、网页
实际桌面动作

外部业务网站 / 应用服务

账号与项目
业务回执与文档

以上是职责边界,不是四台必须独立部署的机器。Host 是应用运行时角色,本地模式可运行在容器中;不得只按名字将它画到物理宿主机。[S08]

USER COMPUTER

用户电脑

D:\Work\report.pdf

由已连接电脑提供文件访问;使用其路径规则和授权。

AGENT BOX

隔离执行环境

/workspace/uploads/report.pdf

浏览器或原生应用真正读取的文件必须位于可访问的位置。

BUSINESS OBJECT

外部业务系统

documentId / version / URL

远端文档以网站回执确认,不能用本地文件名替代。

四条交付路线

选择文件路线

无文件读写
已连接用户电脑→CopyToBox→Box 工作目录

用户授权一个源路径;文件按字节进入指定 Box 路径,再由该环境中的工具读取。无需先把文件拖进聊天。

CopyToBox({
  computer_path: "D:\\Work\\report.pdf",
  box_path: "/workspace/uploads/report.pdf"
})

边界检查

核对源电脑、路径访问权、目的目录及返回字节数;需要强完整性保证时补充摘要验证。

调用仅为示意;实际参数以工具 schema 为准。[S07]
全部文件路线 4 条 · 可独立查阅

用户电脑 → Box

用户授权一个源路径;文件按字节进入指定 Box 路径,再由该环境中的工具读取。无需先把文件拖进聊天。

CopyToBox({
  computer_path: "D:\\Work\\report.pdf",
  box_path: "/workspace/uploads/report.pdf"
})

核对源电脑、路径访问权、目的目录及返回字节数;需要强完整性保证时补充摘要验证。 [S07]

Box → 网站

把 Box 路径交给网页文件控件。选文件可能立即上传,因此先建立监听并固定动作身份。

browser_upload({
  ref: "<当前快照中的文件控件 ref>",
  sourcePath: "/workspace/uploads/report.pdf"
})

Bot 基线要求 driver v3、非空文件且 ≤16 MiB;网站另有自己的类型、大小与权限限制。 [S04]

Box → 用户电脑

把产物放到用户实际磁盘,让用户的本地编辑器或应用继续处理。它不是聊天中显示一个下载入口。

CopyFromBox({
  box_path: "/workspace/output/receipt.pdf",
  computer_path: "D:\\Work\\receipt.pdf"
})

确认连接电脑、目标路径、覆盖策略与完整性;传输中断先查询目标副本,不伪称已交付。 [S07]

Box → 聊天附件

通过消息交付带出本地产物。正文回复不是文件复制,也不保证用户磁盘已保存副本。

流程示意:
Box 产物路径 → SendMessage 附件处理
→ 受控附件引用 → 用户打开或保存

具体参数以当前消息工具 schema 为准。

检查附件可访问性与敏感信息;网站文档链接仍服从网站自己的账号权限。 [S07]

“网站 → Box”是下载任务,不是 CopyFromBox 的功能。

先由获准的网页/程序能力把网站文件保存到 Box,再核对副本,最后选择聊天交付或复制回用户电脑。本页没有依据宣称该基线已暴露专用 browser_download 工具;下载位置、完成事件与取消行为需要单独适配和验收。[S04] [S07]

传输检查

工程要求

身份

源电脑、Box、用户和任务一致,引用不是公开下载权限。

字节

文件名只用于展示;用字节数与适用的摘要校验完整性。

路径

区分 Windows / Linux 路径;明确目录、覆盖和符号链接规则。

交付

复制完成、附件可打开、网站文档 ready 分别确认。

CopyToBox / CopyFromBox 的工具描述面向各类文件,不应被解释为无限大小的运行保证;内存、传输实现、环境限制与重试均需实测。browser_upload 的 16 MiB 则是该工具明确的准入上限。[S07] [S04]

RECOVER WITHOUT REPLAY

异常恢复

先核对外部效果,再决定是否继续。

业务成功

保存并交付同一结果

新文档 ID / 版本、目标项目与本次操作一致,且业务状态为 ready。恢复已有结果,不重复上传。

processing

查询原任务

已取得 uploadId / jobId,但文档未可用。按有限频率和期限查询原任务,不重新选择文件。

明确拒绝

报告理由或有限新尝试

必须是针对本次操作的拒绝证据。只有授权、文件与目标仍有效且重试条件成立,才允许受控的新尝试。

unknown

保存事实,禁止自动重放

可能已经触发业务效果。查询原回执或请人核对;列表暂时为空、网络断开都不能证明从未受理。

可能部分完成

新观察并核对效果

键鼠动作可能已完成,截图或剪贴板恢复随后失败。重新观察和查询,而不是重放整个 Computer 批次。

结果推演只切换说明,不执行操作
结果推演

按已有证据选择恢复动作

不产生实际动作
unknown

保存事实,禁止自动重放

可能已经触发业务效果。查询原回执或请人核对;列表暂时为空、网络断开都不能证明从未受理。

结果核对原则 [P00] 桌面部分完成 [S03] 浏览器执行状态 [S04]

人工接管流程

工程要求

自动操作指定执行者持有输入权
→
暂停与排空停止新动作,核对在途效果
→
人工输入按范围与期限授予控制
→
释放与复核账号、页面、许可重新确认
→
恢复自动从新观察继续,不盲目重放
局部串行不等于跨通道互斥。

这两个局部机制有源码,但不能凭它们认定 browser_*、Computer 和人工 VNC 输入已共享同一许可、撤权与排空语义。完整人机交接必须做跨通道验收。[S03] [S04]

窗口移动、页面刷新或目标变更
旧观察

重新截图或读取快照,确认坐标空间、焦点与目标。旧 ref、旧坐标和旧审批不得静默沿用。

登录、密钥与敏感画面
隐私

限制截图、DOM、录屏、剪贴板和日志;密码框遮罩不代表其他通道无泄露。无安全认证途径时保持暂停。

用户撤权或终止任务
取消

停止后续输入,保存已经发生的效果。取消任务不能撤销已提交业务,关闭窗口或回滚 VM 也不能替代网站核对。

网页或文件要求越权
外部内容

页面文字、截图和文档内容是数据,不是用户授权。不得因为“页面要求”而读取密钥、发送额外文件或修改系统边界。

上述为安全与恢复工程要求,不表示该项目已经通过全部隐私、提示注入或跨通道互斥测试。[P00] [S14]

认证、录制与回放

桥接源码

WebAuthn

由可用桌面提供方处理认证授权与签名,并处理超时/取消。必须验收具体设备与站点。

不是通用 USB / U 盾透传。[S12]
条件能力

教学录制

录制屏幕、保存或丢弃、提交学习工作流。要求开关、私有显示、FFmpeg 与工作流可用。

主桌面索引为 1,私有 fork 从 2 开始;单主桌面镜像不满足该条件。[S09] [S11] [S16]
文档状态

可靠流程回放

能录视频不等于能在变化的页面可靠回放。Browser Flow 生产闭环仍有待验收项。

不把“学习提示已发送”写成“业务已学会”。[S13]
CAPABILITIES & ACCEPTANCE

实施与验收

源码、打包、启用和业务验收分别判断。

① 有源码

字段、实现与调用点存在

→
② 已打包

同一构建装入目标环境

→
③ 可启用

角色、配置与依赖就绪

→
④ 已验收

真实任务与故障测试通过

核对范围

2026-10-14 查询主分支,固定源码为 62b90c32dee2293dd04503723f371fc644e5dfe6(提交日期 2026-09-28)。下表依据源码和仓库文档,不是当前用户设备的运行探测。项目文档保留历史状态;不把分项证据扩大为整个产品的发布验收。

13 项
browserUse / 网页工具源码已接入条件启用

启用条件

角色为 browserUse;Box 可用且 remoteBoxHasDesktop 为真。

验收证据

元素引用、表单、上传、标签页与真实网站回执;不要只测工具返回。

[S01]

computerUse / 桌面工具源码已接入条件启用

启用条件

角色为 computerUse;Box 可用、桌面可用;模型/适配器能理解所需观察。

验收证据

截图→定位→动作→新观察;不同焦点、分辨率、遮挡及部分失败。

[S02]

browser_upload源码已接入条件启用

启用条件

driver v3;/workspace 绝对路径;文件非空且 ≤16 MiB。

验收证据

文件控件接受、网站实际受理、文档 ready 分层验证。

[S04]

跨机器复制源码已接入条件启用

启用条件

桌面应用与选定电脑在线;源/目标作用域获准。

验收证据

双向字节一致、覆盖与取消、连接中断、大文件及跨平台路径。

[S07]

模型视觉输入有生成与传递路径待验收 / 适配

启用条件

所选 Provider、模型、消息适配器接受实际图像。

验收证据

用同一构建与 Provider 证明图像实际进入模型;不只检查截图文件。

[S03]

独立 Host 镜像配置声明条件启用

启用条件

Linux amd64;主桌面 :1;默认 1280×800;maxWindows=1。

验收证据

以不可变镜像 ID 检查启动、服务、实际桌面和工具链。

[S09]

无桌面 Box 网页操作该基线不开放明确受限

启用条件

当前 browser_* 装配仍依赖桌面标志;不能沿用通用无头能力推定开放。

验收证据

需另行修改能力装配并验证浏览器与上下文,不把去掉 VNC 当作已支持。

[S01]

人工 / 自动统一互斥工程要求待验收 / 适配

启用条件

需要把 browserUse、Computer 和人工输入纳入同一服务端授权边界。

验收证据

接管中零自动输入、旧许可拒绝、输入排空、恢复再核验。

[S04]

浏览器 secret-slot 填写明确未接通明确受限

启用条件

工具代码拒绝 secret-slot 执行:没有安装 resolver。

验收证据

需实现秘密解析和端到端脱敏;不要把 schema 存在当作可用。

[S04]

WebAuthn 桥接桥接源码存在条件启用

启用条件

有可用桌面提供方;用户完成所需授权/签名。

验收证据

正确 origin、用户拒绝、断连、超时、取消及具体设备;不扩大到任意 USB。

[S12]

教学录制条件性源码能力明确受限

启用条件

功能开关、私有 fork 显示、FFmpeg、学习工作流;单主桌面镜像不满足私有显示条件。

验收证据

独立验收录制保存/丢弃、隐私、队列与学习交付;录制不等于可靠回放。

[S11]

完整 Browser Flow文档标明未验收完整闭环待验收 / 适配

启用条件

状态文档仍列生产审批、存储、生命周期与回放待验收。

验收证据

以同一集成候选验证 Host→审批→Worker→浏览器→持久证据→恢复。

[S13]

完整虚拟机 / 其他 OS适配范围待验收 / 适配

启用条件

需另行提供 VM 生命周期、来宾认证、文件与桌面适配;Linux X11 源码不是 Windows 来宾驱动。

验收证据

实际来宾映像、窗口系统、应用依赖、文件路径与恢复策略。

[P00]

运行模式与限制

[S08]

模式本页应如何理解仍须独立核验
Cursor使用实际账户与已配置服务;按配置连接本地或远端环境。目标 Box 是否提供桌面及本次任务所需工具。
Local-only使用独立 local-v1 账户槽和本地 Docker 环境;不等于没有网络。所选 Provider、电脑连接与网站访问权限。
Fully-offline只接受获准的回环模型连接,并裁剪 Web、云端等能力;依赖需事先准备。不能以模式名称代替全网隔离审计;访问外部网站不属于离线任务承诺。
工程验收工作单

验收记录清单

非自动测试

下面的选项仅保存在当前页面会话,不改变项目配置。复验应绑定同一源码、不可变镜像、Provider、目标网站与运行 ID;不能拿不同候选的成功片段拼成一次通过。

已填写 0 / 8 项 · 本页未执行任何验收
验收记录建议字段 工程设计 · 非现有数据契约
{
  "sourceCommit": "<固定源码 SHA>",
  "imageDigest": "<不可变镜像 ID>",
  "environment": {"os": "<实际系统>", "boxId": "<目标 Box>"},
  "provider": "<实际 Provider / 模型 / 图像能力>",
  "scenario": "<目标网站或应用 + 账号作用域>",
  "runId": "<真实运行编号>",
  "expected": "<预期业务结果>",
  "observed": "<实际结果与回执>",
  "faultCases": ["<断连、取消、部分完成等结果>"],
  "evidenceRefs": ["<脱敏证据引用>"],
  "verdict": "<通过 / 失败 / 未完成>"
}
来源与适用范围固定源码、官方文档与参考规划
P00

文件上传任务参考规划

本页保留文件接收、沙箱准备、网页观察、登录接管、上传与结果交付的六阶段、27 步组织。网页接口、microvm-agent、SSE、Postgres 与控制许可为此参考架构的术语;不是 Negentropy-Bot 当前全部实现的描述。

自主桌面七步、人机统一控制权、验收清单与可信记录字段属于工程设计。它们在页面中标为“工程要求”或“参考规划”;动态场景只作讲解,不产生运行证据。

S01
项目源码

角色与工具装配 ↗

主代理、browserUse、computerUse 的工具范围与桌面能力条件。

source/host/runner/tools/turn-toolset.ts
S02
项目源码

Computer 工具 ↗

八类动作、Auto-review 参数、后续动作序列及末尾截图。

source/host/runner/tools/sand-computer-tool.ts
S03
项目源码

X11 执行器 ↗

xdotool、xclip、坐标缩放、串行执行、WebP 截图与部分执行错误。

source/box-exec-daemon/x11-computer-use.ts
S04
项目源码

浏览器工具 ↗

18 项基础操作、会话状态查询、16 MiB 上传准入、规范化与恢复接线。

source/host/runner/tools/sand-browser-tools.ts
S05
项目源码

执行资源适配 ↗

模型工具到生成协议执行资源的适配;浏览器文件与 Shell 端口。

source/host/runner/host-computer-tool-dependencies.ts
S06
项目源码

Box 执行服务 ↗

Connect RPC、读写与执行协议、流式 Shell 和后台进程输入。

source/box-exec-daemon/server.ts
S07
项目源码

跨机器文件工具 ↗

CopyToBox、CopyFromBox 与聊天附件交付的不同语义。

source/host/runner/tools/sand-file-transfer-tools.ts
S08
项目文档

进程与环境架构 ↗

Electron、协调器、Host 与 Box 边界;运行模式与凭据投影。

docs/ARCHITECTURE.md
S09
项目源码

独立 Host 镜像清单 ↗

schema 3;Linux amd64、单主桌面、1280×800 默认坐标及验证入口。

manifests/oci/grok-bot-host.json
S10
项目源码

教学录制入口 ↗

sand_teach_by_demonstration 开关、学习工作流与恢复入口。

source/host/extensions/teach-recording/extension.ts
S11
项目源码

教学录制服务 ↗

私有显示检查、FFmpeg 录制、保存/丢弃与队列分发。

source/host/extensions/teach-recording/teach-recording-service.ts
S12
项目源码

WebAuthn 桥接 ↗

认证提供方、授权/签名阶段、超时与取消。

source/host/extensions/webauthn-proxy/webauthn-proxy-bridge.ts
S13
项目文档

项目状态文档 ↗

Browser Flow 分项证据与未完成验收;文档历史状态不是实时部署状态。

memory_bank/t0_core/current_state.md
S14
项目源码

工具使用与交付约束 ↗

文件位置说明、SendMessage 交付,以及不绕过安全阻断的提示约束。

source/host/runner/system-prompt.ts
D01
官方文档

Playwright · Actions ↗

文件输入、filechooser、表单和拖拽的官方接口说明。

playwright.dev/docs/input
本页的“完整”,指讲解闭环,不是全平台功能承诺。

范围覆盖任务分工、网页与桌面操作、文件流转、认证接管、异常恢复与启用验收。具体操作系统、应用、硬件密钥、下载协议和网站业务都需要其对应的运行证据。正文与交互可离线使用;来源链接需要联网。

TERMS & DEFINITIONS

名词说明

先看职责;定义、示例和边界按需展开。

78 个名词
沙箱运行任务的隔离环境

给任务提供隔离的进程、文件与网络环境。Linux 容器与完整虚拟机是不同的后端,不能只凭 microvm-agent 名称判断。

职责

接收 report.pdf 的副本,运行浏览器和网页操作程序,让这些操作与用户自己的桌面浏览器分开。

边界

沙箱是否是容器、完整虚拟机或其他环境,取决于后端;此处的 Linux 参考后端是容器。

协作示意
用户电脑上的 report.pdf → 助手文件存储 → 沙箱任务目录 → 沙箱中的浏览器。

[P00]

microvm-agent网页参考实现的沙箱服务

在网页上传参考架构中提供命令和文件接口的服务。名称不说明环境一定是完整虚拟机。

职责

参考案例中的 /exec、/read、/write;Bot 使用自己的 Box 执行服务。

边界

不是 Negentropy-Bot 当前执行接口的别名。

协作示意
助手后台 → HTTP 请求 → microvm-agent → 沙箱里的命令或文件操作。
/exec:运行命令
/write:写入文件
/read:读取文件

[P00]

Docker Engine创建与管理容器的服务

Docker 是运行和管理容器的工具;Docker Engine 是宿主机上实际创建、启动和停止容器的服务。

职责

按用户启动或复用沙箱,设置容器网络、执行服务入口和持久数据卷。

边界

容器启动成功只是环境准备完成;还要检查浏览器、文件和具体网站操作。

协作示意
助手后台调用 Docker 命令 → Docker Engine 启动用户的沙箱容器。

[P00]

Playwright精确操作网页的自动化程序

用于控制浏览器的软件库,可以按按钮名称、输入框标签和页面结构定位控件,执行导航、填入信息、设置文件和截图。

职责

找到项目 B 的上传控件,把沙箱中 report.pdf 的路径交给浏览器,并观察网站结果。

边界

它发出浏览器操作指令;实际访问网站和发送 PDF 的是浏览器。目标控件和业务成功条件仍要按真实网站确定。

协作示意
找到“上传文件”输入框 → setInputFiles(filePath) → 浏览器读取 PDF。

[P00]

Chromium沙箱中真正打开网站的浏览器

一种浏览器及其运行引擎。它加载网页、执行网页脚本、显示页面,并维护网站自己的登录会话。

职责

使用用户的网站 A 账号浏览项目 B,读取所选的本地 PDF,并按网站要求发送上传请求。

边界

用户设备与隔离环境内的浏览器各有登录态;需要人工接管时必须提前准备桌面,不能只给现存无头进程添加一个查看器。

协作示意
自动模式:Playwright 控制无头 Chromium。可接管模式:启动时选择有窗口 Chromium,自动与人工共用该实例。

[P00]

Xvfb供浏览器绘制窗口的虚拟显示屏

一种 X 显示服务,可以在没有实体显示器的环境中提供桌面画面,让有窗口的程序正常绘制。

职责

让沙箱里的 Chromium 有一个可绘制的桌面,供 VNC 读取画面。

边界

它负责显示环境;向用户传画面、处理远程接管还需要 VNC、协议桥接和网页客户端。

协作示意
Chromium 绘制窗口 → Xvfb 保存显示内容 → VNC 读取桌面。

[P00]

VNC远程桌面的画面与输入服务

一类远程桌面系统,用来把一个桌面的画面送到另一端,并接收键盘、鼠标操作。它通常使用 RFB 协议。

职责

从 Xvfb 取出浏览器所在的桌面画面,经内部连接送到协议桥接服务;接管时反向传递输入。

边界

观看画面和控制键鼠需要分开授权;程序运行在沙箱中不代表可以直接开放给所有人。

协作示意
Xvfb 桌面 ↔ VNC 服务 ↔ RFB / TCP ↔ websockify。

[P00]

websockify把网页连接接到桌面服务的桥梁

一个双向协议桥接程序:一侧接受网页使用的 WebSocket,另一侧连接桌面服务使用的 TCP。

职责

让 noVNC 能与内部的 VNC 服务通信,转递 RFB 画面和输入消息。

边界

它主要桥接传输;用户身份、沙箱归属和控制许可由桌面授权代理与后台管理。

协作示意
noVNC → WebSocket → websockify → TCP → VNC;画面按反方向返回。

[P00]

noVNC聊天页面中的远程桌面查看器

运行在用户网页中的远程桌面客户端,接收桌面画面并在网页上显示;得到控制权限后还能发送键鼠输入。

职责

让用户直接在助手页面看到沙箱浏览器,在需要登录或验证码时接管同一个浏览器。

边界

它是用户观看和接管的通道。模型是否收到截图,需要另外的图像工具和模型输入链路。

协作示意
用户打开桌面视窗 → 通过获准连接看画面 → 获得控制许可后输入。

[P00]

DOM网页的结构化内容和控件树

浏览器把页面组织成的一棵结构树,包括文字、链接、按钮、输入框等元素及其属性。程序可以读取这份结构。

职责

让助手知道页面标题、项目名称、上传按钮和文件输入在哪里,减少只靠截图坐标猜测的操作。

边界

DOM 是网页结构,截图是像素画面;读取页面数据时仍要排除密码、令牌等敏感内容。

协作示意
读取页面结构 → 找到名称为“上传文件”的控件 → 用 Playwright 操作。

[P00]

CDP控制 Chromium 的指令协议

Chrome DevTools Protocol,即浏览器开发工具协议。可以发送读取页面、执行操作和截图等指令。

职责

本例通过 CDP 管理受管 Chromium。无头模式用于自动处理;有窗口模式中,人工与自动对应同一浏览器和会话。

边界

本例的连接选型,不是所有自动化的必需组件。connectOverCDP 仅支持 Chromium 系,能力保真度低于 Playwright 原生协议,需验证版本与启动参数。

协作示意
Playwright → CDP 的 JSON 指令 → Chromium;本方案在沙箱内用 WebSocket 承载。

[P00]

HTTP发送请求并取得响应的通信协议

网页与服务之间常用的请求、响应协议。请求说明要读什么或执行什么,响应返回状态和数据。

职责

聊天页向助手上传文件、提交任务;助手后台向沙箱执行服务发出执行和文件读写请求。

边界

HTTP 是通信规则;JSON、PDF 或图片是内容格式;实际身份校验由对应接口实现。

协作示意
POST /api/turn:提交任务。
POST /write:把文件写入沙箱。

[P00]

HTTPS通过 TLS 保护传输的 HTTP

在 HTTP 外增加 TLS 保护,校验服务端身份并加密传输中的数据。浏览器地址通常以 https:// 开头。

职责

沙箱浏览器通过网站自己的 HTTPS 连接加载页面、登录和上传 PDF。

边界

是否使用 HTTPS 要逐段看:网站连接使用 HTTPS,不会自动使助手入口的 HTTP 连接也被加密。

协作示意
沙箱 Chromium → https://site-a.example/ → 网站页面与上传服务。

[P00]

TLS保护连接中的数据和服务端身份

传输层安全协议,用加密和证书验证保护连接。HTTPS、wss 通常依靠它。

职责

让网站登录、文件上传,以及采用 wss 的远程桌面连接在传输中得到保护。

边界

传输加密保护连接;账号权限、操作授权和持久存储仍需要各自的检查。

协作示意
HTTPS = HTTP + TLS;wss = 受 TLS 保护的 WebSocket。

[P00]

WebSocket可以持续双向传消息的连接

网页与服务建立后可持续互相发送消息的一种连接方式,适合即时指令和连续画面消息。

职责

沙箱内承载 CDP 浏览器指令;用户到桌面代理的连接承载 RFB 画面与键鼠消息。

边界

WebSocket 只说明消息怎么运送;CDP 和 RFB 分别规定消息的意义,不能把两者混成同一套操作协议。

协作示意
ws://:普通 WebSocket。
wss://:通过 TLS 保护的 WebSocket。

[P00]

RFB远程桌面的画面与键鼠消息协议

Remote Framebuffer,远程帧缓冲协议。它描述桌面哪些区域变化、如何传画面,以及如何表示键盘、鼠标输入。

职责

把 Xvfb 桌面上的 Chromium 画面送到 noVNC;接管时把用户输入送回桌面。

边界

RFB 画面供用户看;模型推理通常读取按需截取的单张图片,这两条路径分别处理。

协作示意
容器内:RFB / TCP。
网页侧:RFB / WebSocket。

[P00]

TCP可靠、有序地传递字节的连接

一种基础网络传输协议,为两端提供有序的字节流。上层服务在这条连接中组织自己的消息。

职责

本方案中 VNC 与 websockify 在容器内部通过 TCP 传递 RFB 消息。

边界

TCP 本身不说明业务操作,也不自动提供 TLS 加密。

协作示意
TCP 负责字节流;RFB 负责说明这些字节表示画面还是输入。

[P00]

SSE服务端持续推送文字事件

Server-Sent Events,服务端发送事件。网页保持一条 HTTP 连接,服务端陆续写入文字事件。

职责

向聊天页面推送任务活动、逐步生成的回复和任务结束信息。

边界

本方案用 SSE 传文字和文件引用;连续桌面用独立 RFB / WebSocket。连接断开时仍要查询后台任务状态。

协作示意
event: partial
data: {"partial":"正在核实网站上传结果…"}

[P00]

EventSource浏览器用来订阅 SSE 的接口

浏览器提供的接口,用于建立 SSE 连接并接收服务端文字事件。

职责

聊天页面可订阅某个 Run 的事件端点;SSE 不可用时按设计回退查询。

边界

它管理显示连接;后台任务能否继续、已经执行到哪里,要以持久任务记录为准。

协作示意
网页打开 /api/runs/<runId>/events → EventSource 接收任务文字事件。

[P00]

Unix socket同一台主机上的进程通信入口

操作系统为本机进程之间提供的一种通信方式,常以文件路径标识入口,不需要公开网络端口。

职责

Docker 命令通过宿主机的 /var/run/docker.sock 连接 Docker Engine。

边界

访问 Docker 的这个入口意味着能管理容器,权限由宿主机控制;它与网站 HTTP 请求是不同通道。

协作示意
Docker CLI → unix:///var/run/docker.sock → Docker Engine。

[P00]

API程序之间约定好的操作接口

Application Programming Interface。程序按约定的地址、方法和参数请求操作,接收约定的结果。

职责

助手文件上传、任务提交、沙箱执行和模型调用分别有自己的 API。

边界

API 不一定通过 HTTP,也可以是本地函数、进程或库接口;要看具体实现。

协作示意
/api/blobs:接收文件。
/api/turn:接收任务。
/exec:在沙箱运行受控命令。

[P00]

JSON程序交换结构化数据的文字格式

用键值、列表、数字和字符串描述数据的文本格式,便于程序按字段读取。

职责

描述任务、文件元信息、工具参数、执行结果和进度事件中的 data 内容。

边界

JSON 是数据格式。它可以通过 HTTP、WebSocket 或程序输出传递;JSON 本身不提供加密。

协作示意
{"name":"report.pdf","size":123456,"blobId":"blob-demo"}

[P00]

UTF-8把文字编码成字节的方式

一种文字编码,使中文、英文和其他字符都能以确定的字节序列保存或传输。

职责

编码任务说明、JSON 和 SSE 文字,保证中文名称及回复能被正确解码。

边界

它用于文字编码;PDF、PNG 等二进制文件应按原始字节处理。

协作示意
“项目 B”这段文字 → UTF-8 字节 → 网络传输 → 还原同一段文字。

[P00]

Base64把二进制字节写成可传的文字

一种编码方式,把 PDF 或图片等二进制内容转换为可放入 JSON 字符串的文本。接收端解码后还原原字节。

职责

此处的沙箱文件接口示例通过 b64 字段写入 PDF 或读取截图。

边界

Base64 是编码,不是加密。把它放入普通聊天文字也不会自动成为模型的图像输入。

协作示意
{"path":"<沙箱路径>","b64":"<文件编码后的文字>"}
接收端解码 → 还原文件。

[P00]

SHA-256用于核对文件字节的摘要

根据文件字节计算出固定长度摘要的一种算法。原文件与副本使用同一算法计算,可以核对内容是否一致。

职责

在网页上传及沙箱副本校验中,确认最终选择的 PDF 对应用户上传的原文件。

边界

摘要不能替代账号、目标项目与操作授权;同名文件也可能有不同摘要。

协作示意
原文件的 SHA-256 = 沙箱副本的 SHA-256 → 作为字节一致的校验证据。

[P00]

原始二进制文件本身的原字节

直接保存和发送文件的字节内容,不把它转换成聊天文字或改写文件格式。

职责

网页上传 PDF 到助手时,HTTP 请求体可以直接使用这些字节。

边界

原字节说明发送的内容;接口仍需校验大小、摘要和当前用户访问权限。

协作示意
Content-Type: application/octet-stream
请求体:report.pdf 原字节。

[P00]

MIME标明内容类型的名称

告诉程序内容是什么类型的标记,例如 application/pdf 表示 PDF,image/png 表示 PNG 图片。HTTP 的 Content-Type 常使用它。

职责

帮助接口识别附件类型、选择图片处理路径,并按网站要求提交内容。

边界

类型标记和文件名可以用于处理,但验证内容还需要实际字节与相关检查。

协作示意
PDF:application/pdf
截图:image/png 或 image/jpeg
未指定具体类型的字节:application/octet-stream。

[P00]

multipart/form-data把文件和表单字段一起上传的格式

一种 HTTP 请求体格式,把文件字节、项目参数等内容分成多个部分,每部分都有自己的名称和类型。

职责

网站 A 可能使用这种格式接收 report.pdf 以及它所属的项目或目录参数。

边界

网站也可能采用原始字节直传或分块上传;助手需要观察该网站真正使用的协议。

协作示意
同一请求里:文件字段 = report.pdf;项目字段 = B。具体字段名称由网站规定。

[P00]

PDF保持文档版式的文件格式

一种常用文档格式,保存页面、文字、图像和版式。本任务中的 report.pdf 是用户希望上传的原文档。

职责

作为文件经过助手存储、沙箱文件目录,再由沙箱浏览器发给网站。

边界

传文件不等于模型必须先阅读或提取整个文档;本任务的重点是把正确文件上传到正确位置。

协作示意
report.pdf 始终按文件字节传递;任务文字只引用它的名称、编号与路径。

[P00]

PNG / JPEG / WebP单张图像格式

用于保存某一时刻页面或桌面像素的静态图像格式。

职责

网页截图格式按工具选择;Bot X11 执行器生成 WebP。

边界

图片进入普通文本不等于模型取得视觉输入;RFB 连续画面是另一条通道。

协作示意
截图 → 保存 PNG → 文件通道回传 → 视觉模型收到真正的图像内容。

[P00]

Postgres网页参考规划的数据库选型

关系型数据库的一种选型。此案例用它解释任务元数据与持久文件分开存储。

职责

保存 Run、动作状态与证据引用的参考方案。

边界

不据参考选型断言 Bot 实际使用 Postgres。

协作示意
任务 ID、文件摘要、文档 ID、结果状态 → 数据库;PDF 和截图字节 → 文件存储。

[P00]

S3按对象键保存文件的存储服务

一种对象存储服务及常用兼容接口,用对象键保存和读取文件,而不必让每个运行实例各自保存一份。

职责

采用对象存储的部署可以用它保存附件和截图;本地部署也可以使用宿主机的持久文件目录。

边界

使用哪种文件存储取决于部署配置;这张流程图不代表当前已经启用 S3。

协作示意
blob / 文件引用 → 对象键 → 对应的 PDF 或截图字节。

[P00]

数据卷容器停止后可按策略保留的文件空间

Docker 管理或挂载的文件空间,用来让需要保留的数据与容器进程的生命周期分开。

职责

存放用户工作目录和需要保留的浏览器资料;复用沙箱时仍可读取这些内容。

边界

正常停止与销毁是不同操作;销毁可能删除卷,保留与清理必须遵循用户作用域和策略。

协作示意
容器停止 → 用户卷保留 → 后续获准任务重新挂载。

[P00]

浏览器上下文一组隔离的登录状态与网页

Playwright 中的 browser context,用来划分浏览器会话空间,包括 Cookie 和相关存储。其内可以有多个页面。

职责

自动操作与人工接管必须使用同一受管上下文,才能继续使用同一个网站账号的登录态。

边界

另建空 context 通常不会带上原上下文的登录信息;这里的上下文指浏览器会话,不是模型的聊天上下文。

协作示意
同一 Chromium → 同一 context → 登录页面和项目 B 页面。

[P00]

MFA登录时的额外身份验证

Multi-Factor Authentication,多因素认证。网站除了密码,还可能要求验证器验证码、安全密钥或其他证明。

职责

网站 A 要求额外验证时暂停自动操作,让用户在同一沙箱浏览器中完成。

边界

认证完成仍需确认账号和项目权限,并把人工控制权交还后再恢复自动输入。

协作示意
输入账号密码 → 网站要求验证码 → 用户接管输入 → 核实正确账号并继续。

[P00]

CSRF网站防止他站冒用登录态发请求的检查

Cross-Site Request Forgery,跨站请求伪造。网站常用专用令牌或来源校验,确认带登录状态的请求来自获准流程。

职责

浏览器按网站脚本和表单正常上传,携带网站要求的会话与验证参数。

边界

助手登录凭证不能替代网站的 CSRF 检查,访问被拒绝时要诊断对应站点与请求。

协作示意
上传表单中可能有隐藏的验证字段;浏览器按网站流程提交它们。

[P00]

控制许可限定主体与期限的操作权

服务端判断谁可以向执行环境发送输入的授权。

职责

参考规划要求自动操作与人工接管受同一控制边界约束。

边界

这是工程要求;某一个执行器的内部串行不能证明所有输入来源已经互斥。

协作示意
自动输入暂停 → 用户获得接管许可 → 用户完成登录 → 输入排空并释放 → 自动恢复。

[P00]

locator按网页语义找到目标控件

Playwright 的元素定位器,按角色、标签、文字或选择条件定位网页元素。

职责

在项目 B 文档区找到唯一的上传控件,检查它是否能操作,然后执行文件设置或点击。

边界

同名按钮可能有多个;需要结合项目和区域限定。定位超时也不能直接推断外部操作没有发生。

协作示意
page.getByRole("button", { name: "上传文件", exact: true })

[P00]

setInputFiles直接把沙箱文件交给网页文件输入框

Playwright 设置网页 input[type=file] 内容的方法。传入沙箱内的文件路径,浏览器读取对应文件。

职责

把已核对的 report.pdf 选进网站上传控件,通常省去操作系统文件对话框。

边界

部分网站在设置文件后立刻上传,所以必须先准备监听;这个动作本身不能证明网站上传成功。

协作示意
await page.getByLabel("上传文件").setInputFiles(filePath);

[P00]

filechooser / setFiles网页打开文件选择器时的处理方式

filechooser 是浏览器发出的文件选择事件;取得选择器后,Playwright 用 setFiles 把指定文件放进去。

职责

处理只有点击“选择文件”之后才出现输入控件的网站。

边界

监听必须先于点击,避免漏掉事件;上传可能紧接着文件选择发生。

协作示意
先监听 filechooser → 点击“选择文件” → 取得选择器 → setFiles(filePath)。

[P00]

FileList网页文件输入中已经选中的文件集合

浏览器提供的文件列表对象,包含当前输入控件选中的文件及其名称、大小等信息。

职责

检查网站输入控件里选中了正确的 report.pdf,而不是另一个文件。

边界

选中正确文件只证明本地准备完成;业务成功要看网站回执。

协作示意
读取 FileList → 核对文件名与大小 → 按网站要求提交或等待自动上传。

[P00]

模型 API向模型服务发送输入并取得决策

助手后台与模型供应商通信的接口。模型根据任务、页面信息和工具结果返回回复或下一步工具调用。

职责

分析 DOM 文字,必要时分析截图,再决定浏览器下一步该做什么。

边界

模型给出建议或调用参数;真实文件读写、网页操作和网站上传由具体执行组件完成。

协作示意
页面信息 → 模型服务 → 下一步工具参数 → 后台检查授权并执行。

[P00]

多模态 / 视觉模型能够处理图像内容的模型能力

多模态模型可以处理文字以外的内容;这里需要的是接收图片并理解页面画面的视觉能力。

职责

当 DOM 不足以判断页面时,助手将单张截图作为真正的图像内容交给支持视觉的模型。

边界

实际选择的模型是否支持图片需要检查;普通工具文字中的 Base64 不会自动变成图像输入。

协作示意
截图 PNG → 文件回传 → 模型适配器生成图像内容块 → 支持视觉的模型。

[P00]

stdin / stdout / stderr程序的输入、输出和诊断通道

stdin 是程序输入通道,stdout 是常规输出通道,stderr 是错误与诊断输出通道。它们是进程之间的字节流。

职责

沙箱程序接收参数并输出结构化结果;执行服务返回 stdout、stderr、退出码和超时信息。

边界

退出码和程序输出不是网站业务回执。此处 /exec 示例收集完成后的 stdout / stderr;实际项目是否支持流式返回,须检查接口实现。

协作示意
Playwright 脚本输出 JSON → 执行服务收集 stdout → HTTP 执行结果返回后台。

[P00]

I/O输入与输出,包括本地读写

Input / Output 的缩写,泛指程序读取或写出数据,例如读文件、写文件、发送网络请求或收集程序输出。

职责

网页读取 PDF,助手保存文件,沙箱写入副本,浏览器读取选中的文件。

边界

I/O 是操作类别,不是一种网络协议;本地文件读取通常不需要 HTTP。

协作示意
读文件 → 计算摘要 → 写入另一个受控目录。

[P00]

blob / blobId原文件字节及其可引用编号

blob 指一段二进制数据;blobId 是助手文件接口返回的引用,用来指向已上传的那份文件。

职责

先保存 PDF,再在任务 JSON 中引用 blobId,避免每个步骤都重新传整份文件。

边界

引用编号不是公开下载授权,读取文件仍要校验用户访问权。

协作示意
附件:{"name":"report.pdf","blobId":"blob-demo"}

[P00]

artifact被登记、可追踪的文件产物

任务登记的文件产物及元数据,例如入箱附件、截图或执行生成的文件。产物引用把文件与用户、任务和证据关联起来。

职责

记录沙箱中的 PDF 对应哪个原文件;保存结果截图的受控引用,便于之后查看。

边界

产物元数据和文件原字节都要有合适的持久存储,单独一个路径字符串不能保证文件还在。

协作示意
原 blobId + 沙箱路径 + 文件摘要 + 所属任务 → 文件产物记录。

[P00]

Run / runId一次可追踪的后台任务

Run 是助手接受任务后建立的执行记录,runId 是它的追踪编号。页面用同一个编号查询进度和最终结果。

职责

把用户提交、后台执行、SSE 进度和重连查询关联到同一次任务。

边界

网页连接和后台任务是不同生命周期;页面重连后应查询原 Run,而不是再创建一次网站上传。

协作示意
/api/runs/<runId>/events 订阅这一任务的进度。

[P00]

clientTurnId同一次消息提交的去重编号

由客户端为一次任务提交生成并重复使用的标识,用于把网络重试与原消息关联。

职责

提交响应丢失时,帮助准入流程识别这是同一次消息,而不是用户又发了一次新上传任务。

边界

消息准入去重与网站上传去重是两个问题;外部操作仍需要回执、动作身份和未知效果核对。

协作示意
首次提交和网络重试都使用 {"clientTurnId":"turn-demo"}。

[P00]

持久存储重启后仍能读回的数据

把需要恢复的内容保存到数据库或持久文件空间,避免只存在于某个进程的变量或缓存中。

职责

保存任务、文件、上传意图、业务回执和 unknown 状态,使重连或重启后能查询事实。

边界

缓存可以加速读取;任务依赖的唯一证据必须能从持久存储恢复。

协作示意
服务重启 → 重新读取任务记录和证据 → 从原状态恢复。

[P00]

业务回执网站对这次上传结果的确认

网站返回或可查询的业务结果,能说明哪份文档、哪个项目、哪个版本对应这次操作。

职责

核实项目 B 中出现了本次上传的新文档或新版本,并取得正确文件链接。

边界

HTTP 200、进度 100% 或同名旧文件都不足以单独证明业务成功。

协作示意
新文档 ID + 项目 B + 文件信息 + ready 状态 → 与本次动作关联的成功证据。

[P00]

unknown外部操作是否完成还无法确认

操作可能已经送出,但没有足够证据判断网站是成功、拒绝还是仍在处理。这是一种需要核对的持久状态。

职责

上传超时或回执丢失时,保存已有事实并查询网站,避免重复上传同一个文件。

边界

先查询和对账,不盲目重放。若网站确有适用于同一请求的幂等保证,或有证据证明未受理,且授权仍有效,可按约定有限重试。

协作示意
提交后断网 → 保存 unknown → 查询本次文档 / 回执 → 确认后再报告结果。

[P00]

幂等重复请求仍能避免重复业务效果

同一操作身份被重复提交时,接收方按协议复用已有结果或去重,避免创建多份文档。常通过幂等键关联请求。

职责

网站支持时用同一操作键核对或重试;助手自身也要保存动作身份,区分恢复查询与新提交。

边界

每个网站的支持情况需要验证;助手本地生成一个编号,不会自动让外部网站具备幂等能力。

协作示意
同一幂等键 → 网站识别原请求 → 返回同一个业务结果。

[P00]

终态任务已经结束的最终状态

表示某次任务不再继续执行的状态,例如完成或明确失败;它与页面连接是否在线分别判断。

职责

聊天页面读取终态和已保存的结果,决定展示完成、失败或需要进一步核对的事实。

边界

后台任务结束不能覆盖外部上传尚不确定的事实;结果说明仍应如实保留 unknown。

协作示意
任务活动 → 等待回执 → 保存结果 → 结束任务并交接链接。

[P00]

MCP外部工具的发现与调用协议

连接助手与工具服务的接口规范;图片能力取决于工具结果与模型适配链路。

职责

可以提供业务连接器,与网页、桌面和文件工具协作。

边界

不是 Computer 的必经中转,也不代表所有 Provider 已完成图像输入验收。

协作示意
模型请求工具 → 助手调用 MCP 工具服务 → 执行工具 → 返回结果。

[P00]

CLI通过文字命令操作程序

Command-Line Interface,命令行接口。使用文字命令和参数启动程序并读取输出。

职责

助手后台调用 Docker CLI 管理容器,沙箱也可以启动受控命令行程序。

边界

CLI 是程序使用方式,不是网络协议;它执行什么、通过什么连接访问服务,要看具体命令。

协作示意
运行一条受控 Docker 命令 → 管理容器 → 读取退出码与输出。

[P00]

HTML描述网页内容与结构的格式

HyperText Markup Language,用标题、段落、按钮、表单等标签描述网页内容和结构。浏览器读取它,再构建页面。

职责

网站 A 的页面从 HTML 开始加载;本说明也作为一个独立 HTML 文件保存。

边界

HTML 负责结构;网页外观由 CSS 描述,交互行为通常由 JavaScript 执行。

协作示意
网站返回 HTML → 浏览器构建页面 → 程序读取 DOM 并找到上传控件。

[P00]

CSS规定网页布局与外观的样式

Cascading Style Sheets,用来规定网页元素的位置、大小、颜色、字体和响应不同屏幕宽度的显示方式。

职责

让网站页面和本流程说明按设计显示;浏览器将样式应用到页面内容。

边界

样式说明元素怎样显示;是否能点击、上传是否成功还需检查实际控件和网站业务结果。

协作示意
HTML 的上传按钮 + CSS 样式 → 浏览器中可见的按钮。

[P00]

JavaScript在网页中运行的交互程序

浏览器可以运行的一种编程语言,常用来响应点击、读写网页状态并向网站发送请求。JS 是它的常见缩写。

职责

网站用脚本处理文件选择、触发上传和显示进度;本 HTML 也用脚本实现步骤切换与名词解释。

边界

网站脚本的具体行为要观察确认,尤其是选择文件后是否自动上传。

协作示意
选择文件 → 网站 JavaScript 读取事件 → 浏览器发送上传请求。

[P00]

无头浏览器不显示窗口的浏览器模式

浏览器加载页面、执行脚本并可截图,只是不显示可供人接管的窗口。

职责

网页参考方案可选;不等于任意 Bot 环境都开放该模式。

边界

Bot 该基线的 browser_* 装配要求 remoteBoxHasDesktop;有窗口切换应另做会话恢复验收。

协作示意
无头 Chromium → 读取 DOM → 设置 report.pdf → 网站 HTTPS 上传。
按需截图也可以在无头模式中完成。

[P00]

GUI图形用户界面

由窗口、控件、画面和键鼠操作组成的界面。

职责

可供 Agent 自主桌面操作,也可供人查看和接管。

边界

自主操作与人类查看器不是同一条执行通道。

协作示意
Chromium 窗口 → Xvfb → VNC / 桥接 → noVNC 网页视窗;获准输入按反向路径返回。

[P00]

browserUse专门操作网页的子代理

在 Bot 中按角色取得 browser_* 工具的子代理。

职责

使用元素引用、表单、标签页和浏览器截图完成网页工作。

边界

不是同名第三方 browser-use 框架的兼容性声明。

[S01]

computerUse专门操作桌面的子代理

在 Bot 中按角色取得 Computer 工具的子代理。

职责

观察桌面,再发送键鼠动作并核对反馈。

边界

需要 Box 可用、桌面能力及可用的观察链路。

[S01]

HostAgent 应用运行时角色

管理 Agent 回合、工具编排和运行时服务的逻辑角色。

职责

连接推理 Provider 与 Box 执行能力。

边界

Host 不是物理宿主机的同义词;本地模式可运行在容器中。

[S08]

Box执行环境的项目抽象

Bot 对隔离执行环境及其能力、连接和身份的抽象。

职责

提供 Shell、文件、浏览器与桌面资源。

边界

不保证每个 Box 都有桌面、多窗口或相同软件。

[S08]

X11 / xdotool图形显示与键鼠执行

X11 提供显示环境;Bot 执行器用 xdotool 发送鼠标和键盘动作。

职责

将 Computer 参数转换为私有显示上的本地操作。

边界

底层调用存在不证明通用应用操作成功。

[S03]

xclipX11 剪贴板辅助

读写 X11 剪贴板的工具;该执行器有剪贴板输入与恢复逻辑。

职责

在启用相应 Unicode 输入选项时粘贴文本。

边界

输入可能已完成而剪贴板恢复失败;不可因此盲目重复输入。

[S03]

viewId / snapshotId网页视图与观察身份

绑定目标页面及元素引用所属观察的标识。

职责

避免把旧快照的 ref 用到已变化的页面。

边界

这些身份不同于账号授权,也不同于网站业务回执。

[S04]

API / Display 坐标截图与显示的两个位置空间

执行器输入坐标与真实显示坐标可有不同尺寸。

职责

由 CoordinateScaler 转换,截图按声明的 API 尺寸输出。

边界

网页 CSS 视口、桌面 API 像素和显示像素不得直接混用。

[S03]

CopyToBox / CopyFromBox跨机器双向文件复制

在连接电脑与 Agent Box 间传递文件字节的工具。

职责

拉入待处理文件,或把生成/下载结果放回用户磁盘。

边界

不等于向网站上传;工具文案不能代替大文件与覆盖策略实测。

[S07]

Connect RPCBox 的生成协议执行通道

Box 执行服务使用生成消息与 RPC 端点承载控制和执行。

职责

传送文件、Shell 与 Computer 等请求和结果。

边界

不是网页参考方案的 microvm-agent HTTP JSON 接口。

[S06]

Auto-review动作执行前的审查机制

Bot 将具体动作参数与风险上下文送入按配置启用的审查路径。

职责

限制高风险动作并支持相应审批流程。

边界

off、shadow、enforce 不能混称为始终强制;启用配置与执行链要一起核验。

[S02]

单写者仲裁避免同一浏览器并发写入

Bot 浏览器工具有作用域、动作摘要和回执接线。

职责

查询执行状态并协调浏览器写动作。

边界

浏览器单写者不独自证明 Computer 和人工 VNC 输入都已纳管。

[S04]

WebAuthn 桥接连接用户设备的认证能力

将认证请求转交可用桌面提供方并等待结果的实现。

职责

处理授权、签名、失败、超时与取消。

边界

不是通用 USB、U 盾或任意客户端证书透传。

[S12]

教学录制把示范交给学习工作流

按开关和环境条件录制桌面并分发给 learn-from-demonstration。

职责

形成视频、元数据与有签名的待处理队列。

边界

要求私有 fork 显示、FFmpeg 与学习工作流;录制成功不等于回放成功。

[S11]

processing已受理但业务仍在处理

已取得受理证据,但目标文件或业务对象尚未 ready。

职责

保存 uploadId / jobId,在期限内查询同一任务。

边界

不同于没有受理证据的 unknown,也不能再提交一份。

[P00]

执行回执 / 业务回执工具完成与业务完成的两层证据

执行回执说明工具做了什么;业务回执说明网站或应用接受了什么。

职责

同时核实动作范围、对象 ID 与目标结果。

边界

工具 success、HTTP 200 或截图成功都不独自证明业务完成。

[S04]