本页记录 v0.16.2。请切换到当前版本查看最新指引。
架构与权限边界
A3S Test 把一次测试拆成四件可以单独核验的事。界面提供事实,规划方选择动作,执行核心决定动作是否允许,证据记录最后发生了什么。模型可以提出定位或设计建议,只有明确授权才能把建议送进修复流程。
两个规划入口,一个执行核心
Core 不依赖浏览器、桌面感知、终端模拟、CLI 或具体 LLM provider。它只定义类型化动作、观察、会话、策略、结果和生命周期。具体实现由注入的适配器拥有。
页面理解发生在渲染之后
浏览器原生可访问树是重要事实,但不足以表达组件归属、源码提示、多坐标空间几何、视觉视口、受控业务事实和人工修复状态。嵌入式 Test Kit 在页面渲染后补充这些信息,并通过单调修订号发布有界 Page Context。
页面上下文不篡改宿主 DOM,也不取代浏览器观察。A3S Test 在同一观察中核对驱动语义与 Test Kit 修订,避免把两个不同时刻的状态拼接在一起。
四层权限
- 确定性事实:驱动观察、Test Kit 上下文、文件摘要、本地断言和证据。
- 模型建议:视觉定位、设计审计和源到契约候选,均带来源、预算和置信度。
- 人工授权:目标确认、候选选择、冲突决定、单项或批量修复提交。
- 修复执行:拥有会话与工作区的编码 Agent 修改源码,A3S Test 在新浏览器里验证。
模型输出不能决定测试 verdict,不能声称浏览器已经观察到某状态,也不能直接授权工作区修改。Overlay 展示报告不会改变 runner 结果。
运行时所有权
每个被启动的程序属于 A3S Test 创建的进程组、Windows Job 或等价的自有进程树。取消与超时必须终止并回收完整树,优雅关闭有明确上限,并保留紧急清理路径。A3S Test 不关闭开发者已有的浏览器会话。
Web 会话使用隔离命名空间和非零空闲超时。证据路径必须解析为会话 artifact 根目录中的新常规文件。GUI 和 TUI 适配器承担同样的精确所有权要求。
界面适配器
部署方 provider
Provider 协议只定义数据交换,不捆绑模型权重,也不在公共 API 中用字符串选择后端。部署方通过类型化对象注入实现,并负责模型许可、隐私、容量和运行环境。
HTTP adapter 禁止重定向与环境代理,除明确 loopback HTTP 外要求 HTTPS,限制请求与响应体,绑定传输和 wire deadline,并从错误中脱敏授权值。服务层仍独立复核身份、来源、几何、用量和权限。
