Cấu hình các tuyến
Đặt cấu hình trongplugins.entries.webhooks.config:
secret chấp nhận chuỗi thuần túy hoặc SecretRef: { source: "env" | "file" | "exec", provider: "default", id: "..." }.
SecretRef được phân giải vào ảnh chụp nhanh cấu hình khởi động của Gateway. Khi bí mật của một tuyến
không thể phân giải, Gateway vẫn tiếp tục chạy và chính tuyến đó vẫn
được đăng ký nhưng ở trạng thái lạnh: các yêu cầu nhận lỗi xác thực chung (401).
Các tuyến khác vẫn khả dụng. Hãy sửa nguồn SecretRef, sau đó tải lại hoặc khởi động lại
Gateway để kích hoạt ảnh chụp nhanh mới. Các giá trị SecretRef không bao giờ được phân giải
trên đường dẫn yêu cầu công khai.
Mô hình bảo mật
Mỗi tuyến hoạt động với quyền hạn TaskFlow củasessionKey đã cấu hình: tuyến đó
có thể kiểm tra và sửa đổi mọi TaskFlow thuộc sở hữu của phiên đó. Quyền truy cập TaskFlow
luôn đi qua api.runtime.tasks.managedFlows.bindSession(...), vì vậy
một tuyến không bao giờ có thể hoạt động bên ngoài phiên được liên kết. Để giới hạn phạm vi ảnh hưởng:
- Sử dụng một bí mật mạnh, duy nhất cho mỗi tuyến.
- Ưu tiên SecretRef thay vì bí mật văn bản thuần túy nội tuyến.
- Liên kết các tuyến với phiên có phạm vi hẹp nhất phù hợp với quy trình làm việc.
- Chỉ công khai đường dẫn webhook cụ thể mà bạn cần.
POST) và
Content-Type: application/json, sau đó giới hạn tốc độ theo cửa sổ cố định (120
yêu cầu trong mỗi cửa sổ 60 giây cho mỗi khóa đường-dẫn+IP-máy-khách, theo dõi tối đa
4,096 khóa), tiếp theo là giới hạn yêu cầu đang xử lý (8 yêu cầu đồng thời cho mỗi khóa, theo dõi tối đa
4,096 khóa), rồi xác thực bằng bí mật dùng chung, sau đó đọc nội dung JSON với giới hạn 256 KB /
15 giây. Các yêu cầu không vượt qua kiểm tra trước đó sẽ không bao giờ đến
các bước sau.
Định dạng yêu cầu
Gửi yêu cầuPOST với Content-Type: application/json và một trong hai
Authorization: Bearer <secret> hoặc x-openclaw-webhook-secret: <secret>:
Các hành động được hỗ trợ
Các hành động sửa đổi (
set_waiting, resume_flow, finish_flow, fail_flow,
request_cancel) yêu cầu flowId và expectedRevision để kiểm soát
đồng thời lạc quan; bản sửa đổi cũ trả về 409 revision_conflict.
create_flow
run_task
Các giá trị runtime được phép: subagent, acp. startedAt, lastEventAt và
progressSummary chỉ hợp lệ khi status là "running"; gửi chúng
với bất kỳ trạng thái nào khác sẽ trả về 400 invalid_request.
Cấu trúc phản hồi
sessionKey được liên kết với tuyến. Các giá trị code bao gồm not_found,
not_managed, revision_conflict, persist_failed, cancel_requested,
cancel_pending, terminal, invalid_request, request_rejected và
các mã dự phòng dành riêng cho hành động (mutation_rejected, create_rejected,
task_not_created, cancel_rejected) khi một thao tác sửa đổi bị từ chối vì
lý do không thuộc các mã đã nêu ở trên.
Liên quan
- Hook - các hook nội bộ hướng sự kiện so với cầu nối TaskFlow dựa trên HTTP này
- Webhook Gateway (cấu hình
hooks.*) - tính năng điểm cuối HTTP Gateway chung riêng biệt; không giống các tuyến của plugin này - SDK thời gian chạy Plugin
- Webhook CLI