You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/cli/memory.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,3 +50,5 @@ Notes:
50
50
-`memory status --deep --index` runs a reindex if the store is dirty.
51
51
-`memory index --verbose` prints per-phase details (provider, model, sources, batch activity).
52
52
-`memory status` includes any extra paths configured via `memorySearch.extraPaths`.
53
+
- If effectively active memory remote API key fields are configured as SecretRefs, the command resolves those values from the active gateway snapshot. If gateway is unavailable, the command fails fast.
54
+
- Gateway version skew note: this command path requires a gateway that supports `secrets.resolve`; older gateways return an unknown-method error.
Copy file name to clipboardExpand all lines: docs/cli/qr.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,9 @@ openclaw qr --url wss://gateway.example/ws --token '<token>'
34
34
## Notes
35
35
36
36
-`--token` and `--password` are mutually exclusive.
37
+
- With `--remote`, if effectively active remote credentials are configured as SecretRefs and you do not pass `--token` or `--password`, the command resolves them from the active gateway snapshot. If gateway is unavailable, the command fails fast.
38
+
- Without `--remote`, local `gateway.auth.password` SecretRefs are resolved when password auth can win (explicit `gateway.auth.mode="password"` or inferred password mode with no winning token from auth/env), and no CLI auth override is passed.
39
+
- Gateway version skew note: this command path requires a gateway that supports `secrets.resolve`; older gateways return an unknown-method error.
-`--skip-provider-setup`: skip provider setup and map credentials to existing providers.
112
+
-`--agent <id>`: scope `auth-profiles.json` target discovery and writes to one agent store.
109
113
110
114
Notes:
111
115
112
116
- Requires an interactive TTY.
113
117
- You cannot combine `--providers-only` with `--skip-provider-setup`.
114
-
-`configure` targets secret-bearing fields in `openclaw.json`.
115
-
- Include all secret-bearing fields you intend to migrate (for example both `models.providers.*.apiKey` and `skills.entries.*.apiKey`) so audit can reach a clean state.
118
+
-`configure` targets secret-bearing fields in `openclaw.json` plus `auth-profiles.json` for the selected agent scope.
119
+
-`configure` supports creating new `auth-profiles.json` mappings directly in the picker flow.
- Generated plans default to scrub options (`scrubEnv`, `scrubAuthProfilesForProviderTargets`, `scrubLegacyAuthJson` all enabled).
118
-
- Apply path is one-way for migrated plaintext values.
123
+
- Apply path is one-way for scrubbed plaintext values.
119
124
- Without `--apply`, CLI still prompts `Apply this plan now?` after preflight.
120
-
- With `--apply` (and no `--yes`), CLI prompts an extra irreversible-migration confirmation.
125
+
- With `--apply` (and no `--yes`), CLI prompts an extra irreversible confirmation.
121
126
122
127
Exec provider safety note:
123
128
124
129
- Homebrew installs often expose symlinked binaries under `/opt/homebrew/bin/*`.
125
130
- Set `allowSymlinkCommand: true` only when needed for trusted package-manager paths, and pair it with `trustedDirs` (for example `["/opt/homebrew"]`).
131
+
- On Windows, if ACL verification is unavailable for a provider path, OpenClaw fails closed. For trusted paths only, set `allowInsecurePath: true` on that provider to bypass path security checks.
126
132
127
133
## Apply a saved plan
128
134
@@ -154,10 +160,9 @@ Safety comes from strict preflight + atomic-ish apply with best-effort in-memory
154
160
## Example
155
161
156
162
```bash
157
-
# Audit first, then configure, then confirm clean:
158
163
openclaw secrets audit --check
159
164
openclaw secrets configure
160
165
openclaw secrets audit --check
161
166
```
162
167
163
-
If `audit --check` still reports plaintext findings after a partial migration, verify you also migrated skill keys (`skills.entries.*.apiKey`) and any other reported target paths.
168
+
If `audit --check` still reports plaintext findings, update the remaining reported target paths and rerun audit.
Copy file name to clipboardExpand all lines: docs/gateway/configuration-reference.md
+14-15Lines changed: 14 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1170,8 +1170,8 @@ Optional **Docker sandboxing** for the embedded agent. See [Sandboxing](/gateway
1170
1170
1171
1171
**`docker.binds`** mounts additional host directories; global and per-agent binds are merged.
1172
1172
1173
-
**Sandboxed browser** (`sandbox.browser.enabled`): Chromium + CDP in a container. noVNC URL injected into system prompt. Does not require `browser.enabled` in main config.
1174
-
noVNC observer access uses VNC auth by default and OpenClaw emits a short-lived token URL that serves a local bootstrap page; noVNC password is passed via URL fragment (instead of URL query).
1173
+
**Sandboxed browser** (`sandbox.browser.enabled`): Chromium + CDP in a container. noVNC URL injected into system prompt. Does not require `browser.enabled` in `openclaw.json`.
1174
+
noVNC observer access uses VNC auth by default and OpenClaw emits a short-lived token URL (instead of exposing the password in the shared URL).
1175
1175
1176
1176
-`allowHostControl: false` (default) blocks sandboxed sessions from targeting the host browser.
1177
1177
-`network` defaults to `openclaw-sandbox-browser` (dedicated bridge network). Set to `bridge` only when you explicitly want global bridge connectivity.
@@ -1605,7 +1605,8 @@ Defaults for Talk mode (macOS/iOS/Android).
1605
1605
```
1606
1606
1607
1607
- Voice IDs fall back to `ELEVENLABS_VOICE_ID` or `SAG_VOICE_ID`.
1608
-
-`apiKey` falls back to `ELEVENLABS_API_KEY`.
1608
+
-`apiKey` and `providers.*.apiKey` accept plaintext strings or SecretRef objects.
1609
+
-`ELEVENLABS_API_KEY` fallback applies only when no Talk API key is configured.
1609
1610
-`voiceAliases` lets Talk directives use friendly names.
1610
1611
1611
1612
---
@@ -1804,7 +1805,7 @@ Configures inbound media understanding (image/audio/video):
1804
1805
1805
1806
-`provider`: API provider id (`openai`, `anthropic`, `google`/`gemini`, `groq`, etc.)
-`auth-profiles.json` refs are included in runtime resolution and audit coverage.
2649
2647
2650
2648
### Secret providers config
2651
2649
@@ -2683,6 +2681,7 @@ Notes:
2683
2681
- If `trustedDirs` is configured, the trusted-dir check applies to the resolved target path.
2684
2682
-`exec` child environment is minimal by default; pass required variables explicitly with `passEnv`.
2685
2683
- Secret refs are resolved at activation time into an in-memory snapshot, then request paths read the snapshot only.
2684
+
- Active-surface filtering applies during activation: unresolved refs on enabled surfaces fail startup/reload, while inactive surfaces are skipped with diagnostics.
2686
2685
2687
2686
---
2688
2687
@@ -2702,8 +2701,8 @@ Notes:
2702
2701
}
2703
2702
```
2704
2703
2705
-
- Per-agent auth profiles stored at `<agentDir>/auth-profiles.json`.
2706
-
-Auth profiles support value-level refs (`keyRef` for `api_key`, `tokenRef` for `token`).
2704
+
- Per-agent profiles are stored at `<agentDir>/auth-profiles.json`.
2705
+
-`auth-profiles.json` supports value-level refs (`keyRef` for `api_key`, `tokenRef` for `token`).
2707
2706
- Static runtime credentials come from in-memory resolved snapshots; legacy static `auth.json` entries are scrubbed when discovered.
2708
2707
- Legacy OAuth imports from `~/.openclaw/credentials/oauth.json`.
2709
2708
- See [OAuth](/concepts/oauth).
@@ -2900,7 +2899,7 @@ Split config into multiple files:
2900
2899
- Array of files: deep-merged in order (later overrides earlier).
2901
2900
- Sibling keys: merged after includes (override included values).
2902
2901
- Nested includes: up to 10 levels deep.
2903
-
- Paths: resolved relative to the including file, but must stay inside the top-level config directory (`dirname` of the main config file). Absolute/`../` forms are allowed only when they still resolve inside that boundary.
2902
+
- Paths: resolved relative to the including file, but must stay inside the top-level config directory (`dirname` of `openclaw.json`). Absolute/`../` forms are allowed only when they still resolve inside that boundary.
2904
2903
- Errors: clear messages for missing files, parse errors, and circular includes.
0 commit comments