request_id 串成可對時的觀測鏈。營運常見痛點:① 儀表板仍顯示健康、實際路由已漂移;② 工具層遭沙箱/脫敏截斷,難以還原失敗類型;③ 健康探針只看 HTTP,未涵蓋模型上游逾時。本文提供教程+排錯,章節依序涵蓋前置條件、逐步檢查、CI 聯動與 FAQ;延伸研讀 embeddings 閘道與 RAG 預拉取、多端點路由與 CI 摘要、閘道安全硬化與金鑰、LaunchAgent 健康檢查。首頁、定價、技術部落格均可免登入瀏覽。
前置條件
- 執行環境:建議 Node.js 22 LTS 或更新版;依發行說明使用
openclaw onboard/守護程序安裝選項,保留最近一次openclaw doctor文字輸出作為基線。 - 傳輸與名稱:HTTPS 憑證需涵蓋閘道儀表板與對外 API 之 Host;分割 DNS(辦公室 VPN 與託管機)時尤須核對路由表是否仍指向同一上游。
- 憑證檔:供應商金鑰僅存於執行使用者可讀路徑,
chmod 600,並對齊文件化之 祕密版面,避免誤入版控。 - 日誌與磁碟:為 JSON Lines 類日誌預留數日保留與輪替閾值;Apple Silicon 遠端機需同時監看 APFS 可用空間,以免追蹤級日誌突然縮水。
- 出站與自動化:若閘道回呼 CI/Webhook,請事先將目標域名列入 egress allowlist,並在管線內保留 2/4/8 秒指數退避區間,與站內 Harbor、Jenkins 範例一致。
逐項排障步驟
請由上而下執行;下遊步驟預設上一段已確認無誤。首段先以對照表縮小「觀測/實際」落差,再進入編號步驟。
| 觀測訊號 | 優先排查動作 | 典型根因 |
|---|---|---|
Model Auth 綠燈但對話回 401 | 比對儀表板 probe 路由與 /v1/chat/completions 實際 base URL、API 版本路徑 | Host 漂移、別名僅改 Git、未重載 |
僅見 tool_invocation、缺 tool_result | 檢視沙箱、Full Disk Access、脫敏規則是否吃掉摘要行 | 權限邊界、過度 redaction |
| 健康檢查全綠但批次作業抖動 | 以同一 UID、同一 plist 環境重放;併查 IPv4/IPv6 與 QUIC | launchd 與互動式 SSH 環境不一致 |
對齊 Model Auth 與路由:確認儀表板列出之供應商標籤與多端點表一致;重新命名之模型別名須同步於執行中設定檔,否則易出現「綠燈仍 404」。
閘道日誌關鍵字(grep 友善):憑證與額度:model_auth_probe、invalid_api_key、insufficient_quota;工具:tool_invocation、tool_result、permission_denied;傳輸:rate_limit、retry_after、upstream_timeout。每行比對 request_id 與儀表板時間軸。
合併健康探針思路:以單一脚本先取 /health 或 openclaw gateway status --json,再對固定輕量模型發最小化完成請求;任一支失敗即 exit 1,讓 LaunchAgent 與真人體感一致(呼應 健康樣式文)。
工具日誌深度:開啟結構化摘要,對參數/結果做長度上限與欄位脫敏;保留每工具單行 latency_ms 與結束類別,避免只有滿篇逐字稿。
重放與環境:在 SSH 以與閘道相同使用者重播失敗指令,核對 HOME、鑰匙圈與沙箱描述檔;差異常解釋為「手動成功、自動化失敗」。
可立即寫入 Runbook 的引用項
- 關鍵字分組:鑑權/quota 類與工具類請分檔 grep,避免大量無關行。
- Webhook 重試:與本站多篇文章對齊 2/4/8 秒退避上限與
curl --max-time預算。 - 證據鏈:回寫 CI 時必含
request_id與廿行內脫敏錯誤摘要,完整軌跡留在集中式日誌儲存。
與遠端 Mac CI 聯動示例
當閘道已定位疑似回歸,請將濃縮證據回寫 CI,使合併請求附帶可讀脈絡。常見作法為包一層 Shell:健康合併探針失敗或工具錯誤符合嚴重度規則時非零退出,再以 curl 將 JSON POST 至允許名單端點;GitHub Actions 亦可追加 $GITHUB_STEP_SUMMARY 人類可讀段落。失敗時請銜接 失敗恢復與重試 之磁碟/出站檢查,避免值班時重複盤點相同檢查。
失敗摘要 Webhook JSON(占位符請於管線替換):
{
"source": "openclaw-gateway",
"pipeline_id": "<CI_PIPELINE_ID>",
"commit": "<GIT_SHA_SHORT>",
"gateway_host": "<GATEWAY_PUBLIC_HOSTNAME>",
"model_auth_snapshot": "<OK|DEGRADED|FAIL>",
"last_tool_error_excerpt": "<LAST_20_LOG_LINES_REDACTED>",
"request_id": "<CORRELATION_REQUEST_ID>",
"ts_unix": "<UNIX_TIMESTAMP>"
}
併發數較高之 runner 請維持較短 HTTP 逾時,避免 Webhook 重試阻塞建置槽位。
常見報錯 FAQ
401/invalid_api_key儀表板可能快取上一次成功探針,而實際路由命中不同 Host 或 API 前綴。請統一 base URL、重跑 doctor,並於同一分鐘界線搜尋 www-authenticate 與 invalid_api_key。
脫敏可能將工具本文或參數列為敏感欄位。請先在測試閘道降低分級;正式環境保留單行 tool_result 摘要與 request_id,勿輸出完整內文。
常見為 IPv4/IPv6 出口分流、QUIC 與僅 TLS1.2 路徑不一,或 launchd 載入之環境檔與互動式 Shell 不一致。請改以閘道相同 UID、同一環境檔重播。
總結:把 Model Auth 狀態卡、工具呼叫日誌與 CI 建置摘要視為同一可觀測迴路:先證明憑證與路由一致,再以關鍵字定位,合併健康與模型探測後,才將脫敏摘要往上傳。需要獨立遠端 Mac 節點驗證閘道與管線並行時,請瀏覽免登入首頁、購買、定價、說明中心與技術部落格延伸閱讀 OpenClaw 系列。
遠端 Mac × OpenClaw 閘道
固定節點驗證 Model Auth/工具日誌觀測鏈
首頁、定價與購買免登入瀏覽;回到部落格閱讀更多 CI 與 Webhook 實作。