docs: refresh history sanitization tag mirrors

This commit is contained in:
Peter Steinberger
2026-04-04 22:21:26 +01:00
parent eee868452f
commit bc910942e2
11 changed files with 48 additions and 32 deletions

View File

@@ -285,11 +285,13 @@ The delegate's `AGENTS.md` defines its autonomous authority — what it may do w
If you grant `sessions_history`, remember it is a bounded, safety-filtered
recall view. OpenClaw redacts credential/token-like text, truncates long
content, strips thinking tags / `<relevant-memories>` scaffolding / plain-text
tool-call XML payloads (including `<tool_calls>` and truncated tool-call
blocks) / downgraded tool-call scaffolding / leaked ASCII/full-width model
control tokens / malformed MiniMax tool-call XML from assistant recall, and
can replace oversized rows with `[sessions_history omitted: message too
large]` instead of returning a raw transcript dump.
tool-call XML payloads (including `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>`, and truncated tool-call blocks) /
downgraded tool-call scaffolding / leaked ASCII/full-width model control
tokens / malformed MiniMax tool-call XML from assistant recall, and can
replace oversized rows with `[sessions_history omitted: message too large]`
instead of returning a raw transcript dump.
## Scaling pattern

View File

@@ -26,9 +26,11 @@ Auth profiles are **per-agent**. Each agent reads from its own:
`sessions_history` is the safer cross-session recall path here too: it returns
a bounded, sanitized view, not a raw transcript dump. Assistant recall strips
thinking tags, `<relevant-memories>` scaffolding, plain-text tool-call XML
payloads (including `<tool_calls>` and truncated tool-call blocks), downgraded
tool-call scaffolding, leaked ASCII/full-width model control tokens, and
malformed MiniMax tool-call XML before redaction/truncation.
payloads (including `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>`, and truncated tool-call blocks),
downgraded tool-call scaffolding, leaked ASCII/full-width model control
tokens, and malformed MiniMax tool-call XML before redaction/truncation.
Main agent credentials are **not** shared automatically. Never reuse `agentDir`
across agents (it causes auth/session collisions). If you want to share creds,

View File

