docs: improve 2026.4.23 release docs · openclaw/openclaw@b2352c3
steipete
·
2026-04-25
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -9,6 +9,16 @@ title: "Chat channels"
|
9 | 9 | OpenClaw can talk to you on any chat app you already use. Each channel connects via the Gateway. |
10 | 10 | Text is supported everywhere; media and reactions vary by channel. |
11 | 11 | |
| 12 | +## Delivery notes |
| 13 | + |
| 14 | +- Telegram replies that contain markdown image syntax, such as ``, |
| 15 | + are converted into media replies on the final outbound path when possible. |
| 16 | +- Slack multi-person DMs route as group chats, so group policy, mention |
| 17 | + behavior, and group-session rules apply to MPIM conversations. |
| 18 | +- WhatsApp setup is install-on-demand: onboarding can show the setup flow before |
| 19 | + Baileys runtime dependencies are staged, and the Gateway loads the WhatsApp |
| 20 | + runtime only when the channel is actually active. |
| 21 | + |
12 | 22 | ## Supported channels |
13 | 23 | |
14 | 24 | - [BlueBubbles](/channels/bluebubbles) — **Recommended for iMessage**; uses the BlueBubbles macOS server REST API with full feature support (bundled plugin; edit, unsend, effects, reactions, group management — edit currently broken on macOS 26 Tahoe). |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -461,6 +461,10 @@ Two built-in tools can make persistent control-plane changes:
|
461 | 461 | The owner-only `gateway` runtime tool still refuses to rewrite |
462 | 462 | `tools.exec.ask` or `tools.exec.security`; legacy `tools.bash.*` aliases are |
463 | 463 | normalized to the same protected exec paths before the write. |
| 464 | +Agent-driven `gateway config.apply` and `gateway config.patch` edits are |
| 465 | +fail-closed by default: only a narrow set of prompt, model, and mention-gating |
| 466 | +paths are agent-tunable. New sensitive config trees are therefore protected |
| 467 | +unless they are deliberately added to the allowlist. |
464 | 468 | |
465 | 469 | For any agent/surface that handles untrusted content, deny these by default: |
466 | 470 | |
@@ -843,6 +847,10 @@ Plaintext `ws://` is loopback-only by default. For trusted private-network
|
843 | 847 | paths, set `OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` on the client process as |
844 | 848 | break-glass. This is intentionally process environment only, not an |
845 | 849 | `openclaw.json` config key. |
| 850 | +Mobile pairing and Android manual or scanned gateway routes are stricter: |
| 851 | +cleartext is accepted for loopback, but private-LAN, link-local, `.local`, and |
| 852 | +dotless hostnames must use TLS unless you explicitly opt into the trusted |
| 853 | +private-network cleartext path. |
846 | 854 | |
847 | 855 | Local device pairing: |
848 | 856 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -71,6 +71,18 @@ ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmp
|
71 | 71 | If `OPENCLAW_PLUGIN_STAGE_DIR` is not set, OpenClaw uses `$STATE_DIRECTORY` when |
72 | 72 | systemd provides it, then falls back to `~/.openclaw/plugin-runtime-deps`. |
73 | 73 | |
| 74 | +### Bundled plugin runtime dependencies |
| 75 | + |
| 76 | +Packaged installs keep bundled plugin runtime dependencies out of the read-only |
| 77 | +package tree. On startup and during `openclaw doctor --fix`, OpenClaw repairs |
| 78 | +runtime dependencies only for bundled plugins that are active in config, active |
| 79 | +through legacy channel config, or enabled by their bundled manifest default. |
| 80 | + |
| 81 | +Explicit disablement wins. A disabled plugin or channel does not get its |
| 82 | +runtime dependencies repaired just because it exists in the package. External |
| 83 | +plugins and custom load paths still use `openclaw plugins install` or |
| 84 | +`openclaw plugins update`. |
| 85 | + |
74 | 86 | ## Auto-updater |
75 | 87 | |
76 | 88 | The auto-updater is off by default. Enable it in `~/.openclaw/openclaw.json`: |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -15,6 +15,15 @@ OpenAI provides developer APIs for GPT models. OpenClaw supports three OpenAI-fa
|
15 | 15 | |
16 | 16 | OpenAI explicitly supports subscription OAuth usage in external tools and workflows like OpenClaw. |
17 | 17 | |
| 18 | +## Quick choice |
| 19 | + |
| 20 | +| Goal | Use | Notes | |
| 21 | +| --------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------- | |
| 22 | +| Direct API-key billing | `openai/gpt-5.4` | Set `OPENAI_API_KEY` or run OpenAI API-key onboarding. | |
| 23 | +| GPT-5.5 with ChatGPT/Codex subscription auth | `openai-codex/gpt-5.5` | Default PI route for Codex OAuth. Best first choice for subscription setups. | |
| 24 | +| GPT-5.5 with native Codex app-server behavior | `openai/gpt-5.5` plus `embeddedHarness.runtime: "codex"` | Uses the Codex app-server harness, not the public OpenAI API route. | |
| 25 | +| Image generation or editing | `openai/gpt-image-2` | Works with either `OPENAI_API_KEY` or OpenAI Codex OAuth. | |
| 26 | + |
18 | 27 | <Note> |
19 | 28 | GPT-5.5 is currently available in OpenClaw through subscription/OAuth routes: |
20 | 29 | `openai-codex/gpt-5.5` with the PI runner, or `openai/gpt-5.5` with the |
@@ -200,6 +209,14 @@ Choose your preferred auth method and follow the setup steps.
|
200 | 209 | Use `contextWindow` to declare native model metadata. Use `contextTokens` to limit the runtime context budget. |
201 | 210 | </Note> |
202 | 211 | |
| 212 | +### Catalog recovery |
| 213 | + |
| 214 | +OpenClaw uses upstream Codex catalog metadata for `gpt-5.5` when it is |
| 215 | +present. If live Codex discovery omits the `openai-codex/gpt-5.5` row while |
| 216 | +the account is authenticated, OpenClaw synthesizes that OAuth model row so |
| 217 | +cron, sub-agent, and configured default-model runs do not fail with |
| 218 | +`Unknown model`. |
| 219 | + |
203 | 220 | </Tab> |
204 | 221 | </Tabs> |
205 | 222 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -44,6 +44,21 @@ image endpoints remain blocked by default.
|
44 | 44 | |
45 | 45 | The agent calls `image_generate` automatically. No tool allow-listing needed — it's enabled by default when a provider is available. |
46 | 46 | |
| 47 | +## Common routes |
| 48 | + |
| 49 | +| Goal | Model ref | Auth | |
| 50 | +| ---------------------------------------------------- | -------------------------------------------------- | ------------------------------------ | |
| 51 | +| OpenAI image generation with API billing | `openai/gpt-image-2` | `OPENAI_API_KEY` | |
| 52 | +| OpenAI image generation with Codex subscription auth | `openai/gpt-image-2` | OpenAI Codex OAuth | |
| 53 | +| OpenRouter image generation | `openrouter/google/gemini-3.1-flash-image-preview` | `OPENROUTER_API_KEY` | |
| 54 | +| Google Gemini image generation | `google/gemini-3.1-flash-image-preview` | `GEMINI_API_KEY` or `GOOGLE_API_KEY` | |
| 55 | + |
| 56 | +The same `image_generate` tool handles text-to-image and reference-image |
| 57 | +editing. Use `image` for one reference or `images` for multiple references. |
| 58 | +Provider-supported output hints such as `quality`, `outputFormat`, and |
| 59 | +OpenAI-specific `background` are forwarded when available and reported as |
| 60 | +ignored when a provider does not support them. |
| 61 | + |
47 | 62 | ## Supported providers |
48 | 63 | |
49 | 64 | | Provider | Default model | Edit support | Auth | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -75,6 +75,19 @@ higher-quality model. You can configure this via `agents.defaults.subagents.mode
|
75 | 75 | overrides. When a child genuinely needs the requester's current transcript, the agent can request |
76 | 76 | `context: "fork"` on that one spawn. |
77 | 77 | |
| 78 | +## Context modes |
| 79 | + |
| 80 | +Native sub-agents start isolated unless the caller explicitly asks to fork the |
| 81 | +current transcript. |
| 82 | + |
| 83 | +| Mode | When to use it | Behavior | |
| 84 | +| ---------- | -------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | |
| 85 | +| `isolated` | Fresh research, independent implementation, slow tool work, or anything that can be briefed in the task text | Creates a clean child transcript. This is the default and keeps token use lower. | |
| 86 | +| `fork` | Work that depends on the current conversation, prior tool results, or nuanced instructions already present in the requester transcript | Branches the requester transcript into the child session before the child starts. | |
| 87 | + |
| 88 | +Use `fork` sparingly. It is for context-sensitive delegation, not a replacement |
| 89 | +for writing a clear task prompt. |
| 90 | + |
78 | 91 | ## Tool |
79 | 92 | |
80 | 93 | Use `sessions_spawn`: |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。