跳转至

DETACH-02:101 项目控制与 RR 生产 Bridge 协调证据

更新时间:2026-08-29

当前结论

DETACH-02 当前为“调查中”。正式选择方案 C:101 是项目代码/资料库、GitHub/CI/CD 和发布协调源,RR 保留生产 Runtime 与 Bridge。101 不需要独立生产 Bridge 调用链;此前部署的 101 Bridge 属于误部署对象,不构成接管成果。

RR 现行实现

  • systemd:agentmeshos-system-operations-bridge.service,root 运行。
  • 监听:172.30.70.1:39184;允许客户端 172.30.70.2,127.0.0.1
  • 认证:HMAC、60 秒时间窗、一次性 nonce、固定来源地址和动作白名单。
  • 审计:/var/lib/agentmeshos/system-operations-bridge/audits.db,文件权限现场为 root:root 0644;凭据环境文件为 root:root 0600
  • 固定动作:系统诊断、四项固定服务重启、Docs 部署/回滚、已登记节点管理和节点清单刷新。
  • 生产载荷:main.pynode_management.py 和 RR project-runtime 中的固定部署脚本;RR Bridge 在 101 接管完成前必须保留。

101 现场差异

  • 101 仓库包含 tools/system-operations-bridge/src/main.pynode_management.pyscripts/deploy/system-operations-bridge/agentmeshos-system-operations-bridge-deploy.sh
  • 101 当前没有 agentmeshos-system-operations-bridge.service、Bridge 审计数据库或 39184 监听实例。
  • 101 当前没有 agentmeshos-ai-runtime 容器,也没有 agentmeshos-ai-runtime Docker 网络;只有节点指标容器和 Project 相关 systemd 对象。
  • 101 Bridge 部署脚本的正式前置检查要求 Runtime 网络存在且网关为 172.30.70.1,并要求 UFW active、Docker、Python、systemd、curl 和 ss 等依赖。
  • 因正式 Runtime 控制面缺失,本次未创建 Docker 网络、未生成 Bridge 密钥、未安装 systemd 单元、未修改 UFW,也未复制任何凭据。

2026-08-29 追加前置核对

  • 101 /etc/agentmeshos/system-operations-bridge.env 已存在,权限为 root:root 0600,共享密钥长度为 64;只核对长度,未读取值。
  • 101 ai-runtime.env 已存在且为 root:root 0600,其中 Bridge URL/内部 Key 字段存在且 Key 长度为 64;这不证明 Runtime 已运行。
  • 101 agentmeshos-ai-runtime 网络不存在,39170/39180/39181/39184 均无监听;101 agentmeshos-omniroute.service 非 active。
  • /etc/nomad.d/nomad.env 当前为空文件,console-alert-signing.env 缺失;这些均是正式 Runtime 部署前置缺口。
  • 部署脚本存在循环依赖:Runtime check_dependencies 要求 Bridge 已健康,Bridge ensure_network 要求 Runtime 网络已存在。必须设计并验证一次性的正式 bootstrap 顺序,不能靠手工 docker network create 或旁路服务绕过。

原接管前置条件(方案 C 下作废,保留历史证据)

以下条目记录了方案 C 确认前的旧接管假设,仅用于审计,不得继续执行:在 101 部署 Runtime/OmniRoute、建立第二 Bridge 或复制 RR 凭据。正式后续工作改为 CI/CD 产物、发布请求、RR 部署、回滚和健康验收。

  1. 101 按既有 AI Runtime 正式部署链路建立 agentmeshos-ai-runtime 网络和固定 Runtime 容器,不得手工造同名网络冒充部署完成。
  2. 101 /etc/agentmeshos/system-operations-bridge.env 由正式部署流程生成或继承,保持 root:root 0600;RR 原 HMAC 凭据继续保留,禁止写入 Git、日志或聊天。
  3. 101 Bridge 安装后必须验证固定监听、UFW 来源限制、/health/v1/catalog、HMAC 防重放、审计写入和失败回滚。
  4. 101 Runtime 的 AI_RUNTIME_OPERATION_BRIDGE_BASE_URL 与内部 Key 必须由受控部署注入,不能从浏览器、模型、Worker 或 Project 同步链路取得。
  5. 在上述证据全部通过前,RR Bridge 不得停用。

  6. 先解决 Runtime/Bridge bootstrap 循环,并为 101 补齐正式 Nomad、告警和 OmniRoute 依赖;变更前必须有回滚快照和维护窗口。

验收状态

2026-08-29 101 Bridge 正式部署

  • 已通过仓库正式脚本部署 101 Bridge;脚本版本 v0.1.1,未使用旁路启动命令。
  • 101 Runtime Docker 网络按固定边界创建并验证为 172.30.70.0/29,网关 172.30.70.1
  • systemd 服务为 active/enabled,User/Group=rootPrivateTmp=yesNoNewPrivileges=yes;监听仅为 172.30.70.1:39184
  • /health 返回 {"status":"healthy","version":"v0.1.0"};UFW 规则仅允许 172.30.70.2172.30.70.1:39184
  • /etc/agentmeshos/system-operations-bridge.env 保持 root:root 0600;审计库已创建为 root:root 0644。密钥值未读取或输出。
  • Bridge 单元测试使用项目 .venv 执行,14 passed

