diff --git a/CLAUDE.md b/CLAUDE.md index e2ccaea..dfa2489 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -195,3 +195,4 @@ This avoids repeatedly reading large files and provides instant context about th 5. **Gateway spawn inherits stdio** β†’ logs appear in wrapper output (src/server.js:134) 6. **WebSocket auth requires proxy event handlers** β†’ Direct `req.headers` modification doesn't work for WebSocket upgrades with http-proxy; must use `proxyReqWs` event (src/server.js:741) to reliably inject Authorization header 7. **Control UI requires allowInsecureAuth to bypass pairing** β†’ Set `gateway.controlUi.allowInsecureAuth=true` during onboarding to prevent "disconnected (1008): pairing required" errors (GitHub issue #2284). Wrapper already handles bearer token auth, so device pairing is unnecessary. +8. **Config Editor (`/setup/config`) writes `openclaw.json` directly** β†’ unlike onboarding (which uses `openclaw config set --json`), the editor parses+validates JSON, makes a `.bak-` copy, then `fs.writeFileSync`s the new contents and calls `restartGateway()`. This is intentional: it's an operator-targeted advanced tool, so direct writes are simpler and let users fix arbitrarily-broken config without depending on the CLI. diff --git a/src/public/config.html b/src/public/config.html new file mode 100644 index 0000000..10f3f6f --- /dev/null +++ b/src/public/config.html @@ -0,0 +1,146 @@ + + + + + + 🦞 OpenClaw β€” Config Editor + + + + + +
+
+ + + OpenClaw + +
+ +
+ ← Back to Setup +
+ +
+
+
+

Config Editor

+

Direct edit of openclaw.json. Saving creates a timestamped .bak backup and restarts the gateway.

+
+
+ +

+ File: + + (does not exist yet) +

+ + + +
+ + +
+ +
+
+
+
+ + diff --git a/src/public/loading.html b/src/public/loading.html index 27c886d..eb3c98e 100644 --- a/src/public/loading.html +++ b/src/public/loading.html @@ -5,9 +5,6 @@ OpenClaw - - -