Rotaları yapılandırma
Yapılandırmayıplugins.entries.webhooks.config altında ayarlayın:
secret, düz metin dizesini veya bir SecretRef’i kabul eder: { source: "env" | "file" | "exec", provider: "default", id: "..." }.
SecretRef’ler, Gateway’in başlangıç yapılandırması anlık görüntüsünde çözümlenir. Bir rotanın gizli değeri çözümlenemediğinde Gateway çalışmaya devam eder ve yalnızca söz konusu rota kayıtlı ancak devre dışı kalır: istekler genel bir kimlik doğrulama hatası (401) alır. Diğer rotalar kullanılabilir durumda kalır. SecretRef kaynağını düzeltin, ardından yeni anlık görüntüyü etkinleştirmek için Gateway’i yeniden yükleyin veya yeniden başlatın. SecretRef değerleri hiçbir zaman genel istek yolunda çözümlenmez.
Güvenlik modeli
Her rota, yapılandırılmışsessionKey değerinin TaskFlow yetkisiyle hareket eder: bu oturumun sahip olduğu tüm TaskFlow’ları inceleyebilir ve değiştirebilir. TaskFlow erişimi her zaman api.runtime.tasks.managedFlows.bindSession(...) üzerinden gerçekleştiğinden, bir rota hiçbir zaman bağlı olduğu oturumun dışında hareket edemez. Etki alanını sınırlamak için:
- Her rota için güçlü ve benzersiz bir gizli değer kullanın.
- Satır içi düz metin gizli değeri yerine SecretRef’i tercih edin.
- Rotaları, iş akışına uygun en dar kapsamlı oturuma bağlayın.
- Yalnızca ihtiyaç duyduğunuz belirli Webhook yolunu kullanıma açın.
POST) ve Content-Type: application/json denetimleri, ardından sabit pencereli hız sınırlaması (yol+istemci-IP anahtarı başına 60 saniyelik pencere içinde 120 istek, en fazla 4,096 izlenen anahtar), ardından devam eden istek sınırlaması (anahtar başına eşzamanlı 8 istek, en fazla 4,096 izlenen anahtar), ardından paylaşılan gizli değerle kimlik doğrulama ve son olarak 256 KB / 15 saniyelik JSON gövdesi okuması. Daha önceki bir denetimde başarısız olan istekler sonraki denetimlere hiçbir zaman ulaşmaz.
İstek biçimi
Content-Type: application/json ile ve Authorization: Bearer <secret> ya da x-openclaw-webhook-secret: <secret> değerlerinden biriyle POST istekleri gönderin:
Desteklenen eylemler
Değişiklik yapan eylemler (
set_waiting, resume_flow, finish_flow, fail_flow, request_cancel) iyimser eşzamanlılık için flowId ve expectedRevision gerektirir; eski bir revizyon 409 revision_conflict döndürür.
create_flow
run_task
İzin verilen runtime değerleri: subagent, acp. startedAt, lastEventAt ve progressSummary yalnızca status, "running" olduğunda geçerlidir; bunların başka bir durumla gönderilmesi 400 invalid_request döndürür.
Yanıt biçimi
sessionKey değerini sızdıramaz. code değerleri arasında not_found, not_managed, revision_conflict, persist_failed, cancel_requested, cancel_pending, terminal, invalid_request, request_rejected ve bir değişiklik yukarıdaki adlandırılmış kodların kapsamadığı bir nedenle reddedildiğinde eyleme özgü geri dönüş kodları (mutation_rejected, create_rejected, task_not_created, cancel_rejected) bulunur.
İlgili
- Hook’lar - dahili, olay odaklı hook’lar ile bu HTTP tabanlı TaskFlow köprüsünün karşılaştırması
- Gateway Webhook’ları (
hooks.*yapılandırması) - ayrı bir genel Gateway HTTP uç noktası özelliğidir; bu plugin’in rotalarıyla aynı değildir - Plugin çalışma zamanı SDK’sı
- CLI Webhook’ları