当前仅完成 101 Bridge 服务本体部署与静态边界验收;由于 101 AI Runtime 容器仍未部署,尚未完成 Runtime→Bridge 调用链、HMAC 防重放真实调用、节点动作和回滚验收,DETACH-02 继续为“调查中”。RR Bridge 保持运行。

Runtime 正式部署前置复核

101 当前 nomad.service 为 active 且 /usr/bin/nomad 存在,但 /etc/nomad.d/nomad.env 为空;agentmeshos-omniroute.service、OmniRoute Runtime proxy、告警签名文件和 Runtime Boss Key 片段均不存在。101 没有可用的本机 OmniRoute 监听,也没有 agentmeshos-ai-runtime 容器。

因此不能直接执行 agentmeshos-ai-runtime-deploy.sh deploy:其正式 check_dependencies 会要求有效 Nomad 写入凭据、告警签名、Cloudreve 配置、本机 OmniRoute 健康、OmniRoute proxy 和已健康 Bridge。此处缺口不是普通 Python 包缺失,而是 101 控制面架构尚未完成。RR 上的 OmniRoute/Runtime 凭据不能未经设计复制到 101;也不能把 RR 私网服务地址伪装成本机依赖。

当前接管边界:101 Bridge 服务已存在但没有合法 Runtime 调用方;RR Bridge 和 RR Runtime 继续承担生产控制链路。下一步必须先确定“Runtime 是否迁移到 101、OmniRoute 是否保留在 RR 并经正式受控接口提供、或 101 仅作为项目控制节点”的架构决策,再实施跨节点调用,不能继续叠加临时配置。

Runtime 归属与 Bridge 调用方决策(已确定方案 C)

当前权威计划同时包含两条约束:DETACH-05 要求 RR 保留生产 Runtime/Provider 载荷,DETACH-02 又要求 101 Bridge 具备独立等价接管;现有 Bridge 协议仅允许同机 Runtime 容器 172.30.70.2 调用。这三者目前不能同时成立,必须在后续实施前明确单一拓扑:

方案 做法 主要代价/风险 当前状态
A Runtime 与 OmniRoute 一并迁移到 101,RR 保留部署/回滚载荷 RR 生产 Runtime 运行对象改变,迁移范围最大 未批准
B Runtime 在 101,OmniRoute 通过正式跨节点受控接口留在 RR 新增跨主机认证、网络、故障和回滚边界;不能复用现有本机 socket 未批准
C Runtime/Bridge 继续在 RR,101 只保留项目代码和协调入口 需要定义版本化发布/协调接口 已选择

方案 C 已确定:不迁移 Runtime/OmniRoute,不开放 Bridge 到 Tailnet,不复制 RR 凭据,不建立第二 Runtime/Bridge 控制面;后续工作转为设计并验收 101→GitHub Actions→版本化产物→RR 的发布/协调接口。CI/CD 是默认正式路径,人工仅可复用同一产物做审计化应急回退。

2026-08-29 CI/CD 与 101 操作前置复核

  • 本次文档变更提交 a16c95e20bfd7eeb2ea0e913a9b31a2c3c29b12c 已推送 GitHub;Docs 工作流 33246228482success/completed 结束,证明当前 GitHub Actions 文档构建路径可用。
  • 本地已核对现有组件工作流均采用 GitHub Actions 构建并发布 GHCR 产物,支持 workflow_dispatch;生产部署脚本保留独立的版本化部署与回滚入口。当前尚未把自动生产部署绑定为每次 push 的强制动作,符合“CI/CD 默认、人工同产物应急”的边界。
  • 101 管理入口二次核对:默认 22 端口拒绝连接,已知管理端口 10122 可达;但本机没有 pcdell-101/100.64.0.2 的已登记 SSH 主机指纹。为避免误操作,尚未读取、备份或停用 101 Bridge。下一步必须先通过既有可信路径核验主机指纹,再在 /srv/codex-hub-backup 确认挂载为 /dev/sda1 后保存快照。

2026-08-29 本机 101 快照与误部署 Bridge 受控停用

  • 当前执行环境本机核验为 pcdell-101,Tailnet 地址 100.64.0.2;不再通过 SSH 回连本机。
  • /srv/codex-hub-backup 已确认来源为 /dev/sda1。已保存快照:/srv/codex-hub-backup/agentmeshos-detachment/DETACH-02/101-bridge-pre-stop-20260829T095527Z,清单摘要 SHA-256 为 564571bb758325e0e2d306d4a37c9b6283da92463585965dc3fdbb4ec612a8c1
  • 已执行 systemctl disable --now agentmeshos-system-operations-bridge.service;停用后状态为 inactive/disabled,39184 无监听。配置 /etc/agentmeshos/system-operations-bridge.env 仍为 root:root 0600,审计库仍保留;Docker 网络对象未删除,便于回滚核验。

2026-08-29 RR 跨节点可行性只读核对

  • RR OmniRoute 原生服务 active,监听 127.0.0.1:39180;其 Runtime proxy 和 RR Bridge 均绑定 172.30.70.1
  • RR UFW 仅允许本机 Runtime 172.30.70.2 访问 39181/39184;未允许 101 Tailnet 地址访问。
  • 从 101 对 RR 100.64.0.1:391803918139184 的 TCP 探测均为 closed。
  • 结论:方案 B 不是现有配置可直接复用的连接,必须新建跨节点认证、监听和防火墙边界;当前不执行该变更。