diff --git a/docs/concepts/system-prompt.md b/docs/concepts/system-prompt.md index 39375e37877..da7effc3a43 100644 --- a/docs/concepts/system-prompt.md +++ b/docs/concepts/system-prompt.md @@ -19,7 +19,10 @@ The prompt is intentionally compact and uses fixed sections: - **Tooling**: current tool list + short descriptions. - **Safety**: short guardrail reminder to avoid power-seeking behavior or bypassing oversight. - **Skills** (when available): tells the model how to load skill instructions on demand. -- **OpenClaw Self-Update**: how to run `config.apply` and `update.run`. +- **OpenClaw Self-Update**: how to inspect config safely with + `config.schema.lookup`, patch config with `config.patch`, replace the full + config with `config.apply`, and run `update.run` only on explicit user + request. - **Workspace**: working directory (`agents.defaults.workspace`). - **Documentation**: local path to OpenClaw docs (repo or npm package) and when to read them. - **Workspace Files (injected)**: indicates bootstrap files are included below. diff --git a/docs/help/faq.md b/docs/help/faq.md index 9a860d83c4d..e2aee596aa7 100644 --- a/docs/help/faq.md +++ b/docs/help/faq.md @@ -1602,6 +1602,8 @@ for usage/billing and raise limits as needed. - Use `openclaw config set` for small changes. - Use `openclaw configure` for interactive edits. + - Use `config.schema.lookup` first when you are not sure about an exact path or field shape. + - Use `config.patch` for partial RPC edits; keep `config.apply` for full-config replacement only. Docs: [Config](/cli/config), [Configure](/cli/configure), [Doctor](/gateway/doctor). @@ -1771,7 +1773,13 @@ for usage/billing and raise limits as needed. - Yes. `config.apply` validates + writes the full config and restarts the Gateway as part of the operation. + Yes. + + - `config.schema.lookup`: inspect one config subtree with field docs before writing + - `config.get`: fetch the current snapshot + hash + - `config.patch`: safe partial update (preferred for most RPC edits) + - `config.apply`: validate + replace the full config, then restart + @@ -2192,6 +2200,8 @@ for usage/billing and raise limits as needed. - edit `agents.defaults.model` in `~/.openclaw/openclaw.json` Avoid `config.apply` with a partial object unless you intend to replace the whole config. + For RPC edits, inspect with `config.schema.lookup` first and prefer `config.patch` + for partial updates. If you did overwrite config, restore from backup or re-run `openclaw doctor` to repair. Docs: [Models](/concepts/models), [Configure](/cli/configure), [Config](/cli/config), [Doctor](/gateway/doctor). diff --git a/docs/tools/index.md b/docs/tools/index.md index 28438c0aa88..2b7fc8ed497 100644 --- a/docs/tools/index.md +++ b/docs/tools/index.md @@ -53,20 +53,20 @@ OpenClaw has three layers that work together: These tools ship with OpenClaw and are available without installing any plugins: -| Tool | What it does | Page | -| ------------------------------------------ | -------------------------------------------------------- | --------------------------------------- | -| `exec` / `process` | Run shell commands, manage background processes | [Exec](/tools/exec) | -| `code_execution` | Run sandboxed remote Python analysis | [Code Execution](/tools/code-execution) | -| `browser` | Control a Chromium browser (navigate, click, screenshot) | [Browser](/tools/browser) | -| `web_search` / `x_search` / `web_fetch` | Search the web, search X posts, fetch page content | [Web](/tools/web) | -| `read` / `write` / `edit` | File I/O in the workspace | | -| `apply_patch` | Multi-hunk file patches | [Apply Patch](/tools/apply-patch) | -| `message` | Send messages across all channels | [Agent Send](/tools/agent-send) | -| `canvas` | Drive node Canvas (present, eval, snapshot) | | -| `nodes` | Discover and target paired devices | | -| `cron` / `gateway` | Manage scheduled jobs, restart gateway | | -| `image` / `image_generate` | Analyze or generate images | | -| `sessions_*` / `subagents` / `agents_list` | Session management, status, and sub-agent orchestration | [Sub-agents](/tools/subagents) | +| Tool | What it does | Page | +| ------------------------------------------ | --------------------------------------------------------------------- | --------------------------------------- | +| `exec` / `process` | Run shell commands, manage background processes | [Exec](/tools/exec) | +| `code_execution` | Run sandboxed remote Python analysis | [Code Execution](/tools/code-execution) | +| `browser` | Control a Chromium browser (navigate, click, screenshot) | [Browser](/tools/browser) | +| `web_search` / `x_search` / `web_fetch` | Search the web, search X posts, fetch page content | [Web](/tools/web) | +| `read` / `write` / `edit` | File I/O in the workspace | | +| `apply_patch` | Multi-hunk file patches | [Apply Patch](/tools/apply-patch) | +| `message` | Send messages across all channels | [Agent Send](/tools/agent-send) | +| `canvas` | Drive node Canvas (present, eval, snapshot) | | +| `nodes` | Discover and target paired devices | | +| `cron` / `gateway` | Manage scheduled jobs; inspect, patch, restart, or update the gateway | | +| `image` / `image_generate` | Analyze or generate images | | +| `sessions_*` / `subagents` / `agents_list` | Session management, status, and sub-agent orchestration | [Sub-agents](/tools/subagents) | For image work, use `image` for analysis and `image_generate` for generation or editing. If you target `openai/*`, `google/*`, `fal/*`, or another non-default image provider, configure that provider's auth/API key first. @@ -76,6 +76,17 @@ optionally set a per-session model override; `model=default` clears that override. Like `/status`, it can backfill sparse token/cache counters and the active runtime model label from the latest transcript usage entry. +`gateway` is the owner-only runtime tool for gateway operations: + +- `config.schema.lookup` for one path-scoped config subtree before edits +- `config.get` for the current config snapshot + hash +- `config.patch` for partial config updates with restart +- `config.apply` only for full-config replacement +- `update.run` for explicit self-update + restart + +For partial changes, prefer `config.schema.lookup` then `config.patch`. Use +`config.apply` only when you intentionally replace the entire config. + ### Plugin-provided tools Plugins can register additional tools. Some examples: