PageSourceSearch

https://www.getkeep.ai/_next/static/chunks/2945.ed4b29dab5a9c194.js

js getkeep.ai collected 2026-10-05 12:01:41 UTC 11,900 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2945],{2945:e=>{e.exports=JSON.parse('{"title":"Guide r\xe9seau (pratique)","shortTitle":"R\xe9seau","previewTopics":["Mod\xe8le mental : r\xf4les gateway vs client vs nœud","Architecture par d\xe9faut s\xe9curis\xe9e","Patterns d\'acc\xe8s distant (SSH, Tailscale, Funnel)","Patterns de d\xe9faillance courants et diagnostic","S\xe9quence de d\xe9ploiement pratique"],"intro":"Le r\xe9seau OpenClaw est plus facile \xe0 appr\xe9hender si vous s\xe9parez clairement trois r\xf4les. R\xe8gle g\xe9n\xe9rale : gardez le gateway priv\xe9 par d\xe9faut, puis ajoutez l\'acc\xe8s distant de mani\xe8re d\xe9lib\xe9r\xe9e.","rolesSummary":"[gateway:Gateway:bold] = le cerveau unique/plan de contr\xf4le (sessions, auth, routage, canaux). [_bold:Clients] = humains et applications se connectant \xe0 ce gateway. [node:Nœuds:bold] = appareils p\xe9riph\xe9riques exposant des capacit\xe9s (cam\xe9ra, canvas, syst\xe8me) au gateway.","mentalModel":"Le mod\xe8le mental d\'abord (avant la configuration)","roleDiagram":["Gateway","Clients","Nœuds"],"mentalModelPoints":["Il devrait y avoir un seul gateway autoritaire par p\xe9rim\xe8tre de confiance.","Les messages arrivent au gateway (Telegram/WhatsApp/Discord/Slack), pas aux nœuds.","Le routage de sortie est d\xe9terministe vers le canal entrant.","L\'\xe9tat de session vit sur l\'h\xf4te du gateway ; les interfaces ne sont que des clients de cet \xe9tat."],"roleConfusionTip":"Si le r\xe9seau vous semble confus, la confusion est g\xe9n\xe9ralement en fait une confusion de r\xf4les (gateway vs nœud vs interface). Clarifiez le r\xf4le d\'abord, puis la configuration r\xe9seau devient \xe9vidente.","safeDefaults":"Architecture par d\xe9faut s\xe9curis\xe9e","safeDefaultSteps":[{"title":"Liaison loopback","content":"D\xe9finissez gateway.bind sur loopback. Seuls les processus sur la m\xeame machine peuvent se connecter directement."},{"title":"Auth forte","content":"D\xe9finissez un token ou mot de passe d\'authentification gateway fort. Ne laissez jamais l\'auth vide sur une instance accessible par le r\xe9seau."},{"title":"Appairage des canaux","content":"Activez l\'appairage et les listes blanches pour les canaux entrants. Les exp\xe9diteurs inconnus ne doivent pas \xeatre trait\xe9s."},{"title":"Acc\xe8s distant via tunnel","content":"Acc\xe9dez \xe0 distance via un tunnel SSH ou Tailscale Serve, pas en ouvrant le gateway \xe0 l\'Internet public."}],"configTitle":"Configuration par d\xe9faut s\xe9curis\xe9e","configSnippet":"# gateway.yaml\\ngateway:\\n  bind: \\"loopback\\"\\n  auth:\\n    token: \\"your-strong-token-here\\"\\n  channels:\\n    dmPolicy: \\"pairing\\"","remoteAccess":"Patterns d\'acc\xe8s distant","remoteAccessLabels":{"howItWorks":"Comment \xe7a fonctionne","whenToUse":"Quand l\'utiliser","riskLevel":"Niveau de risque"},"remoteAccessTabs":{"ssh":{"label":"Tunnel SSH","howItWorks":"Gardez le gateway en loopback uniquement. Tunnelisez un port local vers le port du gateway distant via SSH. Tout le trafic est chiffr\xe9 \xe0 travers votre connexion SSH.","whenToUse":"Solution de repli universelle. Id\xe9al quand vous voulez un contr\xf4le d\'acc\xe8s explicite et sans magie. Fonctionne partout o\xf9 SSH fonctionne.","riskLevel":"Faible — pas d\'exposition publique, n\xe9cessite un acc\xe8s par cl\xe9 SSH","config":"ssh -L 18789:127.0.0.1:18789 user@your-vps"},"tailscaleServe":{"label":"Tailscale Serve","howItWorks":"Gardez le gateway en loopback uniquement. Utilisez tailscale serve pour exposer le HTTPS \xe0 l\'int\xe9rieur de votre tailnet. Authentification optionnelle par en-t\xeate d\'identit\xe9 pour les chemins UI/WebSocket.","whenToUse":"Meilleure UX distante par d\xe9faut. Acc\xe8s HTTPS propre depuis n\'importe quel appareil de votre tailnet sans la lourdeur de SSH.","riskLevel":"Faible — le trafic reste dans le tailnet, pas sur l\'Internet public","config":"tailscale serve https / http://127.0.0.1:18789"},"tailnetBind":{"label":"Liaison Tailnet","howItWorks":"Liez le gateway directement \xe0 l\'IP tailnet (bind: tailnet) avec authentification par token/mot de passe. Plus simple dans certains environnements.","
1whenToUse":"Quand vous voulez un acc\xe8s tailnet direct sans couche proxy. Configuration plus simple mais exposition plus directe que loopback + Serve.","riskLevel":"Moyen — expos\xe9 \xe0 tous les appareils du tailnet, authentification requise","config":"# gateway.yaml\\ngateway:\\n  bind: \\"tailnet\\"\\n  auth:\\n    token: \\"your-strong-token-here\\""},"funnel":{"label":"Funnel (Public)","howItWorks":"Tailscale Funnel ou un reverse proxy similaire expose le gateway \xe0 l\'Internet public. Le trafic est authentifi\xe9 mais accessible depuis Internet.","whenToUse":"Uniquement quand vous avez vraiment besoin d\'un acc\xe8s public (ex. webhooks de services externes). N\xe9cessite une posture d\'authentification plus stricte.","riskLevel":"\xc9lev\xe9 — expos\xe9 \xe0 Internet, n\xe9cessite une authentification forte et de la supervision","config":"tailscale funnel 18789"}},"nodeBoundaries":"Nœuds et p\xe9rim\xe8tres r\xe9seau","nodeBoundariesBody":"Les nœuds ne sont pas des mini-gateways ; ce sont des surfaces d\'ex\xe9cution attach\xe9es. Appairer un nœud est distinct de lui accorder des approbations d\'ex\xe9cution. L\'auth du gateway contr\xf4le qui peut atteindre le plan de contr\xf4le. Les approbations/listes blanches du nœud contr\xf4lent ce qui peut s\'ex\xe9cuter sur ce nœud. Un gateway cloud + nœud domestique est valide et courant, mais \xe9largit la surface du p\xe9rim\xe8tre.","nodeBoundariesWarning":"Traitez chaque nouveau nœud comme une surface de risque suppl\xe9mentaire, pas seulement comme une nouvelle capacit\xe9. Auth du gateway + appairage du nœud + approbations d\'ex\xe9cution doivent tous \xeatre corrects.","discoveryGotchas":"Pi\xe8ges de d\xe9couverte et de transport","discoveryGotchaItems":["La d\xe9couverte locale (Bonjour/mDNS) est pratique mais peut masquer des hypoth\xe8ses sur l\'accessibilit\xe9.","L\'adressabilit\xe9 Tailnet/LAN diff\xe8re du comportement de localhost.","\xab Fonctionne en local, \xe9choue \xe0 distance \xbb signifie g\xe9n\xe9ralement un d\xe9calage liaison/auth/tunnel, pas un probl\xe8me de mod\xe8le.","Pour les appels CLI distants avec --url explicite, passez aussi des identifiants explicites."],"dockerRealities":"R\xe9alit\xe9s Docker/r\xe9seau","dockerRealitiesBody":"Docker est optionnel pour le d\xe9ploiement du gateway OpenClaw. Faire tourner le gateway dans Docker ajoute de la complexit\xe9 r\xe9seau/volumes ; faites-le pour la reproductibilit\xe9, pas par r\xe9flexe. Le sandboxing peut utiliser Docker sans que l\'int\xe9gralit\xe9 du gateway tourne dans Docker. Sur les h\xf4tes VPS/publics, la politique de pare-feu compte plus que le choix du conteneur.","failurePatterns":"Patterns de d\xe9faillance courants","failureLabels":{"symptom":"Sympt\xf4me","cause":"Cause probable","fix":"Correction"},"failurePatternTabs":{"unauthorized":{"label":"Connect\xe9 mais non autoris\xe9","symptom":"Connexion \xe9tablie mais toutes les requ\xeates retournent 401/403 ou sont silencieusement ignor\xe9es.","cause":"D\xe9calage token/mot de passe, approbation d\'appairage manquante ou mauvais mode d\'authentification configur\xe9.","fix":"V\xe9rifiez que le token d\'auth correspond entre la configuration du client et du gateway. V\xe9rifiez le statut d\'appairage avec \'openclaw pairing list\'. Assurez-vous que le mode d\'auth est coh\xe9rent."},"remoteFails":{"label":"Fonctionne en local, \xe9choue \xe0 distance","symptom":"Tout fonctionne sur l\'h\xf4te du gateway, mais les connexions distantes expirent ou sont refus\xe9es.","cause":"Gateway li\xe9 au loopback sans tunnel ni Tailscale Serve. Mauvaise URL/port cible dans le client distant.","fix":"Mettez en place un tunnel SSH ou Tailscale Serve. V\xe9rifiez que l\'URL distante pointe vers la bonne adresse et le bon port. V\xe9rifiez les r\xe8gles de pare-feu."},"messagesIgnored":{"label":"Messages ignor\xe9s","symptom":"Le bot est dans le groupe/canal mais ne r\xe9pond pas aux messages.","cause":"Filtrage par politique : groupPolicy, listes blanches ou requireMention filtre les messages. C\'est une question de politique, pas de transport.","fix":"V\xe9rifiez les param\xe8tres groupPolicy, allowFrom et requireMention. V\xe9rifiez que l\'exp\xe9diteur est sur la liste blanche. Testez avec une mention si requireMention est \xe0 true."},"nodeCommandsFail":{"label":"Nœud visible, commandes \xe9chouent","symptom":"Le nœud appara\xeet comme connect\xe9 mais l\'ex\xe9cution des commandes retourne des erreurs ou expire.","cause":"Permissions de nœud manquantes, exigence de premier plan non satisfaite (iOS/Android) ou approbations d\'ex\xe9cution bloquant la commande.","fix":"Ex\xe9cutez \'openclaw approvals get --node <id>\' pour v\xe9rifier l\'\xe9tat des approbations. Assurez-vous que l\'app est au premier plan pour la cam\xe9ra/le canvas. V\xe9rifiez les patterns de liste blanche."},"uiActionsFail":{"label":"Interface web charg\xe9e, actions \xe9chouent","symptom":"L\'interface de contr\xf4le s\'affiche correctement mais les appels API ou les actions d\'outils retournent des erreurs.","cause":"Auth accept\xe9e pour le chemin WebSocket/UI mais les endpoints API/outils toujours bloqu\xe9s par la politique token/mot de passe.","fix":"Assurez-vous que l\'auth API est configur\xe9e de mani\xe8re coh\xe9rente avec l\'auth de l\'interface. V\xe9rifiez un \xe9ventuel d\xe9calage de token entre la session UI et les endpoints API."}},"rolloutSequence":"S\xe9quence de d\xe9ploiement r\xe9seau pratique","rolloutSteps":[{"title":"Commencer en loopback","content":"D\xe9marrez avec un gateway loopback uniquement + un canal. V\xe9rifiez que tout fonctionne localement d\'abord."},{"title":"V\xe9rifier l\'appairage","content":"V\xe9rifiez l\'appairage DM et /status en sc\xe9nario local. Confirmez que l\'auth fonctionne correctement."},{"title":"Ajouter l\'acc\xe8s distant","content":"Ajoutez l\'acc\xe8s distant via tunnel SSH ou Tailscale Serve. Testez depuis un appareil s\xe9par\xe9."},{"title":"Ajouter les politiques de groupe","content":"Ajoutez les politiques de groupe et le d\xe9clenchement par mention. Testez avec de vrais messages de groupe."},{"title":"Ajouter les nœuds","content":"Ajoutez les nœuds uniquement apr\xe8s que l\'auth du gateway et le routage sont stables. Appairez de mani\xe8re d\xe9lib\xe9r\xe9e."},{"title":"Re-v\xe9rifier","content":"Re-ex\xe9cutez les v\xe9rifications r\xe9seau/s\xe9curit\xe9 apr\xe8s chaque changement de topologie. Utilisez openclaw 
1security audit --deep."}],"rolloutChecklist":"V\xe9rification du d\xe9ploiement","rolloutChecklistItems":["Gateway li\xe9 au loopback (ou tailnet avec auth)","Token d\'auth d\xe9fini et v\xe9rifi\xe9 depuis le client distant","Appairage activ\xe9 pour tous les canaux entrants","Tunnel SSH ou Tailscale Serve test\xe9 depuis un appareil s\xe9par\xe9","Politiques de groupe et d\xe9clenchement par mention configur\xe9s","Appairage de nœuds approuv\xe9 uniquement pour les appareils connus","Audit de s\xe9curit\xe9 r\xe9ussi apr\xe8s chaque changement de topologie"],"sources":[{"label":"Hub r\xe9seau","url":"https://docs.openclaw.ai/network"},{"label":"Acc\xe8s distant (SSH/tunnels/tailnet)","url":"https://docs.openclaw.ai/gateway/remote"},{"label":"Tailscale Serve/Funnel","url":"https://docs.openclaw.ai/gateway/tailscale"},{"label":"Surfaces web + modes de liaison","url":"https://docs.openclaw.ai/web"},{"label":"Mod\xe8le de s\xe9curit\xe9","url":"https://docs.openclaw.ai/gateway/security"},{"label":"Aper\xe7u des nœuds","url":"https://docs.openclaw.ai/nodes"},{"label":"R\xe9f\xe9rence de configuration du Gateway","url":"https://docs.openclaw.ai/gateway/configuration-reference"}]}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.