2026-07-12 openclaw-gateway-config-discord-allow
Chat 2026-07-12 — OpenClaw: fix config Discord + progetto gateway "rescue"
Messaggio 1 — Ettore
La finestra di caricamento di openclaw ritorna:
🦞 OpenClaw 2026.6.11 (e085fa1)
[gateway] Gateway failed to start: Invalid config at C:\Users\Ettore\.openclaw\openclaw.json.
channels.discord.accounts.default.guilds.1520819341946519562.channels.<id>:
invalid config for plugin discord: must not have additional properties: "allow"
(ripetuto per 8+ canali, account default e archimede)
Run "openclaw doctor --fix" to repair, then retry.Risposta 1 — Claude
Causa. Il plugin @openclaw/discord aggiornato (v2026.6.10) non accetta più la chiave allow
nelle voci guilds.<guildId>.channels.<channelId>. Verificato nel codice del plugin
(dist/allow-list-*.js):
function resolveDiscordChannelConfigEntry(entry) {
return {
allowed: entry.enabled !== false, // <-- ora si usa "enabled"
requireMention, ignoreOtherMentions, skills, enabled, users, roles,
systemPrompt, includeThreadStarter, autoThread, autoThreadName, autoArchiveDuration
};
}Fix applicato. Backup openclaw.json.bak.pre-allow-fix-<timestamp> + sostituito in tutti i canali
Discord (account default, archimede, creso) "allow": true → "enabled": true. Voci corrette: 11.
L'unico "allow" rimasto è quello legittimo di agentToAgent.allow.
Messaggio 2 — Ettore
come facciamo se volessi creare un altro gateway (in docker) per avere un agente che gestisce le
configurazioni dell'altro e restarta il gateway del principale se sono fuori casa?
Risposta 2 — Claude
Scelte fatte da Ettore: guardiano nativo su Windows (non Docker) · restart via shell
dell'agente · poteri = diagnosi + restart autonomi, config solo su conferma · canale Telegram,
cervello Claude CLI.
Ricerca: OpenClaw supporta nativamente questo scenario — si chiama rescue bot
(docs.openclaw.ai/gateway/multiple-gateways). Docker sarebbe stato controproducente: un container
Linux non può riavviare un processo nativo Windows.
Progetto definito: secondo gateway, profilo rescue, porta 19789, bot Telegram dedicato,
state/workspace separati.
openclaw --profile rescue onboard
openclaw --profile rescue gateway install --port 19789Footgun individuato: il servizio rescue gira con OPENCLAW_CONFIG_PATH/OPENCLAW_STATE_DIR del
proprio profilo → se l'agente lancia openclaw gateway restart riavvia sé stesso. Per agire sul
main: schtasks /End|/Run /TN "OpenClaw Gateway" oppure forzare le env var del main.
Limite dichiarato: il rescue è sullo stesso PC → copre i crash di OpenClaw, non il PC spento.
Deliverable: guida completa (installazione, config claude-cli, AGENTS.md del guardiano,
sicurezza, test di collaudo) in01_STRUMENTI_di_LAVORO/15_OpenClaw_gateway_rescue_telegram.md.
Messaggio 3 — Ettore
sì installiamo subito. Token bot: [TOKEN TELEGRAM — REDATTO, non salvato nel DB]Risposta 3 — Claude
Non posso eseguire comandi sul PC di Ettore (shell = sandbox Linux; nei terminali Windows la
digitazione via computer-use è bloccata). Quindi ho preparato tutto e lasciato a lui un solo comando.
Creati:
C:\Users\Ettore\.openclaw\workspace-rescue\AGENTS.md— istruzioni del Guardiano: coordinate del MAIN, regola n.1 (non riavviare sé stesso: usareschtaskso forzare le env var), poteri (diagnosi/restart autonomi, scritture su config solo dopo OK), protocollo "MAIN giù" con la distinzione processo morto → restart vs config invalida → NON riavviare in loop, serve fix.01_STRUMENTI_di_LAVORO/SETUP_rescue_bot.ps1— script: chiede il token a runtime (non lo salva su disco), imposta profilo rescue (porta 19789, bind loopback, workspace dedicato), canale Telegram condmPolicy: pairing, modelli viaclaude-cli(Sonnet primario),config validate,gateway install, e verifica finale di entrambi i gateway.
Nota sicurezza: il token è stato incollato in chat → se il bot fosse mai esposto, rigenerarlo da
BotFather (/revoke). Non è stato scritto in nessun file del DB.
Prossimi passi per Ettore: lanciare lo script, poi pairing su Telegram, poi test di collaudo
(rompere di proposito la config del MAIN e vedere se il Guardiano diagnostica e chiede l'OK).
Messaggi 4-8 — installazione, intoppi e soluzioni
Esito script. Servizio rescue installato (Scheduled Task: OpenClaw Gateway (rescue)),
state dir C:\Users\Ettore\.openclaw-rescue, config valida, porta 19789. Il MAIN è risultato vivo
(probe ok su 18789) → il fix allow→enabled ha funzionato.
Intoppi incontrati e fix:
| Problema | Causa | Fix |
|---|---|---|
Could not parse ... as JSON for --strict-json | PowerShell mangia le virgolette del JSON passato a un exe nativo | virgolette scappate: '{\"chiave\":{...}}' |
No gateway.mode found | profilo nuovo senza gateway.mode | openclaw --profile rescue config set gateway.mode local |
rescue ECONNREFUSED 127.0.0.1:19789 | task registrato ma mai avviato | schtasks /Run /TN "OpenClaw Gateway (rescue)" (poi risolto, avvio ok) |
| bot lento a rispondere | costo strutturale del runtime claude-cli: un processo nuovo a ogni turno (avvio CLI + workspace + skill + MCP, poi inferenza) | passaggio a Haiku come primario |
| Haiku impostato come primario ma assente dal catalogo | model.primary fuori da agents.defaults.models → OpenClaw tenta la via API (nessuna key) e rallenta | aggiungerlo al catalogo con agentRuntime.id = claude-cli via --strict-json --merge |
Scoperta importante sul MAIN (da sistemare a mente fredda):
Plugin version drift: brave 2026.6.10 → 2026.6.11 · discord 2026.6.10 → 2026.6.11
Gateway service installed by 2026.6.10; current CLI is 2026.6.11È la causa a monte dell'errore di stamattina: CLI aggiornato, plugin rimasti indietro.
Da fare davanti al PC: openclaw plugins update ... → openclaw doctor (guardare prima di --repair) → openclaw gateway restart.
Stato al termine: pairing Telegram fatto; guardiano operativo; **collaudo dei 3 test ancora da
completare** (leggere il main / riavviarlo via schtasks / gestire una config invalida chiedendo l'OK).