3.2 KiB
3.2 KiB
ADR-001:AIOS 作为唯一控制面
- 状态:已采纳
- 日期:2026-07-20
- 影响范围:Control Plane、Agent Router、OpenClaw、Hermes、Web Console、GitOps、审计
1. 背景
现有系统已经包含多个执行、调度和治理能力。如果 OpenClaw、Hermes、Agent Router 或 Web 层分别保存自己的租户、策略、审批和任务状态,就会形成多个权威事实源,带来以下问题:
- 同一任务在不同模块中状态不一致;
- 审计链不完整;
- 多租户隔离难以统一验证;
- Web、Runtime 和运维入口可能绕过策略;
- Bug 修复和发布无法判断应该修改哪个事实源。
2. 决策
AIOS Control Plane 是唯一权威控制面,负责:
- Tenant Registry;
- Identity 与角色上下文;
- Agent Registry;
- Task Lifecycle;
- Policy Decision;
- Approval;
- Audit Event;
- Runtime Inventory;
- Execution Evidence;
- GitOps 与发布状态可视化。
OpenClaw、Hermes 和 Agent Router 只能执行、路由或调度已经由 AIOS 批准的工作,不得拥有第二套租户、策略、审批或任务生命周期。
3. 目标边界
Web / API
|
v
AIOS Control Plane
|
v
Execution Orchestrator / Agent Router
|
+--> OpenClaw Adapter --> OpenClaw Runtime
|
+--> Hermes Boundary --> Hermes Workers
4. 备选方案
方案 A:保持多个控制面
拒绝原因:状态会持续分裂,无法形成统一审计和租户隔离。
方案 B:由 OpenClaw 或 Hermes 成为主控制面
拒绝原因:二者主要价值是执行与 Runtime,不适合作为统一产品、租户、审批和发布控制面。
方案 C:推倒重写全部能力
拒绝原因:会丢失现有执行能力、运行经验和迁移可回滚性。
5. 正面影响
- 任务、策略和租户状态唯一;
- Web/API、OpenClaw、Hermes 和 GitOps 使用同一权威模型;
- 审计、执行证据和发布判断可以统一;
- 新 Runtime 可以通过稳定 Adapter 接入;
- 多租户和权限模型可集中验证。
6. 负面影响与风险
- 所有旧执行入口需要迁移到 Orchestrator;
- Runtime 需要稳定 Contract;
- Control Plane 可靠性要求提高;
- 在迁移完成前可能短期存在旧旁路,需要明确冻结和监控。
7. 迁移与回滚
迁移顺序:
- 建立 AIOS Control Plane 权威模型;
- 引入 Orchestrator;
- OpenClaw/Hermes 通过 Adapter 接入;
- 将 Web 和自动任务切换到 AIOS API;
- 关闭旧控制旁路。
回滚只允许回滚 Runtime 或应用版本,不允许恢复第二套权威控制状态。
8. 合规检查
任何新功能必须回答:
- 权威状态是否存放在 AIOS?
- Runtime 是否只接收已批准工作?
- Web 是否只调用 AIOS API?
- 是否新增了第二套状态机或租户事实源?
若最后一项为“是”,变更必须拒绝或新增替代 ADR。
9. 实现与测试映射
- 实现:
active-runtime/app/aios_v2/control_plane.py - 编排:
active-runtime/app/aios_v2/orchestrator.py - 应用入口:
active-runtime/app/aios_v2/app.py - 测试:
tests/aios_v2_candidate/test_candidate_flow.py - 追踪:
docs/aios-v2/05-TRACEABILITY-MATRIX.md