Agno負責輕量執行面與工具編排語意;OpenClaw負責對外邊界上的名稱、權杖與有界逾時。兩者對齊後,遠端 Mac 上的代理演練才能用同一套 JSON 設定重放,並把失敗收斂成可簽核的摘要。

本篇目錄

前置巡檢與對照讀物

在改動白名單或逾時前,建議先完成與執行環境無關的邊界巡檢:對齊閘道與執行階段的版別、跑官方建議的 doctor、確認回環埠與權杖檔權限,並以最小探針驗證「閘道→上游」鏈路;細節可併讀《OpenClaw 遠端 Mac:IDE 橋、沙箱差分與健康探測》中的健康探測與最小權限目錄思路。契約與重試語意請對齊《閘道工具與 JSON Schema 重試》;若你正在做運行時選型與槽位驗收,可一併參考《Agno 與 OpenAI Agents SDK 決策矩陣》中的觀測與併發座標。

可重現步驟與 JSON 占位

下列鍵名為教學占位,請替換為你環境中實際設定檔的欄位;切勿把真實 Bearer 或雲端金鑰寫進版控。占位路徑與毫秒值僅示意。

  1. 隔離工作目錄:在遠端 Mac 建立專用專案路徑、虛擬環境與暫存目錄,與桌面與其他代理專案分離。
  2. 閘道先於對外:127.0.0.1 固定埠啟動 OpenClaw;權杖檔 chmod 600doctor 與健康檢查通過後,再開 SSH 反向隧道或對內網反向代理。
  3. 閘道側白名單與逾時熔斷(示意 JSON):將允許工具表、連線/首包/整段請求上限,以及錯誤視窗熔斷寫進單一設定來源,由部署流程注入,而非散落在程式常數。
{ "gateway": { "listen": { "host": "127.0.0.1", "port": 8787 }, "auth": { "mode": "bearer_file", "bearerFile": "/secure/openclaw/gateway.token" }, "tools": { "allowlist": ["search_public_docs_v1", "read_repo_file_v1"], "denyUnknownToolNames": true }, "timeoutsMs": { "connect": 2500, "firstByte": 15000, "fullRequest": 120000 }, "circuitBreaker": { "windowSec": 30, "failureThreshold": 5, "halfOpenProbeAfterSec": 15 }, "failureResponse": { "format": "envelope_v1", "includeCorrelationId": true, "maxClientHintChars": 200, "omitUpstreamBody": true } } }
  1. Agno 客戶端只認閘道:將 LLM 的基底網址改為閘道 OpenAI 相容路徑;工具顯示名僅使用上列白名單鍵。下列為執行期覆寫占位(非真實端點)。
{ "agno_runtime": { "llm": { "baseUrl": "http://127.0.0.1:8787/v1", "apiKeyEnv": "OPENCLAW_GATEWAY_TOKEN" }, "tools": { "registrySource": "gateway_allowlist", "refuseDirectUpstream": true } } }
  1. 失敗摘要回傳:由閘道統一包裝 envelope_v1:含關聯編號、階段代碼(例如 timeout_full_request)、可公開的指標鍵與單行修復提示;不附上游原文、堆疊或使用者資料。
  2. 簽核重放:以固定種子與錄製請求各跑一輪成功、兩輪預期失敗(未知工具名、逾時、熔斷),確認 CI 或排程能消費摘要欄位。

排障要點

現象 優先檢查
工具遭拒或 404 白名單是否含穩定鍵名;Agno 是否仍引用舊別名或繞過環境變數直連上游。
頻繁熔斷、延遲不高 fullRequest 是否過緊;未知參數是否觸發連續驗證失敗。先放寬有界逾時並縮小工具輸出欄位。
摘要缺關聯編號 中介層是否剝除錯誤本文;應在閘道出口統一封裝再回 Agno。

小結:Agno 管「怎麼呼叫」;OpenClaw 管「邊界上允許什麼、多久算失敗、失敗怎麼說」。白名單、請求逾時熔斷與失敗信封三者併用,才能在遠端節點做到可簽核、可重放的最小權限演練。

站內公開頁(免登入):首頁說明中心方案定價。延伸閱讀:PydanticAI 閘道綱要