按 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 選項運行 |