設定路由
在plugins.entries.webhooks.config 下設定組態:
secret 接受純文字字串或 SecretRef:{ source: "env" | "file" | "exec", provider: "default", id: "..." }。
SecretRef 會解析至閘道的啟動組態快照。當某條路由的
密鑰無法解析時,閘道會繼續執行,而該路由仍會保持
註冊但處於停用狀態:請求會收到一般驗證失敗回應(401)。
其他路由仍可使用。修正 SecretRef 來源後,重新載入或重新啟動
閘道以啟用新快照。絕不會在公開請求路徑上解析
SecretRef 值。
安全性模型
每條路由都會以其所設定sessionKey 的 TaskFlow 權限運作:它
可以檢查及變更該工作階段擁有的任何 TaskFlow。TaskFlow 存取
一律經由 api.runtime.tasks.managedFlows.bindSession(...),因此
路由絕不可能在其繫結的工作階段之外操作。若要限制影響範圍:
- 每條路由使用一組高強度且唯一的密鑰。
- 優先使用 SecretRef,而非內嵌的純文字密鑰。
- 將路由繫結至足以滿足工作流程需求的最小範圍工作階段。
- 僅公開你所需的特定網路鉤子路徑。
POST)及
Content-Type: application/json 檢查,接著是固定時間窗速率限制(每個路徑與用戶端 IP 組合鍵在每個 60 秒時間窗內 120 個
請求,最多追蹤 4,096 個
鍵),再接著是進行中請求限制(每個鍵可同時處理 8 個請求,最多
追蹤 4,096 個鍵)、共用密鑰驗證,最後讀取上限為 256 KB/
15 秒的 JSON 內文。未通過較早階段檢查的請求絕不會進入
後續階段。
請求格式
傳送POST 請求時,請使用 Content-Type: application/json,並提供
Authorization: Bearer <secret> 或 x-openclaw-webhook-secret: <secret>:
支援的動作
變更動作(
set_waiting、resume_flow、finish_flow、fail_flow、
request_cancel)需要 flowId 和 expectedRevision 以進行樂觀
並行控制;過期的修訂版本會傳回 409 revision_conflict。
create_flow
run_task
允許的 runtime 值:subagent、acp。只有當 status 為 "running" 時,
startedAt、lastEventAt 和
progressSummary 才有效;將這些值與任何其他狀態一起傳送時,會傳回 400 invalid_request。
回應結構
sessionKey。code 值包括 not_found、
not_managed、revision_conflict、persist_failed、cancel_requested、
cancel_pending、terminal、invalid_request、request_rejected,以及
動作專屬的後備代碼(mutation_rejected、create_rejected、
task_not_created、cancel_rejected),用於因上述具名代碼未涵蓋的
原因而拒絕變更時。
相關內容
- 鉤子 - 內部事件驅動鉤子與此 HTTP 型 TaskFlow 橋接器的比較
- 閘道網路鉤子(
hooks.*組態) - 獨立的通用閘道 HTTP 端點功能;與此外掛的路由不同 - 外掛執行階段 SDK
- 命令列介面網路鉤子