@@ -38,8 +38,9 @@ The returned view is intentionally bounded and safety-filtered:
- thinking tags are stripped
- `<relevant-memories>` / `<relevant_memories>` scaffolding blocks are stripped
- plain-text tool-call XML payload blocks such as `<tool_call>...</tool_call>`,
`<tool_calls>...</tool_calls>`, and `<function_calls>...</function_calls>`
are stripped, including truncated payloads that never close cleanly
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`, and
`<function_calls>...</function_calls>` are stripped, including truncated
payloads that never close cleanly
- downgraded tool-call/result scaffolding such as `[Tool Call: ...]`,
`[Tool Result ...]`, and `[Historical context ...]` is stripped
- leaked model control tokens such as `<|assistant|>`, other ASCII

View File

@@ -349,10 +349,11 @@ implemented in `src/gateway/server-methods/*.ts`.
`chat.inject`.
- `chat.history` is display-normalized for UI clients: inline directive tags are
stripped from visible text, plain-text tool-call XML payloads (including
`<tool_calls>` and truncated tool-call blocks) and leaked ASCII/full-width
model control tokens are stripped, pure silent-token assistant rows such as
exact `NO_REPLY` / `no_reply` are omitted, and oversized rows can be
replaced with placeholders.
`<tool_call>...</tool_call>`, `<function_call>...</function_call>`,
`<tool_calls>...</tool_calls>`, `<function_calls>...</function_calls>`, and
truncated tool-call blocks) and leaked ASCII/full-width model control tokens
are stripped, pure silent-token assistant rows such as exact `NO_REPLY` /
`no_reply` are omitted, and oversized rows can be replaced with placeholders.
#### Device pairing and device tokens

View File

@@ -139,10 +139,11 @@ The Android Chat tab supports session selection (default `main`, plus other exis
- History: `chat.history` (display-normalized; inline directive tags are
stripped from visible text, plain-text tool-call XML payloads (including
`<tool_calls>` and truncated tool-call blocks) and leaked ASCII/full-width
model control tokens are stripped, pure silent-token assistant rows such as
exact `NO_REPLY` / `no_reply` are omitted, and oversized rows can be
replaced with placeholders)
`<tool_call>...</tool_call>`, `<function_call>...</function_call>`,
`<tool_calls>...</tool_calls>`, `<function_calls>...</function_calls>`, and
truncated tool-call blocks) and leaked ASCII/full-width model control tokens
are stripped, pure silent-token assistant rows such as exact `NO_REPLY` /
`no_reply` are omitted, and oversized rows can be replaced with placeholders)
- Send: `chat.send`
- Push updates (best-effort): `chat.subscribe` → `event:"chat"`

View File

@@ -32,10 +32,12 @@ agent (with a session switcher for other sessions).
`chat.inject` and events `chat`, `agent`, `presence`, `tick`, `health`.
- `chat.history` returns display-normalized transcript rows: inline directive
tags are stripped from visible text, plain-text tool-call XML payloads
(including `<tool_calls>` and truncated tool-call blocks) and leaked
ASCII/full-width model control tokens are stripped, pure silent-token
assistant rows such as exact `NO_REPLY` / `no_reply` are omitted, and
oversized rows can be replaced with placeholders.
(including `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>`, and truncated tool-call blocks) and
leaked ASCII/full-width model control tokens are stripped, pure
silent-token assistant rows such as exact `NO_REPLY` / `no_reply` are
omitted, and oversized rows can be replaced with placeholders.
- Session: defaults to the primary session (`main`, or `global` when scope is
global). The UI can switch between sessions.
- Onboarding uses a dedicated session to keep firstrun setup separate.

View File

@@ -149,9 +149,11 @@ Use `group:*` shorthands in allow/deny lists:
`sessions_history` returns a bounded, safety-filtered recall view. It strips
thinking tags, `<relevant-memories>` scaffolding, plain-text tool-call XML
payloads (including `<tool_calls>` and truncated tool-call blocks), downgraded
tool-call scaffolding, leaked ASCII/full-width model control tokens, and
malformed MiniMax tool-call XML from assistant text, then applies
payloads (including `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>`, and truncated tool-call blocks),
downgraded tool-call scaffolding, leaked ASCII/full-width model control
tokens, and malformed MiniMax tool-call XML from assistant text, then applies
redaction/truncation and possible oversized-row placeholders instead of acting
as a raw transcript dump.

View File

@@ -298,9 +298,11 @@ Legacy `agent.*` configs are migrated by `openclaw doctor`; prefer `agents.defau
`sessions_history` in this profile still returns a bounded, sanitized recall
view rather than a raw transcript dump. Assistant recall strips thinking tags,
`<relevant-memories>` scaffolding, plain-text tool-call XML payloads
(including `<tool_calls>` and truncated tool-call blocks), downgraded
tool-call scaffolding, leaked ASCII/full-width model control tokens, and
malformed MiniMax tool-call XML before redaction/truncation.
(including `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>`, and truncated tool-call blocks),
downgraded tool-call scaffolding, leaked ASCII/full-width model control
tokens, and malformed MiniMax tool-call XML before redaction/truncation.
---

View File

@@ -268,8 +268,9 @@ Announce payloads include a stats line at the end (even when wrapped):
- thinking tags are stripped
- `<relevant-memories>` / `<relevant_memories>` scaffolding blocks are stripped
- plain-text tool-call XML payload blocks such as `<tool_call>...</tool_call>`,
`<tool_calls>...</tool_calls>`, and `<function_calls>...</function_calls>`
are stripped, including truncated payloads that never close cleanly
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`, and
`<function_calls>...</function_calls>` are stripped, including truncated
payloads that never close cleanly
- downgraded tool-call/result scaffolding and historical-context markers are stripped
- leaked model control tokens such as `<|assistant|>`, other ASCII
`<|...|>` tokens, and full-width `<...>` variants are stripped

View File

@@ -123,7 +123,7 @@ Cron jobs panel notes:
- `chat.send` is **non-blocking**: it acks immediately with `{ runId, status: "started" }` and the response streams via `chat` events.
- Re-sending with the same `idempotencyKey` returns `{ status: "in_flight" }` while running, and `{ status: "ok" }` after completion.
- `chat.history` responses are size-bounded for UI safety. When transcript entries are too large, Gateway may truncate long text fields, omit heavy metadata blocks, and replace oversized messages with a placeholder (`[chat.history omitted: message too large]`).
- `chat.history` also strips display-only inline directive tags from visible assistant text (for example `[[reply_to_*]]` and `[[audio_as_voice]]`), plain-text tool-call XML payloads (including `<tool_calls>` and truncated tool-call blocks), and leaked ASCII/full-width model control tokens, and omits assistant entries whose whole visible text is only the exact silent token `NO_REPLY` / `no_reply`.
- `chat.history` also strips display-only inline directive tags from visible assistant text (for example `[[reply_to_*]]` and `[[audio_as_voice]]`), plain-text tool-call XML payloads (including `<tool_call>...</tool_call>`, `<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`, `<function_calls>...</function_calls>`, and truncated tool-call blocks), and leaked ASCII/full-width model control tokens, and omits assistant entries whose whole visible text is only the exact silent token `NO_REPLY` / `no_reply`.
- `chat.inject` appends an assistant note to the session transcript and broadcasts a `chat` event for UI-only updates (no agent run, no channel delivery).
- The chat header model and thinking pickers patch the active session immediately through `sessions.patch`; they are persistent session overrides, not one-turn-only send options.
- Stop:

View File

@@ -28,7 +28,9 @@ Status: the macOS/iOS SwiftUI chat UI talks directly to the Gateway WebSocket.
- `chat.history` is bounded for stability: Gateway may truncate long text fields, omit heavy metadata, and replace oversized entries with `[chat.history omitted: message too large]`.
- `chat.history` is also display-normalized: inline delivery directive tags
such as `[[reply_to_*]]` and `[[audio_as_voice]]`, plain-text tool-call XML
payloads (including `<tool_calls>` and truncated tool-call blocks), and
payloads (including `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>`, and truncated tool-call blocks), and
leaked ASCII/full-width model control tokens are stripped from visible text,
and assistant entries whose whole visible text is only the exact silent
token `NO_REPLY` / `no_reply` are omitted.