痛點速覽:(1)單一端點故障拖垮全隊;(2)shell、launchd、CI 環境不一致致假陽性;(3)建置訊息未集中,跨時區難協同。
前置條件(Node 24/閘道)
node -v 請在 SSH shell、閘道 launchd、CI job 各跑一次,目標 Node 24 LTS。閘道宜綁 127.0.0.1,對外走反向代理+Token/mTLS;企業 CA 用 NODE_EXTRA_CA_CERTS。金鑰只放祕鑰管理,勿入庫。
| 檢查項 | 建議 | 說明 |
|---|---|---|
| Node | 24.x | 與研發/CI 映像鎖 minor |
| 閘道 | 本機埠+反代 | 限流與審計在代理層 |
| 出站 | PROXY/NO_PROXY | 與上游域名規則一致 |
安裝與要點
安裝 CLI 後跑 openclaw onboard、doctor。要點:閘道與 CI 共用同一 env 來源;改上游先 doctor 再重載 plist。循環重啟見 安裝排錯。
多相容端點與路由設定步驟表
鍵名以當版文件為準;原則為每條上游可獨驗,並以模型前綴或優先序選 baseURL。
| 步驟 | 動作 | 驗收 |
|---|---|---|
| 1 | 登記各供應商相容 baseURL | curl 探針 HTTP 200 |
| 2 | 每條上游金鑰用環境變數別名 | 閘道可讀、不入庫 |
| 3 | 路由表:如 fast/→A、reason/→B | 測試 prompt 日誌命中預期 |
| 4 | 逾時與備援鏈 | 主掛掉仍可在閾值內完成 |
| 5 | 變更寫入摘要欄位 | 單行含版本與 checksum |
決策矩陣可與團隊內「成本/延遲/合規」欄位並列:公開雲端推理適合預設路由,內網或專用叢集適合前綴隔離;變更路由務必連動 CI 摘要,避免研發與流水線看到不同上游。
健康檢查(/health)
監控或 LaunchAgent 週期打存活路徑(常為 /health,以發行說明為準)。與業務同源位址與代理,逾時 3~8 秒;連續失敗逾閾值再重啟。探針日誌與 CI 產物目錄分開。
GATEWAY="http://127.0.0.1:18789"
curl -fsS --max-time 5 "${GATEWAY}/health" -o /tmp/openclaw-health.json \
|| { echo "health_fail"; exit 1; }
若經反向代理對外暴露,探針應打內圈位址,與使用者實際命中路徑分開記錄,便於區分「程序活著」與「邊界 TLS/WAF」問題。
與 CI Webhook/日誌摘要聯動範例
流水線末步把變更摘要 POST 到內部 Webhook(或 OpenClaw 通道),與閘道觀測對齊。設 CI_ARTIFACT_DIR,tee 建置日誌;jq 抽 JSON 摘要後 curl。示意如下(替換 URL 與鍵路徑)。
LOG_DIR="${CI_ARTIFACT_DIR:-./ci-logs}"
mkdir -p "$LOG_DIR"
# 建置步驟:exec > >(tee -a "$LOG_DIR/build.log") 2>&1
SUMMARY="$(jq -r '.summary // .head_commit.message // empty' "$LOG_DIR/event.json" 2>/dev/null || echo "build_finished")"
curl -fsS -X POST "${OPENCLAW_CI_WEBHOOK}" \
-H "Content-Type: application/json" \
-d "{\"text\":\"${SUMMARY//$'\n'/ }\",\"log\":\"$LOG_DIR/build.log\"}"
失敗 job 也應上傳同一目錄,讓值班與研發對照「最後一次路由設定」與建置尾段,縮短來回溝通時間。
可引用:摘要約 300 字內;日誌附尾 80~120 行;Webhook 用簽章或 Bearer。
常見報錯 FAQ
路由與金鑰不符,或 launchd/CI 未注入同組變數。列印鍵名勿印值,並直打 baseURL 最小請求驗證。
存活不代表上游可用。每條上游獨立逾時退避並留備援;跨境對齊 PROXY/NO_PROXY。
對齊 jq 路徑或先 unwrap 外層 payload;缺鍵給預設摘要,完整 JSON 另存產物。