Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
9f5c938
migration: automatic rollback only when no schema migration ran; trim…
melvincarvalho Oct 18, 2026
40e9656
skill-development: clawhub uninstall needs --workdir for the install …
melvincarvalho Oct 18, 2026
843bb97
privacy-compliance: source the Gartner assessment (First Take, The Re…
melvincarvalho Oct 18, 2026
ec878ad
memory-systems: drop vendor SDK sample and repeated decision tables; …
melvincarvalho Oct 18, 2026
1a73f01
model-selection: fold the unsourced tool-use reliability table into t…
melvincarvalho Oct 18, 2026
04f66ec
monitoring: plain doctor can write, point read-only checks at status …
melvincarvalho Oct 18, 2026
1a2db1e
workboard: scheduled dispatch needs host cron (the agent tool starts …
melvincarvalho Oct 18, 2026
0e791ea
multi-agent: Workboard details now live on the Workboard guide; merge…
melvincarvalho Oct 18, 2026
429c26a
performance-tuning: embeddings default to OpenAI, dreaming.model need…
melvincarvalho Oct 18, 2026
57d2593
plugin-system: drop unverifiable bundled-default ratio; read-only doc…
melvincarvalho Oct 18, 2026
2626389
soul-md: ClawHavoc stole credentials, it did not target SOUL.md; cut …
melvincarvalho Oct 18, 2026
048b1ba
upgrading-to-2: automatic rollback is schema-neutral only; managed do…
melvincarvalho Oct 18, 2026
ab4ca70
use-cases: cut two unsourced cases and the unsourced cost table; drop…
melvincarvalho Oct 18, 2026
faead17
video-generation: cut Remotion API material duplicated from remotion.…
melvincarvalho Oct 18, 2026
605a43c
voice-multimodal: correct local transcription fallback order; point V…
melvincarvalho Oct 18, 2026
9d1a349
webclaw: link the WebSocket protocol to its canonical page (reference…
melvincarvalho Oct 18, 2026
6f10e7e
privacy-compliance: shorten key checklist to the privacy-specific poi…
melvincarvalho Oct 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 4 additions & 45 deletions docs/guides/memory-systems.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ v2026.8.1 ("OpenClaw 2.0") retired the QMD memory backend. Built-in memory now o

To make the agent remember something, ask it: "Remember that I prefer TypeScript." It writes the note to the right file. Before [compaction](https://docs.openclaw.ai/concepts/compaction) summarises a long conversation, OpenClaw also runs a silent "memory flush" turn so the agent can save important context first (on by default; `agents.defaults.compaction.memoryFlush.enabled: false` turns it off).

Use `/context list` or `openclaw doctor` to see how much of `MEMORY.md` is actually reaching the model.
Use `/context list` or `/context detail` in chat to see how much of `MEMORY.md` is actually reaching the model (raw versus injected size, and whether it was truncated).

### Configuration

Expand Down Expand Up @@ -201,18 +201,7 @@ None of these is maintained by the OpenClaw project. Star counts and last-push d

- **Repo:** [mem0ai/mem0](https://github.com/mem0ai/mem0)
- **Integration:** Python/TypeScript SDK and API; hosted platform or self-hosted
- **Fit:** teams that want a managed service with analytics and support

```python
from mem0 import Memory
m = Memory()
m.add("User prefers TypeScript over JavaScript", user_id="alex")
results = m.search("What languages does the user prefer?", user_id="alex")
```

:::info
Mem0 is not OpenClaw-specific. You connect it yourself, through a custom plugin, skill or MCP server.
:::
- **Fit:** teams that want a managed service with analytics and support. Mem0 is not OpenClaw-specific: you connect it yourself, through a custom plugin, skill or MCP server.

---

Expand Down Expand Up @@ -371,43 +360,13 @@ A plugin runs inside the Gateway process with the Gateway's permissions, so trea

Remember that whatever memory is loaded into a prompt is sent to your model provider.

### By Use Case

| Use Case | Pick | Why |
|----------|------|-----|
| **General assistant** | Built-in | No setup, plain files |
| **Curated knowledge base** | Memory Wiki | Claims, evidence, freshness tracking |
| **Coding agent** | claude-mem | Built for dev context |
| **Research agent** | Cognee or Hindsight | Structured knowledge |
| **Shared context across agents** | PowerContext | Context outside any one session |
| **Long conversations** | Lossless Claw | Replaces lossy compaction |
| **Total recall** | MemPalace | Stores everything verbatim |

---

## Getting Started

### Keep It Simple

New to OpenClaw? Use the built-in memory and change nothing. Dreaming is already on. The one setting worth deciding early is the embedding provider: leave the default (OpenAI) if you are already using OpenAI, or pick a local provider if you want memory to stay on the machine (see [Configuration](#configuration)).

Then check that it works:

```bash
openclaw memory status
```

### When to Upgrade

Consider adding something when:
- Built-in recall misses things you know are in your notes (first try `openclaw memory search` and a better embedding provider)
- Compaction is losing detail you need later
- You need memory shared across several agents or people
- You need structured knowledge (entities, relationships)

### Try Before Committing
Use the built-in memory and change nothing; Dreaming is already on. The one setting worth deciding early is the embedding provider: the default sends note text to OpenAI, so pick a local provider if memory must stay on the machine (see [Configuration](#configuration)). Check it with `openclaw memory status`.

Most community systems run alongside the built-in memory. Add one as an MCP server, use it for a week, and compare. You rarely need to replace `memory-core`; you can add to it.
Add something else only when built-in recall misses notes you know exist (try `openclaw memory search` and a better embedding provider first), compaction loses detail you need, or several agents or people need shared or structured memory. Most community systems run beside `memory-core` rather than replacing it, so trial one as an MCP server for a week before committing.

---

Expand Down
11 changes: 2 additions & 9 deletions docs/guides/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ The supported route:
```

The archive contains credentials. Store it with owner-only permissions.
2. **Update with `openclaw update`** rather than a raw `npm i -g`. It stages the new version, runs Doctor, verifies the Gateway, keeps the previous package during activation, and rolls back automatically when post-update checks fail. Preview with `openclaw update --dry-run`.
2. **Update with `openclaw update`** rather than a raw `npm i -g`. It stages the new version, runs Doctor, verifies the Gateway and keeps the previous package during activation. If verification fails, it rolls back automatically only when no database schema changed (upstream calls this schema-neutral rollback). Once Doctor has migrated a database, the updater keeps the new state, reports `state-migrated-no-rollback`, and you recover from your backup. Preview with `openclaw update --dry-run`.
3. **To go back to an older release**, restore a verified pre-update backup together with the OpenClaw release that made it. Do not run an older release against migrated state.
4. **Clean up only after verifying.** `openclaw update cleanup` retires recovery originals; run it only once your sessions and channels work.

Expand Down Expand Up @@ -221,16 +221,9 @@ Credentials are imported only when you accept the prompt or pass `--include-secr

**Do not run anything older.** [CVE-2026-25253](https://nvd.nist.gov/vuln/detail/CVE-2026-25253) (CVSS 8.8, High): before 2026.1.29, the Control UI took a `gatewayUrl` from the query string and connected to it without prompting, sending the gateway token. A crafted link could hand an attacker your token and, through it, command execution on the host. The same release removed the old implicit no-auth mode (an explicit loopback-only `none` mode was later reintroduced, see above).

### v2026.1.30: CLI improvements (January 31)

- Shell completion: `openclaw completion` (Zsh, Bash, PowerShell, Fish)
- Per-agent model status: `openclaw models status --agent <id>`
- New providers: Kimi K2.5, MiniMax OAuth

### v2026.2.6: code safety scanner (February 6)

- New model support: Claude Opus 4.6, GPT-5.3-Codex, xAI Grok
- Built-in code safety scanner for skills and plugins; credentials redacted from `config.get` gateway responses
Added a built-in code safety scanner for skills and plugins, and redacted credentials from `config.get` Gateway responses.

ClawHub added VirusTotal scanning on publish in the same month, in response to the [ClawHavoc campaign](/security/known-vulnerabilities#the-clawhavoc-campaign). See [Skill Verification](/security/skill-verification) for how scanning works today.

Expand Down
11 changes: 2 additions & 9 deletions docs/guides/model-selection.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,17 +113,10 @@ Current Claude models (Fable 5.1, Opus 5.5, Sonnet 5.5, Haiku 5.5) and Opus/Sonn

### Tool use (agent workloads)

OpenClaw relies on reliable function calling with streamed tool-call deltas and well-formed JSON arguments.

| Model class | Tool-use reliability |
|---|---|
| Current Claude, GPT-6 and Gemini models | Reliable |
| DeepSeek V4 | Good |
| Local 30B+ models (Qwen3 32B, Llama 3.3 70B) | Good, with enough context (`num_ctx`) configured |
| Local models under ~14B | Often fail multi-step tool chains |
OpenClaw needs reliable function calling: streamed tool-call deltas and well-formed JSON arguments. Current Claude, GPT-6 and Gemini models handle multi-step tool chains well; DeepSeek V4 and 30B+ local models (Qwen3 32B, Llama 3.3 70B) usually do, given enough context (`num_ctx`). This is clawdocs' judgement from use, not a benchmark.

:::caution
Local models smaller than about 14B parameters often struggle with multi-step tool calling. For reliable agent behaviour, use 30B+ local models or a cloud model. Small local models are also easier to manipulate with prompt injection, so keep approvals on for tools that act on your system ([Hardening](/security/hardening)).
Local models smaller than about 14B parameters often fail multi-step tool calls. They are also easier to manipulate with prompt injection, so keep approvals on for tools that act on your system ([Hardening](/security/hardening)).
:::

---
Expand Down
6 changes: 3 additions & 3 deletions docs/guides/monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ openclaw health --json # same, machine-readable
openclaw gateway status # service and RPC probe
```

`openclaw doctor` is a diagnose-and-repair tool, not a health check. Use it after upgrades or when something is broken, not as a liveness probe; `doctor --fix` writes changes.
`openclaw doctor` is a diagnose-and-repair tool, not a health check. Even without `--fix` it can migrate config and state, so do not use it as a probe. For a read-only report (for example in CI), use `openclaw doctor --lint`.

### Component checks

Expand Down Expand Up @@ -247,7 +247,7 @@ Notes:
- `protocol` accepts only `http/protobuf`; gRPC was retired. Doctor rewrites an old `grpc` value.
- When `endpoint` is unset, the standard `OTEL_EXPORTER_OTLP_*` variables are used as a fallback.
- `captureContent` (default off) puts raw message and tool content in span attributes. Leave it off unless your collector's retention policy allows that data.
- `openclaw status --all` and `openclaw doctor` show exporter health per signal.
- `openclaw status --all` (read-only) shows exporter health per signal.
- `openclaw agent exec` runs do not export telemetry; dispatch through the Gateway or use `openclaw agent --local`.

Field reference, metric names and span names: [Setup](https://docs.openclaw.ai/gateway/opentelemetry/setup), [Configuration](https://docs.openclaw.ai/gateway/opentelemetry/configuration), [Privacy and trace context](https://docs.openclaw.ai/gateway/opentelemetry/privacy-and-trace-context).
Expand All @@ -257,7 +257,7 @@ Field reference, metric names and span names: [Setup](https://docs.openclaw.ai/g
```yaml title="docker-compose.otel.yml (add to your existing compose)"
services:
jaeger:
image: jaegertracing/all-in-one:latest
image: jaegertracing/jaeger:latest # Jaeger v2; the v1 all-in-one image is end-of-life
ports:
- "127.0.0.1:16686:16686" # Jaeger UI
```
Expand Down
Loading
Loading