fix: normalize generated mdx components
This commit is contained in:
parent
bbfd2dbce3
commit
4ffa42504c
@ -277,7 +277,7 @@ Cron هو المجدول المدمج في Gateway. وهو يحتفظ بالمه
|
||||
- أبقِ `hooks.allowRequestSessionKey=false` ما لم تكن تحتاج إلى جلسات يحددها المتصل.
|
||||
- إذا فعّلت `hooks.allowRequestSessionKey`، فاضبط أيضًا `hooks.allowedSessionKeyPrefixes` لتقييد أشكال مفاتيح الجلسات المسموح بها.
|
||||
- تُغلَّف حمولات الخطافات بحدود أمان افتراضيًا.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## تكامل Gmail PubSub
|
||||
|
||||
@ -379,7 +379,7 @@ openclaw cron edit <jobId> --clear-agent
|
||||
- إذا كان model مسموحًا به، يصل هذا provider/model المحدد بالضبط إلى تشغيل الوكيل المعزول.
|
||||
- إذا لم يكن مسموحًا به، يحذر cron ويعود إلى اختيار model الافتراضي/Model الوكيل الخاص بالمهمة.
|
||||
- لا تزال سلاسل fallback المهيأة تنطبق، لكن تجاوز `--model` العادي من دون قائمة fallback صريحة لكل مهمة لم يعد يتراجع إلى model الأساسي للوكيل بوصفه هدف إعادة محاولة إضافيًا صامتًا.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## الإعدادات
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ x-i18n:
|
||||
- احرص دائمًا على تعيين كلمة مرور لـ Webhook.
|
||||
- تكون مصادقة Webhook مطلوبة دائمًا. يرفض OpenClaw طلبات Webhook الخاصة بـ BlueBubbles ما لم تتضمن كلمة مرور/guid يطابق `channels.bluebubbles.password` (مثلًا `?password=<password>` أو `x-password`)، بغض النظر عن بنية loopback/proxy.
|
||||
- يتم التحقق من مصادقة كلمة المرور قبل قراءة/تحليل أجسام Webhook كاملة.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## إبقاء Messages.app نشطًا (إعدادات VM / بدون واجهة)
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ x-i18n:
|
||||
- يتم التحكم في **الوصول إلى الرسائل الخاصة DM** بواسطة `*.allowFrom`.
|
||||
- يتم التحكم في **الوصول إلى المجموعات** بواسطة `*.groupPolicy` + allowlists (`*.groups`, `*.groupAllowFrom`).
|
||||
- يتم التحكم في **تشغيل الردود** بواسطة تقييد الإشارات (`requireMention`, `/activation`).
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
التدفق السريع (ما الذي يحدث لرسالة المجموعة):
|
||||
|
||||
|
||||
@ -425,7 +425,7 @@ message action=send channel=mattermost target=channel:<channelId> buttons=[[{"te
|
||||
4. يجب أن يكون `id` الخاص بالإجراء **أبجديًا رقميًا فقط** (`[a-zA-Z0-9]`). تؤدي الواصلات والشرطات السفلية إلى كسر توجيه الإجراءات على جانب خادم Mattermost (فتعيد 404). أزلها قبل الاستخدام.
|
||||
5. يجب أن يطابق `context.action_id` قيمة `id` الخاصة بالزر حتى تعرض رسالة التأكيد اسم الزر (مثل "موافقة") بدلًا من معرّف خام.
|
||||
6. الحقل `context.action_id` مطلوب — إذ يعيد معالج التفاعل 400 عند غيابه.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**إنشاء رمز HMAC المميز**
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Model "provider/model" is not allowed. Use /model to list available models.
|
||||
- إضافة النموذج إلى `agents.defaults.models`، أو
|
||||
- مسح قائمة السماح (إزالة `agents.defaults.models`)، أو
|
||||
- اختيار نموذج من `/model list`.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
مثال على إعداد قائمة السماح:
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@ Heartbeat هي دور مجدول في الجلسة الرئيسية — وهي *
|
||||
- `main` (الافتراضي): الجلسة الرئيسية للوكيل.
|
||||
- مفتاح جلسة صريح (انسخه من `openclaw sessions --json` أو من [sessions CLI](/ar/cli/sessions)).
|
||||
- صيغ مفاتيح الجلسات: راجع [Sessions](/ar/concepts/session) و[Groups](/ar/channels/groups).
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last`: التسليم إلى آخر قناة خارجية مستخدمة.
|
||||
- قناة صريحة: أي قناة مضبوطة أو معرّف Plugin، مثل `discord` أو `matrix` أو `telegram` أو `whatsapp`.
|
||||
|
||||
@ -356,7 +356,7 @@ x-i18n:
|
||||
- يجب أن تكون الربوط الحساسة (الأسرار، ومفاتيح SSH، وبيانات اعتماد الخدمات) `:ro` ما لم تكن هناك حاجة مطلقة.
|
||||
- اجمعها مع `workspaceAccess: "ro"` إذا كنت تحتاج فقط إلى وصول قراءة إلى مساحة العمل؛ إذ تظل أوضاع الربط مستقلة.
|
||||
- راجع [Sandbox مقابل سياسة الأدوات مقابل Elevated](/ar/gateway/sandbox-vs-tool-policy-vs-elevated) لمعرفة كيفية تفاعل الربوط مع سياسة الأدوات وexec المرتفع.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## الصور والإعداد
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ x-i18n:
|
||||
- في إعدادات proxy على loopback في المضيف نفسه، استخدم بدلًا من ذلك مصادقة الرمز/كلمة المرور، أو مرّر الحركة عبر عنوان trusted proxy غير loopback يستطيع OpenClaw التحقق منه.
|
||||
- تظل عمليات نشر Control UI غير المعتمدة على loopback بحاجة إلى `gateway.controlUi.allowedOrigins` صريحة.
|
||||
- **تتغلب أدلة الترويسات المحوّلة على محلية loopback.** إذا وصل طلب على loopback لكنه يحمل ترويسات `X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto` تشير إلى مصدر غير محلي، فإن هذا الدليل يُسقط ادعاء المحلية على loopback. ويُعامل الطلب على أنه بعيد لأغراض الاقتران، ومصادقة trusted-proxy، وضبط هوية الجهاز في Control UI. وهذا يمنع proxy على loopback في المضيف نفسه من تمرير هوية الترويسات المحوّلة إلى مصادقة trusted-proxy.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### مرجع التهيئة
|
||||
|
||||
|
||||
@ -264,7 +264,7 @@ x-i18n:
|
||||
|
||||
- يأتي فهم الصور في `minimax` و`minimax-portal` من مزوّد الوسائط `MiniMax-VL-01` المملوك للـ Plugin.
|
||||
- لا يزال فهرس النص المضمّن في MiniMax يبدأ كنصي فقط؛ بينما تؤدي إدخالات `models.providers.minimax` الصريحة إلى إظهار مراجع دردشة M2.7 القادرة على الصور.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## إرشادات اختيار النموذج
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Plugin SDK هو العقد المعرّف بالأنواع بين Plugins وال
|
||||
- Plugin قناة؟ راجع [Plugins القنوات](/ar/plugins/sdk-channel-plugins).
|
||||
- Plugin مزود؟ راجع [Plugins المزودين](/ar/plugins/sdk-provider-plugins).
|
||||
- Plugin أداة أو خطاف دورة حياة؟ راجع [خطافات Plugin](/ar/plugins/hooks).
|
||||
</Tip>
|
||||
</Tip>
|
||||
|
||||
## اصطلاح الاستيراد
|
||||
|
||||
|
||||
@ -326,7 +326,7 @@ app-server الأصلي** لربط/التحكم في محادثات Codex عند
|
||||
- **Forum topic في Telegram:** `match.channel="telegram"` + `match.peer.id="<chatId>:topic:<topicId>"`
|
||||
- **رسالة مباشرة/مجموعة في BlueBubbles:** `match.channel="bluebubbles"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. ويفضَّل `chat_id:*` أو `chat_identifier:*` للروابط المستقرة للمجموعات.
|
||||
- **رسالة مباشرة/مجموعة في iMessage:** `match.channel="imessage"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. ويفضَّل `chat_id:*` للروابط المستقرة للمجموعات.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="bindings[].agentId" type="string">
|
||||
معرّف وكيل OpenClaw المالك.
|
||||
</ParamField>
|
||||
@ -715,7 +715,7 @@ OpenClaw sandbox.
|
||||
- سياسة sandbox في OpenClaw **لا** تغلف تنفيذ ACP harness.
|
||||
- لا يزال OpenClaw يفرض بوابات ميزات ACP، والوكلاء المسموح بهم، وملكية الجلسة، وروابط القنوات، وسياسة التسليم في Gateway.
|
||||
- استخدم `runtime: "subagent"` للأعمال الأصلية الخاصة بـ OpenClaw التي تُفرض عليها sandbox.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
القيود الحالية:
|
||||
|
||||
|
||||
@ -278,7 +278,7 @@ Keep hook endpoints behind loopback, tailnet, or trusted reverse proxy.
|
||||
- Keep `hooks.allowRequestSessionKey=false` unless you require caller-selected sessions.
|
||||
- If you enable `hooks.allowRequestSessionKey`, also set `hooks.allowedSessionKeyPrefixes` to constrain allowed session key shapes.
|
||||
- Hook payloads are wrapped with safety boundaries by default.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Gmail PubSub integration
|
||||
|
||||
@ -382,7 +382,7 @@ Model override note:
|
||||
- Configured fallback chains still apply because cron `--model` is a job primary, not a session `/model` override.
|
||||
- Payload `fallbacks` replaces configured fallbacks for that job; `fallbacks: []` disables fallback and makes the run strict.
|
||||
- A plain `--model` with no explicit or configured fallback list does not fall through to the agent primary as a silent extra retry target.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Configuration
|
||||
|
||||
|
||||
@ -66,7 +66,7 @@ Current OpenClaw releases bundle BlueBubbles, so normal packaged builds do not n
|
||||
- Always set a webhook password.
|
||||
- Webhook authentication is always required. OpenClaw rejects BlueBubbles webhook requests unless they include a password/guid that matches `channels.bluebubbles.password` (for example `?password=<password>` or `x-password`), regardless of loopback/proxy topology.
|
||||
- Password authentication is checked before reading/parsing full webhook bodies.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Keeping Messages.app alive (VM / headless setups)
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ Translation: allowlisted senders can trigger OpenClaw by mentioning it.
|
||||
- **DM access** is controlled by `*.allowFrom`.
|
||||
- **Group access** is controlled by `*.groupPolicy` + allowlists (`*.groups`, `*.groupAllowFrom`).
|
||||
- **Reply triggering** is controlled by mention gating (`requireMention`, `/activation`).
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
Quick flow (what happens to a group message):
|
||||
|
||||
|
||||
@ -418,7 +418,7 @@ External scripts and webhooks can post buttons directly via the Mattermost REST
|
||||
4. Action `id` must be **alphanumeric only** (`[a-zA-Z0-9]`). Hyphens and underscores break Mattermost's server-side action routing (returns 404). Strip them before use.
|
||||
5. `context.action_id` must match the button's `id` so the confirmation message shows the button name (e.g., "Approve") instead of a raw ID.
|
||||
6. `context.action_id` is required — the interaction handler returns 400 without it.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**HMAC token generation**
|
||||
|
||||
|
||||
@ -127,7 +127,7 @@ This happens **before** a normal reply is generated, so the message can feel lik
|
||||
- Add the model to `agents.defaults.models`, or
|
||||
- Clear the allowlist (remove `agents.defaults.models`), or
|
||||
- Pick a model from `/model list`.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Example allowlist config:
|
||||
|
||||
|
||||
@ -277,7 +277,7 @@ Halten Sie Hook-Endpunkte hinter loopback, tailnet oder einem vertrauenswürdige
|
||||
- Belassen Sie `hooks.allowRequestSessionKey=false`, sofern Sie keine vom Aufrufer ausgewählten Sitzungen benötigen.
|
||||
- Wenn Sie `hooks.allowRequestSessionKey` aktivieren, setzen Sie zusätzlich `hooks.allowedSessionKeyPrefixes`, um zulässige Formen von Sitzungsschlüsseln einzuschränken.
|
||||
- Hook-Payloads werden standardmäßig mit Sicherheitsgrenzen umschlossen.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Gmail-PubSub-Integration
|
||||
|
||||
@ -379,7 +379,7 @@ Hinweis zum Modell-Override:
|
||||
- Wenn das Modell erlaubt ist, wird genau dieser Provider/dieses Modell an den isolierten Agent-Lauf übergeben.
|
||||
- Wenn es nicht erlaubt ist, warnt Cron und greift auf die Modellauswahl des Jobs für Agent/Standard zurück.
|
||||
- Konfigurierte Fallback-Ketten gelten weiterhin, aber ein einfaches `--model`-Override ohne explizite Fallback-Liste pro Job fällt nicht länger stillschweigend auf das primäre Agent-Modell als zusätzliches Wiederholungsziel zurück.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Konfiguration
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ Aktuelle OpenClaw-Releases bündeln BlueBubbles, daher benötigen normale paketi
|
||||
- Legen Sie immer ein Webhook-Passwort fest.
|
||||
- Webhook-Authentifizierung ist immer erforderlich. OpenClaw lehnt BlueBubbles-Webhook-Anfragen ab, sofern sie kein Passwort/keine GUID enthalten, das/die mit `channels.bluebubbles.password` übereinstimmt (zum Beispiel `?password=<password>` oder `x-password`), unabhängig von der local loopback-/Proxy-Topologie.
|
||||
- Die Passwortauthentifizierung wird geprüft, bevor vollständige Webhook-Bodys gelesen/geparst werden.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Messages.app aktiv halten (VM-/Headless-Setups)
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ Standardverhalten:
|
||||
- **DM-Zugriff** wird durch `*.allowFrom` gesteuert.
|
||||
- **Gruppenzugriff** wird durch `*.groupPolicy` + Allowlists (`*.groups`, `*.groupAllowFrom`) gesteuert.
|
||||
- **Auslösen von Antworten** wird durch Erwähnungssteuerung (`requireMention`, `/activation`) gesteuert.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
Schneller Ablauf (was mit einer Gruppennachricht passiert):
|
||||
|
||||
|
||||
@ -425,7 +425,7 @@ Externe Skripte und Webhooks können Schaltflächen direkt über die Mattermost-
|
||||
4. Die Aktions-`id` darf **nur alphanumerisch** sein (`[a-zA-Z0-9]`). Bindestriche und Unterstriche brechen das serverseitige Aktions-Routing von Mattermost (liefert 404). Entfernen Sie sie vor der Verwendung.
|
||||
5. `context.action_id` muss mit der `id` der Schaltfläche übereinstimmen, damit in der Bestätigungsnachricht der Schaltflächenname (z. B. „Approve“) statt einer rohen ID angezeigt wird.
|
||||
6. `context.action_id` ist erforderlich — der Interaktions-Handler gibt ohne diesen Wert 400 zurück.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**HMAC-Token-Erzeugung**
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Dies geschieht **bevor** eine normale Antwort erzeugt wird, daher kann es sich s
|
||||
- Das Modell zu `agents.defaults.models` hinzuzufügen, oder
|
||||
- die Allowlist zu leeren (`agents.defaults.models` entfernen), oder
|
||||
- ein Modell aus `/model list` auszuwählen.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Beispiel für eine Allowlist-Konfiguration:
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@ Verwenden Sie `accountId`, um ein bestimmtes Konto in Multi-Account-Kanälen wie
|
||||
- `main` (Standard): Hauptsitzung des Agenten.
|
||||
- Expliziter Sitzungsschlüssel (kopieren aus `openclaw sessions --json` oder der [Sessions-CLI](/de/cli/sessions)).
|
||||
- Formate von Sitzungsschlüsseln: siehe [Sitzungen](/de/concepts/session) und [Gruppen](/de/channels/groups).
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last`: an den zuletzt verwendeten externen Kanal zustellen.
|
||||
- expliziter Kanal: jeder konfigurierte Kanal oder jede Plugin-ID, zum Beispiel `discord`, `matrix`, `telegram` oder `whatsapp`.
|
||||
|
||||
@ -356,7 +356,7 @@ Beispiel (schreibgeschützte Quelle + ein zusätzliches Datenverzeichnis):
|
||||
- Sensitive Mounts (Secrets, SSH-Schlüssel, Service-Zugangsdaten) sollten `:ro` sein, sofern nicht absolut notwendig.
|
||||
- Kombinieren Sie dies mit `workspaceAccess: "ro"`, wenn Sie nur Lesezugriff auf den Workspace benötigen; Bind-Modi bleiben unabhängig.
|
||||
- Siehe [Sandbox vs Tool Policy vs Elevated](/de/gateway/sandbox-vs-tool-policy-vs-elevated), wie Binds mit Tool-Richtlinie und erhöhtem Exec zusammenwirken.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Images und Setup
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ Auswirkungen:
|
||||
- Für Proxy-Setups auf demselben Host mit Loopback verwenden Sie stattdessen Token-/Passwort-Authentifizierung oder leiten über eine vertrauenswürdige Proxy-Adresse ohne Loopback, die OpenClaw verifizieren kann.
|
||||
- Nicht-Loopback-Deployments der Control UI benötigen weiterhin explizites `gateway.controlUi.allowedOrigins`.
|
||||
- **Belege aus Forwarded-Headern überschreiben die Loopback-Lokalität.** Wenn eine Anfrage über Loopback eingeht, aber `X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto`-Header trägt, die auf einen nicht lokalen Ursprung zeigen, widerlegen diese Belege die Behauptung der Loopback-Lokalität. Die Anfrage wird für Pairing, trusted-proxy-Authentifizierung und das Gate für Geräteidentität der Control UI als entfernt behandelt. Das verhindert, dass ein Loopback-Proxy auf demselben Host die Identität aus Forwarded-Headern in die trusted-proxy-Authentifizierung einschleust.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### Konfigurationsreferenz
|
||||
|
||||
|
||||
@ -264,7 +264,7 @@ Für CLI-Einträge sollten Sie `capabilities` **explizit setzen**, um überrasch
|
||||
|
||||
- `minimax`- und `minimax-portal`-Bildverständnis stammt vom Plugin-eigenen Medienprovider `MiniMax-VL-01`.
|
||||
- Der gebündelte MiniMax-Textkatalog beginnt weiterhin nur mit Text; explizite Einträge `models.providers.minimax` materialisieren bildfähige M2.7-Chat-Referenzen.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Leitfaden zur Modellauswahl
|
||||
|
||||
|
||||
@ -428,7 +428,7 @@ Auswirkungen:
|
||||
- ein natives Plugin kann Tools, Netzwerk-Handler, Hooks und Dienste registrieren
|
||||
- ein Fehler in einem nativen Plugin kann das Gateway zum Absturz bringen oder destabilisieren
|
||||
- ein bösartiges natives Plugin ist gleichbedeutend mit beliebiger Codeausführung innerhalb des OpenClaw-Prozesses
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Kompatible Bundles sind standardmäßig sicherer, weil OpenClaw sie derzeit als Metadaten-/Inhaltspakete behandelt. In aktuellen Releases bedeutet das vor allem gebündelte Skills.
|
||||
|
||||
@ -443,7 +443,7 @@ Bei gebündelten Workspace-Paketnamen sollte die Plugin-ID standardmäßig im np
|
||||
- Ein Workspace-Plugin mit derselben ID wie ein gebündeltes Plugin überschattet bewusst die gebündelte Kopie, wenn dieses Workspace-Plugin aktiviert/in der Allowlist ist.
|
||||
- Das ist normal und nützlich für lokale Entwicklung, Patch-Tests und Hotfixes.
|
||||
- Das Vertrauen in gebündelte Plugins wird aus dem Source-Snapshot aufgelöst — dem Manifest und dem Code auf Datenträger zur Ladezeit — und nicht aus Installationsmetadaten. Ein beschädigter oder ersetzter Installationseintrag kann die Vertrauensoberfläche eines gebündelten Plugins nicht still über das hinaus erweitern, was der tatsächliche Source-Code beansprucht.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Export-Grenze
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Referenz dafür, **was importiert werden soll** und **was Sie registrieren könn
|
||||
- Channel-Plugin? Siehe [Channel plugins](/de/plugins/sdk-channel-plugins).
|
||||
- Provider-Plugin? Siehe [Provider plugins](/de/plugins/sdk-provider-plugins).
|
||||
- Tool- oder Lifecycle-Hook-Plugin? Siehe [Plugin hooks](/de/plugins/hooks).
|
||||
</Tip>
|
||||
</Tip>
|
||||
|
||||
## Import-Konvention
|
||||
|
||||
|
||||
@ -328,7 +328,7 @@ Für nicht flüchtige Workflows konfiguriere persistente ACP-Bindungen in
|
||||
- **Telegram-Forum-Thema:** `match.channel="telegram"` + `match.peer.id="<chatId>:topic:<topicId>"`
|
||||
- **BlueBubbles DM/Gruppe:** `match.channel="bluebubbles"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Bevorzuge `chat_id:*` oder `chat_identifier:*` für stabile Gruppenbindungen.
|
||||
- **iMessage DM/Gruppe:** `match.channel="imessage"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Bevorzuge `chat_id:*` für stabile Gruppenbindungen.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="bindings[].agentId" type="string">
|
||||
Die besitzende OpenClaw-Agent-ID.
|
||||
</ParamField>
|
||||
@ -718,7 +718,7 @@ OpenClaw-Sandbox.
|
||||
- Die Sandbox-Richtlinie von OpenClaw **umschließt** die Ausführung von ACP-Harnesses **nicht**.
|
||||
- OpenClaw erzwingt weiterhin ACP-Feature-Gates, erlaubte Agents, Sitzungsbesitz, Kanalbindungen und die Zustellungsrichtlinie des Gateways.
|
||||
- Verwende `runtime: "subagent"` für Sandbox-erzwungene OpenClaw-native Arbeit.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Aktuelle Einschränkungen:
|
||||
|
||||
|
||||
@ -134,7 +134,7 @@ Beispielschema:
|
||||
- `deny` — blockieren.
|
||||
- `allowlist` — nur erlauben, wenn die Allowlist passt.
|
||||
- `full` — erlauben.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
|
||||
### `tools.exec.strictInlineEval`
|
||||
|
||||
@ -180,7 +180,7 @@ YOLO ist das Standardverhalten des Hosts, sofern Sie es nicht explizit verschär
|
||||
- YOLO wählt **wie** Host-Exec genehmigt wird: `security=full` plus `ask=off`.
|
||||
- Im YOLO-Modus fügt OpenClaw **keine** separate heuristische Genehmigungssperre für Befehlsverschleierung oder zusätzliche Ebene zur Skript-Vorprüfung auf Ablehnung über die konfigurierte Host-Exec-Richtlinie hinaus hinzu.
|
||||
- `auto` macht Gateway-Routing nicht zu einem kostenlosen Override aus einer Sandbox-Sitzung heraus. Eine Anfrage pro Aufruf mit `host=node` ist von `auto` aus erlaubt; `host=gateway` ist von `auto` aus nur erlaubt, wenn keine Sandbox-Laufzeit aktiv ist. Für einen stabilen Standardwert ohne `auto` setzen Sie `tools.exec.host` oder verwenden Sie `/exec host=...` explizit.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
CLI-gestützte Provider, die ihren eigenen nicht interaktiven Berechtigungsmodus
|
||||
bereitstellen, können dieser Richtlinie folgen. Claude CLI fügt
|
||||
@ -258,7 +258,7 @@ EOF
|
||||
- `openclaw exec-policy` synchronisiert keine Node-Genehmigungen.
|
||||
- `openclaw exec-policy set --host node` wird abgelehnt.
|
||||
- Exec-Genehmigungen für Nodes werden zur Laufzeit vom Node abgerufen, daher müssen nodegerichtete Aktualisierungen `openclaw approvals --node ...` verwenden.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
### Abkürzung nur für die Sitzung
|
||||
|
||||
|
||||
@ -277,7 +277,7 @@ Mantén los endpoints de hook detrás de loopback, tailnet o un proxy inverso de
|
||||
- Mantén `hooks.allowRequestSessionKey=false` a menos que necesites sesiones seleccionadas por la persona que llama.
|
||||
- Si habilitas `hooks.allowRequestSessionKey`, establece también `hooks.allowedSessionKeyPrefixes` para restringir las formas permitidas de clave de sesión.
|
||||
- Las cargas útiles de hook se envuelven con límites de seguridad de forma predeterminada.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Integración de Gmail PubSub
|
||||
|
||||
@ -379,7 +379,7 @@ Nota sobre la anulación de modelo:
|
||||
- Si el modelo está permitido, ese proveedor/modelo exacto llega a la ejecución aislada del agente.
|
||||
- Si no está permitido, cron emite una advertencia y vuelve a la selección de modelo predeterminada/del agente del trabajo.
|
||||
- Las cadenas de respaldo configuradas siguen aplicándose, pero una anulación simple de `--model` sin una lista explícita de respaldo por trabajo ya no pasa al principal del agente como un destino adicional silencioso de reintento.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Configuración
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ Las versiones actuales de OpenClaw incluyen BlueBubbles, por lo que las compilac
|
||||
- Establece siempre una contraseña para el Webhook.
|
||||
- La autenticación del Webhook siempre es obligatoria. OpenClaw rechaza las solicitudes de Webhook de BlueBubbles a menos que incluyan una contraseña/guid que coincida con `channels.bluebubbles.password` (por ejemplo `?password=<password>` o `x-password`), independientemente de la topología de loopback/proxy.
|
||||
- La autenticación por contraseña se verifica antes de leer/analizar los cuerpos completos del Webhook.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Mantener Messages.app activa (configuraciones de VM / sin interfaz)
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ Traducción: los remitentes permitidos en la lista pueden activar OpenClaw menci
|
||||
- El **acceso por DM** se controla con `*.allowFrom`.
|
||||
- El **acceso a grupos** se controla con `*.groupPolicy` + listas de permitidos (`*.groups`, `*.groupAllowFrom`).
|
||||
- La **activación de respuestas** se controla con el control por menciones (`requireMention`, `/activation`).
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
Flujo rápido (qué ocurre con un mensaje de grupo):
|
||||
|
||||
|
||||
@ -425,7 +425,7 @@ Los scripts externos y Webhooks pueden publicar botones directamente mediante la
|
||||
4. El `id` de la acción debe ser **solo alfanumérico** (`[a-zA-Z0-9]`). Los guiones y guiones bajos rompen el enrutamiento de acciones del lado del servidor de Mattermost (devuelve 404). Elimínalos antes de usarlo.
|
||||
5. `context.action_id` debe coincidir con el `id` del botón para que el mensaje de confirmación muestre el nombre del botón (p. ej., "Approve") en lugar de un ID sin procesar.
|
||||
6. `context.action_id` es obligatorio; el controlador de interacciones devuelve 400 sin él.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**Generación de token HMAC**
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Esto sucede **antes** de que se genere una respuesta normal, por lo que el mensa
|
||||
- Agregar el modelo a `agents.defaults.models`, o
|
||||
- Limpiar la lista de permitidos (quitar `agents.defaults.models`), o
|
||||
- Elegir un modelo desde `/model list`.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Ejemplo de configuración de lista de permitidos:
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@ Usa `accountId` para dirigir a una cuenta específica en canales multicuenta com
|
||||
- `main` (predeterminado): sesión principal del agente.
|
||||
- Clave de sesión explícita (copia desde `openclaw sessions --json` o la [CLI de sesiones](/es/cli/sessions)).
|
||||
- Formatos de clave de sesión: consulta [Sesiones](/es/concepts/session) y [Grupos](/es/channels/groups).
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last`: entrega al último canal externo usado.
|
||||
- canal explícito: cualquier canal configurado o id de Plugin, por ejemplo `discord`, `matrix`, `telegram` o `whatsapp`.
|
||||
|
||||
@ -356,7 +356,7 @@ Ejemplo (código fuente de solo lectura + un directorio de datos adicional):
|
||||
- Los montajes sensibles (secretos, claves SSH, credenciales de servicio) deberían ser `:ro` salvo que sea absolutamente necesario.
|
||||
- Combínalo con `workspaceAccess: "ro"` si solo necesitas acceso de lectura al espacio de trabajo; los modos de bind siguen siendo independientes.
|
||||
- Consulta [Sandbox vs Tool Policy vs Elevated](/es/gateway/sandbox-vs-tool-policy-vs-elevated) para ver cómo interactúan los binds con la política de herramientas y exec elevado.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Imágenes y configuración
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ Implicaciones:
|
||||
- Para configuraciones de proxy loopback en el mismo host, usa en su lugar autenticación por token/contraseña, o enruta a través de una dirección de proxy de confianza no loopback que OpenClaw pueda verificar.
|
||||
- Los despliegues de UI de control no loopback siguen necesitando `gateway.controlUi.allowedOrigins` explícito.
|
||||
- **La evidencia de cabeceras reenviadas sobrescribe la localidad loopback.** Si una solicitud llega por loopback pero lleva cabeceras `X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto` que apuntan a un origen no local, esa evidencia invalida la afirmación de localidad loopback. La solicitud se trata como remota para emparejamiento, autenticación trusted-proxy y compuerta de identidad de dispositivo de la UI de control. Esto evita que un proxy loopback en el mismo host blanquee identidad de cabeceras reenviadas hacia la autenticación trusted-proxy.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### Referencia de configuración
|
||||
|
||||
|
||||
@ -264,7 +264,7 @@ Para entradas de CLI, **establece `capabilities` explícitamente** para evitar c
|
||||
|
||||
- La comprensión de imágenes de `minimax` y `minimax-portal` proviene del proveedor multimedia `MiniMax-VL-01` propiedad del Plugin.
|
||||
- El catálogo de texto incluido de MiniMax sigue empezando como solo texto; las entradas explícitas `models.providers.minimax` materializan referencias de chat M2.7 con capacidad de imagen.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Guía de selección de modelo
|
||||
|
||||
|
||||
@ -428,7 +428,7 @@ Implicaciones:
|
||||
- un Plugin nativo puede registrar herramientas, controladores de red, hooks y servicios
|
||||
- un fallo de un Plugin nativo puede hacer caer o desestabilizar el gateway
|
||||
- un Plugin nativo malicioso equivale a ejecución arbitraria de código dentro del proceso de OpenClaw
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Los bundles compatibles son más seguros por defecto porque OpenClaw actualmente los trata como paquetes de metadatos/contenido. En las versiones actuales, eso significa sobre todo Skills incluidas.
|
||||
|
||||
@ -443,7 +443,7 @@ Para nombres de paquetes incluidos del workspace, mantén el id del Plugin ancla
|
||||
- Un Plugin del workspace con el mismo id que un Plugin incluido sombrea intencionadamente la copia incluida cuando ese Plugin del workspace está habilitado/en allowlist.
|
||||
- Esto es normal y útil para desarrollo local, pruebas de parches y hotfixes.
|
||||
- La confianza de Plugin incluido se resuelve a partir de la instantánea de la fuente —el manifiesto y el código en disco en el momento de la carga— y no a partir de metadatos de instalación. Un registro de instalación corrupto o sustituido no puede ampliar silenciosamente la superficie de confianza de un Plugin incluido más allá de lo que afirma la fuente real.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Límite de exportación
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ referencia de **qué importar** y **qué puedes registrar**.
|
||||
- ¿Plugin de canal? Consulta [Plugins de canal](/es/plugins/sdk-channel-plugins).
|
||||
- ¿Plugin de proveedor? Consulta [Plugins de proveedor](/es/plugins/sdk-provider-plugins).
|
||||
- ¿Plugin de herramienta o hook de ciclo de vida? Consulta [Hooks de plugins](/es/plugins/hooks).
|
||||
</Tip>
|
||||
</Tip>
|
||||
|
||||
## Convención de importación
|
||||
|
||||
|
||||
@ -326,7 +326,7 @@ las entradas `bindings[]` de nivel superior.
|
||||
- **Tema de foro de Telegram:** `match.channel="telegram"` + `match.peer.id="<chatId>:topic:<topicId>"`
|
||||
- **DM/grupo de BlueBubbles:** `match.channel="bluebubbles"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Prefiere `chat_id:*` o `chat_identifier:*` para vinculaciones estables de grupo.
|
||||
- **DM/grupo de iMessage:** `match.channel="imessage"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Prefiere `chat_id:*` para vinculaciones estables de grupo.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="bindings[].agentId" type="string">
|
||||
El ID del agente propietario de OpenClaw.
|
||||
</ParamField>
|
||||
@ -711,7 +711,7 @@ sandbox de OpenClaw.
|
||||
- La política de sandbox de OpenClaw **no** encapsula la ejecución del arnés ACP.
|
||||
- OpenClaw sigue aplicando puertas de funciones de ACP, agentes permitidos, propiedad de la sesión, vinculaciones de canal y política de entrega del Gateway.
|
||||
- Usa `runtime: "subagent"` para trabajo nativo de OpenClaw con sandbox obligatorio.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Limitaciones actuales:
|
||||
|
||||
|
||||
@ -142,7 +142,7 @@ Ejemplo de esquema:
|
||||
- `deny` — bloquea.
|
||||
- `allowlist` — permite solo si la lista de permitidos coincide.
|
||||
- `full` — permite.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
|
||||
### `tools.exec.strictInlineEval`
|
||||
|
||||
@ -189,7 +189,7 @@ YOLO es el comportamiento predeterminado del host salvo que lo endurezcas explí
|
||||
- YOLO elige **cómo** se aprueba el exec del host: `security=full` más `ask=off`.
|
||||
- En modo YOLO, OpenClaw **no** añade una compuerta separada de aprobación heurística de ofuscación de comandos ni una capa de rechazo previo de scripts encima de la política configurada de exec del host.
|
||||
- `auto` no hace que el enrutamiento al gateway sea una sobrescritura libre desde una sesión en sandbox. Una solicitud por llamada `host=node` está permitida desde `auto`; `host=gateway` solo se permite desde `auto` cuando no hay ningún runtime de sandbox activo. Para un valor predeterminado estable que no sea auto, establece `tools.exec.host` o usa `/exec host=...` explícitamente.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Los proveedores respaldados por CLI que exponen su propio modo de permisos no interactivo
|
||||
pueden seguir esta política. Claude CLI añade
|
||||
@ -267,7 +267,7 @@ EOF
|
||||
- `openclaw exec-policy` no sincroniza aprobaciones del nodo.
|
||||
- `openclaw exec-policy set --host node` se rechaza.
|
||||
- Las aprobaciones de exec del nodo se obtienen del nodo en runtime, por lo que las actualizaciones dirigidas al nodo deben usar `openclaw approvals --node ...`.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
### Atajo solo de sesión
|
||||
|
||||
|
||||
@ -277,7 +277,7 @@ Gardez les endpoints de hook derrière loopback, tailnet ou un proxy inverse de
|
||||
- Conservez `hooks.allowRequestSessionKey=false`, sauf si vous avez besoin de sessions choisies par l'appelant.
|
||||
- Si vous activez `hooks.allowRequestSessionKey`, définissez aussi `hooks.allowedSessionKeyPrefixes` pour contraindre les formes autorisées des clés de session.
|
||||
- Les charges utiles des hooks sont enveloppées dans des limites de sécurité par défaut.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Intégration Gmail PubSub
|
||||
|
||||
@ -379,7 +379,7 @@ Remarque sur la surcharge de modèle :
|
||||
- Si le modèle est autorisé, ce fournisseur/modèle exact est transmis à l'exécution de l'agent isolé.
|
||||
- S'il n'est pas autorisé, cron émet un avertissement et revient à la sélection du modèle d'agent/par défaut de la tâche.
|
||||
- Les chaînes de secours configurées s'appliquent toujours, mais une simple surcharge `--model` sans liste de secours explicite par tâche ne bascule plus vers le modèle principal de l'agent comme cible de nouvelle tentative silencieuse supplémentaire.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Configuration
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ Les versions actuelles d’OpenClaw intègrent BlueBubbles, donc les builds empa
|
||||
- Définissez toujours un mot de passe de Webhook.
|
||||
- L’authentification du Webhook est toujours requise. OpenClaw rejette les requêtes de Webhook BlueBubbles sauf si elles incluent un mot de passe/guid correspondant à `channels.bluebubbles.password` (par exemple `?password=<password>` ou `x-password`), quelle que soit la topologie loopback/proxy.
|
||||
- L’authentification par mot de passe est vérifiée avant la lecture/l’analyse complète des corps de Webhook.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Maintenir Messages.app actif (configurations VM / headless)
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ En clair : les expéditeurs autorisés par liste d’autorisation peuvent décle
|
||||
- L’**accès aux DM** est contrôlé par `*.allowFrom`.
|
||||
- L’**accès aux groupes** est contrôlé par `*.groupPolicy` + les listes d’autorisation (`*.groups`, `*.groupAllowFrom`).
|
||||
- Le **déclenchement des réponses** est contrôlé par le filtrage par mention (`requireMention`, `/activation`).
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
Flux rapide (ce qui se passe pour un message de groupe) :
|
||||
|
||||
|
||||
@ -425,7 +425,7 @@ Les scripts externes et Webhooks peuvent publier des boutons directement via l
|
||||
4. L’`id` d’action doit être **strictement alphanumérique** (`[a-zA-Z0-9]`). Les tirets et underscores cassent le routage des actions côté serveur de Mattermost (renvoie 404). Supprimez-les avant utilisation.
|
||||
5. `context.action_id` doit correspondre à l’`id` du bouton afin que le message de confirmation affiche le nom du bouton (par ex. « Approve ») au lieu d’un ID brut.
|
||||
6. `context.action_id` est requis — le gestionnaire d’interaction renvoie 400 sans lui.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**Génération du token HMAC**
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Cela se produit **avant** qu'une réponse normale ne soit générée, donc le me
|
||||
- Ajouter le modèle à `agents.defaults.models`, ou
|
||||
- Effacer la liste d'autorisation (supprimer `agents.defaults.models`), ou
|
||||
- Choisir un modèle depuis `/model list`.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Exemple de configuration de liste d'autorisation :
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@ Utilisez `accountId` pour cibler un compte spécifique sur des canaux multi-comp
|
||||
- `main` (par défaut) : session principale de l’agent.
|
||||
- Clé de session explicite (copiez-la depuis `openclaw sessions --json` ou la [CLI sessions](/fr/cli/sessions)).
|
||||
- Formats de clé de session : voir [Sessions](/fr/concepts/session) et [Groupes](/fr/channels/groups).
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last` : livrer au dernier canal externe utilisé.
|
||||
- canal explicite : tout canal configuré ou identifiant de Plugin, par exemple `discord`, `matrix`, `telegram` ou `whatsapp`.
|
||||
|
||||
@ -356,7 +356,7 @@ Exemple (source en lecture seule + répertoire de données supplémentaire) :
|
||||
- Les montages sensibles (secrets, clés SSH, identifiants de service) devraient être en `:ro` sauf nécessité absolue.
|
||||
- Combinez avec `workspaceAccess: "ro"` si vous n’avez besoin que d’un accès en lecture à l’espace de travail ; les modes de montage bind restent indépendants.
|
||||
- Voir [Sandbox vs Tool Policy vs Elevated](/fr/gateway/sandbox-vs-tool-policy-vs-elevated) pour savoir comment les montages bind interagissent avec la politique d’outils et `exec` élevé.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Images et configuration
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ Implications :
|
||||
- Pour les configurations de proxy loopback sur le même hôte, utilisez plutôt l’authentification par jeton/mot de passe, ou faites transiter par une adresse de proxy de confiance hors loopback qu’OpenClaw peut vérifier.
|
||||
- Les déploiements Control UI hors loopback nécessitent toujours des `gateway.controlUi.allowedOrigins` explicites.
|
||||
- **Les preuves d’en-têtes forwarded priment sur la localité loopback.** Si une requête arrive sur loopback mais transporte des en-têtes `X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto` pointant vers une origine non locale, cette preuve invalide la revendication de localité loopback. La requête est traitée comme distante pour l’appairage, l’authentification trusted-proxy et le contrôle d’identité d’appareil de la Control UI. Cela empêche un proxy loopback sur le même hôte de blanchir une identité d’en-tête forwarded en authentification trusted-proxy.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### Référence de configuration
|
||||
|
||||
|
||||
@ -264,7 +264,7 @@ Pour les entrées CLI, **définissez `capabilities` explicitement** pour éviter
|
||||
|
||||
- La compréhension d’image `minimax` et `minimax-portal` provient du provider média `MiniMax-VL-01` détenu par le Plugin.
|
||||
- Le catalogue texte MiniMax intégré démarre encore en text-only ; des entrées explicites `models.providers.minimax` matérialisent des références de chat M2.7 compatibles image.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Recommandations de sélection de modèle
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ référence pour **quoi importer** et **ce que vous pouvez enregistrer**.
|
||||
- Plugin de canal ? Voir [Plugins de canal](/fr/plugins/sdk-channel-plugins).
|
||||
- Plugin de fournisseur ? Voir [Plugins de fournisseur](/fr/plugins/sdk-provider-plugins).
|
||||
- Plugin d’outil ou de Hook de cycle de vie ? Voir [Plugin hooks](/fr/plugins/hooks).
|
||||
</Tip>
|
||||
</Tip>
|
||||
|
||||
## Convention d’import
|
||||
|
||||
|
||||
@ -325,7 +325,7 @@ des entrées `bindings[]` de niveau supérieur.
|
||||
- **Sujet de forum Telegram :** `match.channel="telegram"` + `match.peer.id="<chatId>:topic:<topicId>"`
|
||||
- **DM/groupe BlueBubbles :** `match.channel="bluebubbles"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Préférez `chat_id:*` ou `chat_identifier:*` pour des liaisons de groupe stables.
|
||||
- **DM/groupe iMessage :** `match.channel="imessage"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Préférez `chat_id:*` pour des liaisons de groupe stables.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="bindings[].agentId" type="string">
|
||||
L'ID d'agent OpenClaw propriétaire.
|
||||
</ParamField>
|
||||
@ -714,7 +714,7 @@ sandbox OpenClaw.
|
||||
- La politique sandbox d'OpenClaw **n'encapsule pas** l'exécution du harness ACP.
|
||||
- OpenClaw applique toujours les garde-fous de fonctionnalité ACP, les agents autorisés, la propriété des sessions, les liaisons de canal et la politique de livraison Gateway.
|
||||
- Utilisez `runtime: "subagent"` pour un travail natif OpenClaw avec sandbox appliqué.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Limites actuelles :
|
||||
|
||||
|
||||
@ -142,7 +142,7 @@ Exemple de schéma :
|
||||
- `deny` — bloquer.
|
||||
- `allowlist` — autoriser uniquement si la liste d’autorisation correspond.
|
||||
- `full` — autoriser.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
|
||||
### `tools.exec.strictInlineEval`
|
||||
|
||||
@ -188,7 +188,7 @@ YOLO est le comportement hôte par défaut sauf si vous le resserrez expliciteme
|
||||
- YOLO choisit **comment** l’exec hôte est approuvé : `security=full` plus `ask=off`.
|
||||
- En mode YOLO, OpenClaw **n’ajoute pas** de gate d’approbation heuristique séparée contre l’obfuscation de commande ni de couche de rejet preflight de script par-dessus la politique configurée d’exec hôte.
|
||||
- `auto` ne fait pas du routage gateway une dérogation gratuite depuis une session sandboxée. Une requête `host=node` par appel est autorisée depuis `auto` ; `host=gateway` n’est autorisé depuis `auto` que lorsqu’aucun runtime sandbox n’est actif. Pour une valeur par défaut stable non-`auto`, définissez `tools.exec.host` ou utilisez explicitement `/exec host=...`.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Les fournisseurs soutenus par CLI qui exposent leur propre mode de permission non interactif
|
||||
peuvent suivre cette politique. Claude CLI ajoute
|
||||
@ -266,7 +266,7 @@ EOF
|
||||
- `openclaw exec-policy` ne synchronise pas les approbations du Node.
|
||||
- `openclaw exec-policy set --host node` est rejeté.
|
||||
- Les approbations exec du Node sont récupérées depuis le Node à l’exécution, donc les mises à jour ciblant le Node doivent utiliser `openclaw approvals --node ...`.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
### Raccourci session uniquement
|
||||
|
||||
|
||||
@ -235,7 +235,7 @@ Use `accountId` to target a specific account on multi-account channels like Tele
|
||||
- `main` (default): agent main session.
|
||||
- Explicit session key (copy from `openclaw sessions --json` or the [sessions CLI](/cli/sessions)).
|
||||
- Session key formats: see [Sessions](/concepts/session) and [Groups](/channels/groups).
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last`: deliver to the last used external channel.
|
||||
- explicit channel: any configured channel or plugin id, for example `discord`, `matrix`, `telegram`, or `whatsapp`.
|
||||
|
||||
@ -82,7 +82,7 @@ Node pairing is a trust and identity flow plus token issuance. It does **not** p
|
||||
|
||||
- Live node commands come from what the node declares on connect after the gateway's global node command policy (`gateway.nodes.allowCommands` and `denyCommands`) is applied.
|
||||
- Per-node `system.run` allow and ask policy lives on the node in `exec.approvals.node.*`, not in the pairing record.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Node command gating (2026.3.31+)
|
||||
|
||||
|
||||
@ -349,7 +349,7 @@ Example (read-only source + an extra data directory):
|
||||
- Sensitive mounts (secrets, SSH keys, service credentials) should be `:ro` unless absolutely required.
|
||||
- Combine with `workspaceAccess: "ro"` if you only need read access to the workspace; bind modes stay independent.
|
||||
- See [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated) for how binds interact with tool policy and elevated exec.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Images and setup
|
||||
|
||||
|
||||
@ -99,7 +99,7 @@ Implications:
|
||||
- Internal Gateway clients that do not travel through the reverse proxy should use `gateway.auth.password` / `OPENCLAW_GATEWAY_PASSWORD`, not trusted-proxy identity headers.
|
||||
- Non-loopback Control UI deployments still need explicit `gateway.controlUi.allowedOrigins`.
|
||||
- **Forwarded-header evidence overrides loopback locality for local direct fallback.** If a request arrives on loopback but carries `X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto` headers pointing at a non-local origin, that evidence disqualifies local-direct password fallback and device-identity gating. With `allowLoopback: true`, trusted-proxy auth can still accept the request as a same-host proxy request, while `requiredHeaders` and `allowUsers` continue to apply.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### Configuration reference
|
||||
|
||||
|
||||
@ -277,7 +277,7 @@ Simpan endpoint hook di balik loopback, tailnet, atau reverse proxy tepercaya.
|
||||
- Pertahankan `hooks.allowRequestSessionKey=false` kecuali Anda memerlukan sesi yang dipilih pemanggil.
|
||||
- Jika Anda mengaktifkan `hooks.allowRequestSessionKey`, atur juga `hooks.allowedSessionKeyPrefixes` untuk membatasi bentuk session key yang diizinkan.
|
||||
- Payload hook dibungkus dengan batas keamanan secara default.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Integrasi Gmail PubSub
|
||||
|
||||
@ -379,7 +379,7 @@ Catatan override model:
|
||||
- Jika model diizinkan, provider/model yang tepat itu akan diteruskan ke eksekusi agen terisolasi.
|
||||
- Jika tidak diizinkan, cron memperingatkan dan kembali ke pemilihan model agen/default milik job.
|
||||
- Rantai fallback yang dikonfigurasi tetap berlaku, tetapi override `--model` biasa tanpa daftar fallback per-job yang eksplisit tidak lagi diteruskan ke primary agen sebagai target percobaan ulang tambahan diam-diam.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Config
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ Rilis OpenClaw saat ini menyertakan BlueBubbles, jadi build paket normal tidak m
|
||||
- Selalu tetapkan kata sandi webhook.
|
||||
- Autentikasi webhook selalu wajib. OpenClaw menolak permintaan webhook BlueBubbles kecuali menyertakan password/guid yang cocok dengan `channels.bluebubbles.password` (misalnya `?password=<password>` atau `x-password`), terlepas dari topologi loopback/proxy.
|
||||
- Autentikasi kata sandi diperiksa sebelum membaca/mengurai seluruh isi webhook.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Menjaga Messages.app tetap aktif (penyiapan VM / headless)
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ Artinya: pengirim yang masuk allowlist dapat memicu OpenClaw dengan me-mention-n
|
||||
- **Akses DM** dikendalikan oleh `*.allowFrom`.
|
||||
- **Akses grup** dikendalikan oleh `*.groupPolicy` + allowlist (`*.groups`, `*.groupAllowFrom`).
|
||||
- **Pemicu balasan** dikendalikan oleh gating mention (`requireMention`, `/activation`).
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
Alur cepat (apa yang terjadi pada pesan grup):
|
||||
|
||||
|
||||
@ -425,7 +425,7 @@ Skrip eksternal dan Webhook dapat mem-posting tombol secara langsung melalui RES
|
||||
4. `id` aksi harus **alfanumerik saja** (`[a-zA-Z0-9]`). Tanda hubung dan garis bawah merusak perutean aksi sisi server Mattermost (mengembalikan 404). Hapus karakter tersebut sebelum digunakan.
|
||||
5. `context.action_id` harus cocok dengan `id` tombol agar pesan konfirmasi menampilkan nama tombol (mis. "Approve"), bukan ID mentah.
|
||||
6. `context.action_id` wajib — pengendali interaksi mengembalikan 400 tanpa field ini.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**Pembuatan token HMAC**
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Ini terjadi **sebelum** balasan normal dihasilkan, sehingga pesannya bisa terasa
|
||||
- Tambahkan model ke `agents.defaults.models`, atau
|
||||
- Hapus allowlist (hapus `agents.defaults.models`), atau
|
||||
- Pilih model dari `/model list`.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Contoh config allowlist:
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@ Gunakan `accountId` untuk menargetkan akun tertentu pada saluran multi-akun sepe
|
||||
- `main` (default): sesi utama agen.
|
||||
- Key sesi eksplisit (salin dari `openclaw sessions --json` atau [CLI sesi](/id/cli/sessions)).
|
||||
- Format key sesi: lihat [Sessions](/id/concepts/session) dan [Groups](/id/channels/groups).
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last`: kirim ke saluran eksternal terakhir yang digunakan.
|
||||
- saluran eksplisit: saluran atau id Plugin apa pun yang dikonfigurasi, misalnya `discord`, `matrix`, `telegram`, atau `whatsapp`.
|
||||
|
||||
@ -356,7 +356,7 @@ Contoh (source read-only + satu direktori data tambahan):
|
||||
- Mount sensitif (secret, SSH key, kredensial layanan) sebaiknya `:ro` kecuali benar-benar diperlukan.
|
||||
- Gabungkan dengan `workspaceAccess: "ro"` jika Anda hanya memerlukan akses baca ke workspace; mode bind tetap independen.
|
||||
- Lihat [Sandbox vs Tool Policy vs Elevated](/id/gateway/sandbox-vs-tool-policy-vs-elevated) untuk cara bind berinteraksi dengan kebijakan tool dan elevated exec.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Image dan penyiapan
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ Implikasi:
|
||||
- Untuk penyiapan proxy loopback pada host yang sama, gunakan auth token/password sebagai gantinya, atau rutekan melalui alamat trusted-proxy non-loopback yang dapat diverifikasi oleh OpenClaw.
|
||||
- Deployment Control UI non-loopback tetap memerlukan `gateway.controlUi.allowedOrigins` eksplisit.
|
||||
- **Bukti forwarded-header menimpa lokalitas loopback.** Jika permintaan tiba melalui loopback tetapi membawa header `X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto` yang menunjuk ke asal non-lokal, bukti tersebut menggugurkan klaim lokalitas loopback. Permintaan diperlakukan sebagai remote untuk pairing, auth trusted-proxy, dan gerbang identitas perangkat Control UI. Ini mencegah proxy loopback pada host yang sama “mencuci” identitas forwarded-header menjadi auth trusted-proxy.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### Referensi konfigurasi
|
||||
|
||||
|
||||
@ -264,7 +264,7 @@ Untuk entri CLI, **set `capabilities` secara eksplisit** agar tidak terjadi keco
|
||||
|
||||
- Pemahaman gambar `minimax` dan `minimax-portal` berasal dari provider media `MiniMax-VL-01` milik Plugin.
|
||||
- Katalog teks MiniMax bawaan tetap dimulai sebagai text-only; entri `models.providers.minimax` eksplisit mematerialkan ref chat M2.7 yang mendukung gambar.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Panduan pemilihan model
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ referensi untuk **apa yang harus diimpor** dan **apa yang dapat Anda daftarkan**
|
||||
- Plugin saluran? Lihat [Plugin saluran](/id/plugins/sdk-channel-plugins).
|
||||
- Plugin provider? Lihat [Plugin provider](/id/plugins/sdk-provider-plugins).
|
||||
- Plugin hook tool atau lifecycle? Lihat [Hook Plugin](/id/plugins/hooks).
|
||||
</Tip>
|
||||
</Tip>
|
||||
|
||||
## Konvensi import
|
||||
|
||||
|
||||
@ -327,7 +327,7 @@ entri `bindings[]` tingkat atas.
|
||||
- **Topik forum Telegram:** `match.channel="telegram"` + `match.peer.id="<chatId>:topic:<topicId>"`
|
||||
- **DM/grup BlueBubbles:** `match.channel="bluebubbles"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Utamakan `chat_id:*` atau `chat_identifier:*` untuk binding grup yang stabil.
|
||||
- **DM/grup iMessage:** `match.channel="imessage"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Utamakan `chat_id:*` untuk binding grup yang stabil.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="bindings[].agentId" type="string">
|
||||
id agen OpenClaw pemilik.
|
||||
</ParamField>
|
||||
@ -717,7 +717,7 @@ sandbox OpenClaw.
|
||||
- Kebijakan sandbox OpenClaw **tidak** membungkus eksekusi harness ACP.
|
||||
- OpenClaw tetap menegakkan gate fitur ACP, agen yang diizinkan, kepemilikan sesi, binding saluran, dan kebijakan pengiriman Gateway.
|
||||
- Gunakan `runtime: "subagent"` untuk pekerjaan native OpenClaw yang ditegakkan sandbox.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Keterbatasan saat ini:
|
||||
|
||||
|
||||
@ -141,7 +141,7 @@ Contoh skema:
|
||||
- `deny` — blokir.
|
||||
- `allowlist` — izinkan hanya jika allowlist cocok.
|
||||
- `full` — izinkan.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
|
||||
### `tools.exec.strictInlineEval`
|
||||
|
||||
@ -187,7 +187,7 @@ YOLO adalah perilaku host default kecuali Anda memperketatnya secara eksplisit:
|
||||
- YOLO memilih **bagaimana** exec host disetujui: `security=full` plus `ask=off`.
|
||||
- Dalam mode YOLO, OpenClaw **tidak** menambahkan gate persetujuan obfuscation perintah heuristik atau lapisan penolakan script-preflight di atas kebijakan exec host yang dikonfigurasi.
|
||||
- `auto` tidak membuat perutean gateway menjadi override gratis dari sesi tersandbox. Permintaan per-panggilan `host=node` diizinkan dari `auto`; `host=gateway` hanya diizinkan dari `auto` saat tidak ada runtime sandbox yang aktif. Untuk default non-auto yang stabil, setel `tools.exec.host` atau gunakan `/exec host=...` secara eksplisit.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Provider berbasis CLI yang mengekspos mode izin noninteraktif mereka sendiri
|
||||
dapat mengikuti kebijakan ini. Claude CLI menambahkan
|
||||
@ -265,7 +265,7 @@ EOF
|
||||
- `openclaw exec-policy` tidak menyinkronkan persetujuan node.
|
||||
- `openclaw exec-policy set --host node` ditolak.
|
||||
- Persetujuan exec node diambil dari node saat runtime, sehingga pembaruan yang ditargetkan ke node harus menggunakan `openclaw approvals --node ...`.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
### Shortcut hanya-sesi
|
||||
|
||||
|
||||
@ -277,7 +277,7 @@ Mantieni gli endpoint hook dietro local loopback, tailnet o un reverse proxy att
|
||||
- Mantieni `hooks.allowRequestSessionKey=false` a meno che tu non richieda sessioni selezionate dal chiamante.
|
||||
- Se abiliti `hooks.allowRequestSessionKey`, imposta anche `hooks.allowedSessionKeyPrefixes` per vincolare le forme consentite della chiave di sessione.
|
||||
- I payload hook sono racchiusi in limiti di sicurezza per impostazione predefinita.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Integrazione Gmail PubSub
|
||||
|
||||
@ -379,7 +379,7 @@ Nota sull'override del modello:
|
||||
- Se il modello è consentito, quel preciso provider/modello raggiunge l'esecuzione dell'agente isolato.
|
||||
- Se non è consentito, cron avvisa e torna alla selezione del modello agente/predefinito del processo.
|
||||
- Le catene di fallback configurate continuano comunque ad applicarsi, ma un semplice override `--model` senza un elenco di fallback esplicito per processo non ricade più nel modello primario dell'agente come destinazione di retry extra silenziosa.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Configurazione
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ Le versioni attuali di OpenClaw includono BlueBubbles, quindi le normali build p
|
||||
- Imposta sempre una password per il Webhook.
|
||||
- L'autenticazione del Webhook è sempre obbligatoria. OpenClaw rifiuta le richieste Webhook BlueBubbles a meno che non includano una password/guid che corrisponda a `channels.bluebubbles.password` (ad esempio `?password=<password>` o `x-password`), indipendentemente dalla topologia loopback/proxy.
|
||||
- L'autenticazione tramite password viene verificata prima della lettura/analisi dei corpi completi dei Webhook.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Mantenere attivo Messages.app (configurazioni VM / headless)
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ Traduzione: i mittenti presenti nella allowlist possono attivare OpenClaw menzio
|
||||
- L'**accesso ai DM** è controllato da `*.allowFrom`.
|
||||
- L'**accesso ai gruppi** è controllato da `*.groupPolicy` + allowlist (`*.groups`, `*.groupAllowFrom`).
|
||||
- L'**attivazione delle risposte** è controllata dal filtro delle menzioni (`requireMention`, `/activation`).
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
Flusso rapido (cosa succede a un messaggio di gruppo):
|
||||
|
||||
|
||||
@ -425,7 +425,7 @@ Gli script esterni e i Webhook possono pubblicare pulsanti direttamente tramite
|
||||
4. L'`id` dell'azione deve essere **solo alfanumerico** (`[a-zA-Z0-9]`). Trattini e underscore rompono il routing lato server di Mattermost (restituisce 404). Rimuovili prima dell'uso.
|
||||
5. `context.action_id` deve corrispondere all'`id` del pulsante affinché il messaggio di conferma mostri il nome del pulsante (ad esempio "Approve") invece di un ID grezzo.
|
||||
6. `context.action_id` è obbligatorio — senza di esso il gestore di interazione restituisce 400.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**Generazione del token HMAC**
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Questo avviene **prima** che venga generata una normale risposta, quindi il mess
|
||||
- Aggiungere il modello a `agents.defaults.models`, oppure
|
||||
- Cancellare l'allowlist (rimuovere `agents.defaults.models`), oppure
|
||||
- Scegliere un modello da `/model list`.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Esempio di configurazione dell'allowlist:
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@ Usa `accountId` per indirizzare un account specifico su canali multi-account com
|
||||
- `main` (predefinito): sessione principale dell'agente.
|
||||
- Chiave di sessione esplicita (copiala da `openclaw sessions --json` o dalla [CLI sessions](/it/cli/sessions)).
|
||||
- Formati della chiave di sessione: vedi [Sessioni](/it/concepts/session) e [Gruppi](/it/channels/groups).
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last`: consegna all'ultimo canale esterno usato.
|
||||
- canale esplicito: qualsiasi canale configurato o id Plugin, per esempio `discord`, `matrix`, `telegram` o `whatsapp`.
|
||||
|
||||
@ -356,7 +356,7 @@ Esempio (sorgente in sola lettura + directory dati aggiuntiva):
|
||||
- I mount sensibili (segreti, chiavi SSH, credenziali di servizio) dovrebbero essere `:ro` salvo necessità assoluta.
|
||||
- Combina con `workspaceAccess: "ro"` se ti serve solo accesso in lettura al workspace; le modalità dei bind restano indipendenti.
|
||||
- Vedi [Sandbox vs Tool Policy vs Elevated](/it/gateway/sandbox-vs-tool-policy-vs-elevated) per capire come i bind interagiscono con la tool policy e l'exec elevato.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Immagini e setup
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ Implicazioni:
|
||||
- Per configurazioni proxy loopback sullo stesso host, usa invece l'autenticazione token/password, oppure instrada attraverso un indirizzo proxy attendibile non loopback che OpenClaw possa verificare.
|
||||
- Le distribuzioni non loopback della Control UI richiedono comunque `gateway.controlUi.allowedOrigins` esplicito.
|
||||
- **Le prove dagli header forwarded prevalgono sulla località loopback.** Se una richiesta arriva su loopback ma contiene header `X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto` che puntano a un'origine non locale, tale evidenza invalida l'affermazione di località loopback. La richiesta viene trattata come remota per pairing, autenticazione trusted-proxy e gating dell'identità del dispositivo della Control UI. Questo impedisce a un proxy loopback sullo stesso host di riciclare l'identità da header forwarded nell'autenticazione trusted-proxy.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### Riferimento configurazione
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ x-i18n:
|
||||
## Modelli: valori predefiniti, selezione, alias, cambio
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title='Che cos'è il "modello predefinito"?'>
|
||||
<Accordion title="Che cos'è il "modello predefinito"?">
|
||||
Il modello predefinito di OpenClaw è quello che imposti in:
|
||||
|
||||
```
|
||||
|
||||
@ -264,7 +264,7 @@ Per le voci CLI, **imposta `capabilities` esplicitamente** per evitare corrispon
|
||||
|
||||
- La comprensione delle immagini `minimax` e `minimax-portal` proviene dal provider media di proprietà del plugin `MiniMax-VL-01`.
|
||||
- Il catalogo testuale MiniMax incluso resta inizialmente solo testo; le voci esplicite `models.providers.minimax` materializzano riferimenti chat M2.7 compatibili con immagini.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Guida alla selezione del modello
|
||||
|
||||
|
||||
@ -428,7 +428,7 @@ Implicazioni:
|
||||
- un Plugin nativo può registrare strumenti, handler di rete, hook e servizi
|
||||
- un bug in un Plugin nativo può causare crash o destabilizzare il gateway
|
||||
- un Plugin nativo malevolo equivale a esecuzione arbitraria di codice dentro il processo OpenClaw
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
I bundle compatibili sono più sicuri per impostazione predefinita perché OpenClaw al momento li tratta come pacchetti di metadati/contenuti. Nelle release attuali, questo significa soprattutto Skills incluse.
|
||||
|
||||
@ -443,7 +443,7 @@ Per i nomi dei package workspace inclusi, mantieni l'id Plugin ancorato al nome
|
||||
- Un Plugin del workspace con lo stesso id di un Plugin incluso oscura intenzionalmente la copia inclusa quando quel Plugin del workspace è abilitato/presente nella allowlist.
|
||||
- Questo è normale e utile per sviluppo locale, test di patch e hotfix.
|
||||
- La fiducia nei Plugin inclusi viene risolta dallo snapshot della sorgente — il manifest e il codice presenti sul disco al momento del caricamento — piuttosto che dai metadati di installazione. Un record di installazione corrotto o sostituito non può ampliare silenziosamente la superficie di fiducia di un Plugin incluso oltre quanto dichiarato dalla sorgente reale.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## Confine di esportazione
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ riferimento per **cosa importare** e **cosa puoi registrare**.
|
||||
- Plugin di canale? Vedi [Plugin di canale](/it/plugins/sdk-channel-plugins).
|
||||
- Plugin provider? Vedi [Plugin provider](/it/plugins/sdk-provider-plugins).
|
||||
- Plugin di strumenti o hook del ciclo di vita? Vedi [Hook dei Plugin](/it/plugins/hooks).
|
||||
</Tip>
|
||||
</Tip>
|
||||
|
||||
## Convenzione di import
|
||||
|
||||
|
||||
@ -328,7 +328,7 @@ voci di primo livello `bindings[]`.
|
||||
- **Topic forum Telegram:** `match.channel="telegram"` + `match.peer.id="<chatId>:topic:<topicId>"`
|
||||
- **DM/gruppo BlueBubbles:** `match.channel="bluebubbles"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Preferisci `chat_id:*` o `chat_identifier:*` per associazioni di gruppo stabili.
|
||||
- **DM/gruppo iMessage:** `match.channel="imessage"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`. Preferisci `chat_id:*` per associazioni di gruppo stabili.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="bindings[].agentId" type="string">
|
||||
L'id dell'agente OpenClaw proprietario.
|
||||
</ParamField>
|
||||
@ -716,7 +716,7 @@ sandbox OpenClaw.
|
||||
- I criteri di sandbox di OpenClaw **non** avvolgono l'esecuzione dei harness ACP.
|
||||
- OpenClaw continua comunque a far rispettare feature gate ACP, agenti consentiti, proprietà della sessione, associazioni di canale e criteri di consegna Gateway.
|
||||
- Usa `runtime: "subagent"` per lavoro nativo OpenClaw con applicazione della sandbox.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
Limitazioni attuali:
|
||||
|
||||
|
||||
@ -277,7 +277,7 @@ Gateway は外部トリガー向けに HTTP Webhook エンドポイントを公
|
||||
- 呼び出し元がセッションを選択する必要がない限り、`hooks.allowRequestSessionKey=false` のままにしてください。
|
||||
- `hooks.allowRequestSessionKey` を有効にする場合は、許可されるセッションキーの形式を制約するために `hooks.allowedSessionKeyPrefixes` も設定してください。
|
||||
- フックのペイロードはデフォルトで安全境界に包まれます。
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Gmail PubSub 統合
|
||||
|
||||
@ -379,7 +379,7 @@ Model オーバーライドに関する注記:
|
||||
- その model が許可されていれば、その正確な provider/model が分離されたエージェント実行に渡されます。
|
||||
- 許可されていなければ、Cron は警告を出し、そのジョブの agent/default model 選択にフォールバックします。
|
||||
- 設定済みのフォールバックチェーンは引き続き適用されますが、ジョブごとの明示的なフォールバックリストがない単純な `--model` オーバーライドでは、agent primary への暗黙の追加再試行先フォールバックは行われなくなりました。
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## 設定
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ x-i18n:
|
||||
- 必ずWebhookパスワードを設定してください。
|
||||
- Webhook認証は常に必須です。OpenClawは、loopback/proxyの構成にかかわらず、`channels.bluebubbles.password` に一致するpassword/guid(たとえば `?password=<password>` または `x-password`)が含まれていない限り、BlueBubblesのWebhookリクエストを拒否します。
|
||||
- パスワード認証は、Webhook本文全体を読み取り/解析する前に確認されます。
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Messages.appを生かしておく(VM / ヘッドレス構成)
|
||||
|
||||
|
||||
@ -425,7 +425,7 @@ message action=send channel=mattermost target=channel:<channelId> buttons=[[{"te
|
||||
4. actionの `id` は **英数字のみ** (`[a-zA-Z0-9]`) でなければなりません。ハイフンとアンダースコアはMattermostのサーバー側actionルーティングを壊し(404を返します)、使用前に削除する必要があります。
|
||||
5. 確認メッセージに生のIDではなくボタン名(例: 「Approve」)を表示するには、`context.action_id` をボタンの `id` と一致させる必要があります。
|
||||
6. `context.action_id` は必須です。ない場合、インタラクションハンドラーは400を返します。
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**HMACトークン生成**
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Model "provider/model" is not allowed. Use /model to list available models.
|
||||
- modelを `agents.defaults.models` に追加する
|
||||
- allowlistをクリアする(`agents.defaults.models` を削除する)
|
||||
- `/model list` からmodelを選ぶ
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
allowlist configの例:
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@ Telegramのような複数アカウントチャンネルで特定アカウント
|
||||
- `main`(デフォルト): agent main session。
|
||||
- 明示的なsessionキー(`openclaw sessions --json` または [sessions CLI](/ja-JP/cli/sessions) から取得)。
|
||||
- sessionキー形式: [Sessions](/ja-JP/concepts/session) と [Groups](/ja-JP/channels/groups) を参照。
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last`: 最後に使った外部チャンネルへ配信。
|
||||
- 明示的なチャンネル: 設定済みの任意のチャンネルまたはPlugin id。たとえば `discord`、`matrix`、`telegram`、`whatsapp`。
|
||||
|
||||
@ -356,7 +356,7 @@ OpenShell backendでは:
|
||||
- 機密mount(secret、SSH key、service credential)は、絶対に必要でない限り `:ro` にすべきです。
|
||||
- workspaceへのread accessしか必要ないなら、`workspaceAccess: "ro"` と組み合わせてください。bind mode自体は独立しています。
|
||||
- bindがtool policyおよびelevated execとどう相互作用するかについては、[Sandbox vs Tool Policy vs Elevated](/ja-JP/gateway/sandbox-vs-tool-policy-vs-elevated)を参照してください。
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## imageとセットアップ
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ x-i18n:
|
||||
- 同一ホストの loopback プロキシ構成では、代わりに token/password 認証を使用するか、OpenClaw が検証できる loopback ではない信頼済みプロキシアドレスを経由させてください。
|
||||
- loopback ではない Control UI デプロイでは、依然として明示的な `gateway.controlUi.allowedOrigins` が必要です。
|
||||
- **Forwarded-header の証拠は loopback ローカリティより優先されます。** リクエストが loopback で到着しても、`X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto` ヘッダーが非ローカルなオリジンを指している場合、その証拠によって loopback ローカリティの主張は無効になります。リクエストは pairing、trusted-proxy 認証、Control UI デバイス ID ゲートにおいてリモートとして扱われます。これにより、同一ホストの loopback プロキシが forwarded-header の ID を trusted-proxy 認証へ偽装することを防ぎます。
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### 設定リファレンス
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ Plugin SDK は、Plugin とコアの間にある型付きコントラクトで
|
||||
- Channel Plugin ですか? [Channel plugins](/ja-JP/plugins/sdk-channel-plugins) を参照してください。
|
||||
- Provider Plugin ですか? [Provider plugins](/ja-JP/plugins/sdk-provider-plugins) を参照してください。
|
||||
- ツールまたはライフサイクルフック Plugin ですか? [Plugin hooks](/ja-JP/plugins/hooks) を参照してください。
|
||||
</Tip>
|
||||
</Tip>
|
||||
|
||||
## import の規約
|
||||
|
||||
|
||||
@ -317,7 +317,7 @@ CLI バックエンドは別のテキスト専用ローカルフォールバッ
|
||||
- **Telegram フォーラムトピック:** `match.channel="telegram"` + `match.peer.id="<chatId>:topic:<topicId>"`
|
||||
- **BlueBubbles DM/グループ:** `match.channel="bluebubbles"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`。安定したグループ紐付けには `chat_id:*` または `chat_identifier:*` を推奨します。
|
||||
- **iMessage DM/グループ:** `match.channel="imessage"` + `match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"`。安定したグループ紐付けには `chat_id:*` を推奨します。
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="bindings[].agentId" type="string">
|
||||
所有する OpenClaw エージェント id。
|
||||
</ParamField>
|
||||
@ -708,7 +708,7 @@ ACP セッションは現在、OpenClaw サンドボックス内ではなく、
|
||||
- OpenClaw のサンドボックスポリシーは ACP ハーネス実行を**ラップしません**。
|
||||
- それでも OpenClaw は、ACP 機能ゲート、許可されたエージェント、セッション所有権、チャネル紐付け、および Gateway 配信ポリシーを強制します。
|
||||
- サンドボックスが強制される OpenClaw ネイティブ作業には `runtime: "subagent"` を使用してください。
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
現在の制限:
|
||||
|
||||
|
||||
@ -277,7 +277,7 @@ hook 엔드포인트는 loopback, tailnet 또는 신뢰할 수 있는 리버스
|
||||
- 호출자가 세션을 선택해야 하는 요구 사항이 없다면 `hooks.allowRequestSessionKey=false`를 유지하세요.
|
||||
- `hooks.allowRequestSessionKey`를 활성화하는 경우, 허용되는 세션 키 형태를 제한하기 위해 `hooks.allowedSessionKeyPrefixes`도 함께 설정하세요.
|
||||
- hook 페이로드는 기본적으로 안전 경계로 감싸집니다.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Gmail PubSub 통합
|
||||
|
||||
@ -379,7 +379,7 @@ openclaw cron edit <jobId> --clear-agent
|
||||
- 모델이 허용되면 해당 정확한 provider/model이 격리된 에이전트 실행에 전달됩니다.
|
||||
- 허용되지 않으면 cron은 경고를 표시하고 작업의 agent/default 모델 선택으로 폴백합니다.
|
||||
- 구성된 폴백 체인은 계속 적용되지만, 명시적인 작업별 폴백 목록이 없는 일반 `--model` override는 더 이상 에이전트 기본 모델로 조용히 추가 재시도되지 않습니다.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
## 구성
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ x-i18n:
|
||||
- 항상 Webhook 비밀번호를 설정하세요.
|
||||
- Webhook 인증은 항상 필요합니다. OpenClaw는 BlueBubbles Webhook 요청에 `channels.bluebubbles.password`와 일치하는 password/guid가 포함되어 있지 않으면(예: `?password=<password>` 또는 `x-password`) loopback/proxy 토폴로지와 관계없이 요청을 거부합니다.
|
||||
- 비밀번호 인증은 전체 Webhook 본문을 읽거나 파싱하기 전에 검사됩니다.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## Messages.app 활성 상태 유지하기(VM / 헤드리스 설정)
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ OpenClaw는 사용자의 자체 메시징 계정에서 "동작"합니다. 별도
|
||||
- **DM 접근**은 `*.allowFrom`으로 제어됩니다.
|
||||
- **그룹 접근**은 `*.groupPolicy` + 허용 목록(`*.groups`, `*.groupAllowFrom`)으로 제어됩니다.
|
||||
- **응답 트리거링**은 멘션 게이팅(`requireMention`, `/activation`)으로 제어됩니다.
|
||||
</Note>
|
||||
</Note>
|
||||
|
||||
빠른 흐름(그룹 메시지에 일어나는 일):
|
||||
|
||||
|
||||
@ -425,7 +425,7 @@ message action=send channel=mattermost target=channel:<channelId> buttons=[[{"te
|
||||
4. 작업 `id`는 **영숫자만** 허용됩니다(`[a-zA-Z0-9]`). 하이픈과 밑줄은 Mattermost 서버 측 작업 라우팅을 깨뜨립니다(404 반환). 사용 전에 제거하세요.
|
||||
5. 확인 메시지에 원시 ID 대신 버튼 이름(예: "Approve")이 표시되도록 `context.action_id`는 버튼의 `id`와 일치해야 합니다.
|
||||
6. `context.action_id`는 필수입니다. 없으면 interaction 핸들러가 400을 반환합니다.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
**HMAC 토큰 생성**
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Model "provider/model" is not allowed. Use /model to list available models.
|
||||
- 모델을 `agents.defaults.models`에 추가하거나
|
||||
- 허용 목록을 비우거나(`agents.defaults.models` 제거)
|
||||
- `/model list`에서 모델을 선택하는 것입니다.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
허용 목록 config 예시:
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@ Telegram 같은 다중 계정 채널에서 특정 계정을 대상으로 지정
|
||||
- `main`(기본값): 에이전트 main 세션.
|
||||
- 명시적 세션 키(`openclaw sessions --json` 또는 [sessions CLI](/ko/cli/sessions)에서 복사).
|
||||
- 세션 키 형식: [Sessions](/ko/concepts/session) 및 [Groups](/ko/channels/groups) 참조.
|
||||
</ParamField>
|
||||
</ParamField>
|
||||
<ParamField path="target" type="string">
|
||||
- `last`: 마지막으로 사용한 외부 채널로 전달.
|
||||
- 명시적 채널: 구성된 모든 채널 또는 Plugin id(예: `discord`, `matrix`, `telegram`, `whatsapp`).
|
||||
|
||||
@ -356,7 +356,7 @@ OpenShell 백엔드에서는:
|
||||
- 민감한 마운트(secret, SSH 키, 서비스 자격 증명)는 절대적으로 필요하지 않은 한 `:ro`여야 합니다.
|
||||
- 워크스페이스에 읽기 액세스만 필요하다면 `workspaceAccess: "ro"`와 함께 사용하세요. bind 모드는 계속 독립적으로 유지됩니다.
|
||||
- bind가 tool policy 및 elevated exec와 어떻게 상호작용하는지는 [Sandbox vs Tool Policy vs Elevated](/ko/gateway/sandbox-vs-tool-policy-vs-elevated)를 참조하세요.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
## 이미지 및 설정
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ x-i18n:
|
||||
- 같은 호스트의 loopback 프록시 설정에서는 대신 token/password 인증을 사용하거나, OpenClaw가 검증할 수 있는 비-loopback 신뢰 프록시 주소를 통해 라우팅하세요.
|
||||
- 비-loopback Control UI 배포에는 여전히 명시적인 `gateway.controlUi.allowedOrigins`가 필요합니다.
|
||||
- **전달된 헤더 증거는 loopback 로컬성보다 우선합니다.** 요청이 loopback으로 들어왔더라도 `X-Forwarded-For` / `X-Forwarded-Host` / `X-Forwarded-Proto` 헤더가 비로컬 origin을 가리키면, 그 증거는 loopback 로컬성 주장을 무효화합니다. 요청은 페어링, trusted-proxy 인증, Control UI 기기 ID 게이팅에서 원격 요청으로 취급됩니다. 이는 같은 호스트의 loopback 프록시가 전달 헤더 ID를 세탁해 trusted-proxy 인증에 사용하는 것을 막습니다.
|
||||
</Warning>
|
||||
</Warning>
|
||||
|
||||
### 구성 참조
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user