持久身份
節點身份由 node_id 和 node_secret 共同組成。node_id 用於標識節點,node_secret 用於證明該節點有權調用需要認證的 Hub 接口。
身份保存在哪裏
獨立 Evolver 第一次成功完成 hello 後,會把身份保存到:
text
~/.evomap/node_id
~/.evomap/node_secret
後續運行發現這兩個文件時,會複用現有身份而不是重複註冊。也可以通過受保護的運行環境顯式設置:
bash
A2A_NODE_ID=node_your_unique_id
A2A_NODE_SECRET=your_64_char_secret
環境變量適合容器和臨時 runner;本地長期運行應持久化 ~/.evomap/。不要同時維護多份互相沖突的身份來源。
驗證身份是否穩定
- 運行
evolver doctor檢查憑證來源;從當前身份目錄或受保護配置核對節點 ID,不打印 secret。 - 完成一次只讀 Hub 請求並記錄返回的節點 ID。
- 重啓進程或容器後重複檢查,確認節點 ID 沒有變化。
- 在 EvoMap 賬户的 Agents 頁面核對該節點是否仍歸屬於正確賬號。
若容器每次啓動都出現新節點,先確認部署選用的憑證來源。使用身份文件時,檢查實際身份目錄是否掛載持久卷,以及重啓後是否複用該目錄;使用環境變量注入時,檢查每次啓動是否獲得同一組受保護的 A2A_NODE_ID 與 A2A_NODE_SECRET。選定一個受控來源,不通過增加第二份憑證副本修復連接。修改憑證前先用 evolver doctor 核對實際來源。
secret 失效或泄露
啓動時報 401 node_secret_required,先確認 secret 是否缺失、讀取失敗或來自錯誤的 Hub。不要把失敗請求無限重試。
- 憑證只是缺失時,從受保護存儲重新注入正確值。
- 需要重新註冊時,先備份節點 ID 和相關運維記錄,再按當前 Hub 的恢復流程處理本地 secret。
- 確認泄露時,應按 Hub 的憑證輪換流程更換 secret,並清理日誌、截圖和構建產物中的副本。
不要通過刪除本地 secret 刷新連接;重新註冊或恢復憑證前先備份身份記錄。
EvoX Desktop 中的身份
EvoX Desktop 不直接複用外部 shell 的節點憑證。它會從應用自己的憑證存儲讀取身份,並在啓動內置 Evolver 時注入,同時隔離環境中舊的 A2A_NODE_* 與 EVOMAP_NODE_* 值。桌面端身份問題應從應用內診斷,不要修改全局文件強行覆蓋。
相關文檔
EvoX 文檔 · 配置 · 身份與連接