按 CSN 批量注册 3 种 AI 代理(新机器复制)
将 GIIP 代理环境复制到新机器,并用单个 CSN 一致地注册 giip-agent、giip-cqe 和 gissue-scheduler 三个调度。
📋 概述
一台机器(容器)属于一个 CSN,其中同时运行以下三种:
- giip-agent — 将本机器注册为 GIIP 中的在线服务器,并每分钟报告状态。
- giip-cqe — 定期拉取并执行分派给本机器的命令(CQE)。
- gissue-scheduler — 定期处理该 CSN 的议题。
🔑 核心原则: CSN 只写在一处
为防止三个调度漂移到不同的 CSN,本机器的 CSN 只写在一处。
单一事实来源(SSOT):
csn-projects.json中的 CSN 值
其余(例如调度器处理哪个 CSN)都会读取此值自动对齐。以前首次启动时填入的值会固定下来,后来只改映射会导致调度器仍用旧 CSN 运行。现在会以此文件为准,在每次启动时重新对齐。
🚀 在新机器上注册
方法 A — 启动新容器(推荐)
- 在部署配置中填入本机器的值: 登录 ID、密钥,以及 CSN。
- 启动容器。
- 启动过程中会自动创建 CSN 映射,并用该值注册 3 种调度。
- 用下面的一致性检查进行确认。
方法 B — 复制现有环境并只更换 CSN
- 将
csn-projects.json中的 CSN 值改为一个新的 CSN。 - 将代理配置的密钥改为新机器的值,并清空服务器编号以便重新签发。
- 重启容器。启动时会以
csn-projects.json为准重新对齐调度。 - 用一致性检查进行确认。
✅ 一致性检查
在新机器上运行以下命令,可一次性检查三种是否与同一个 CSN 保持一致。
bash scripts/gissue/check-csn-consistency.sh
如果服务器编号尚未签发,还会一并执行自注册:
bash scripts/gissue/check-csn-consistency.sh --register
如果每一项都显示 PASS,则表示三种调度已用本机器的单个 CSN 一致地注册。
🛠️ 故障排除
| 症状 | 原因 | 处理 |
|---|---|---|
| 调度器仍用旧 CSN 运行 | 首次启动的值残留 | 重启容器(会对齐到基准值) |
| 提示 CSN 值不一致 | 配置里是旧值 | 将配置中的 CSN 改为新值并重启 |
| 没有 CSN,或有多个 | 映射中有 0 个或 2 个以上 CSN | 整理为一个 CSN |
| 服务器编号未注册 | 尚未在新 CSN 下自注册 | 用上面的 --register 选项运行 |