mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 11:10:42 +00:00
Sweep recent (last ~5h) doc edits for two readability/uniformity issues: - Replace 42 path-as-text links of the form '[/foo/bar](/foo/bar)' with descriptive labels derived from each target page's frontmatter title (e.g. '[Anthropic]', '[Token use and costs]', '[OpenAI-compatible endpoints]'). Affected files include gateway/troubleshooting, concepts/oauth, reference/session-management-compaction, and reference/transcript-hygiene. - Sentence-case Title-Cased headings and link text in Related sections across codex-harness, model-providers, tools/plugin, sdk-runtime, sdk-setup, prompt-caching, ci, cli/config, google-meet, browser, rich-output-protocol, subagents, web/control-ui, while preserving brand and proper-noun capitalization (OpenAI, Codex, Chrome, Parallels, Z.AI, etc.).
2.0 KiB
2.0 KiB
summary, read_when, title
| summary | read_when | title | ||
|---|---|---|---|---|
| Rich output shortcode protocol for embeds, media, audio hints, and replies |
|
Rich output protocol |
Assistant output can carry a small set of delivery/render directives:
MEDIA:for attachment delivery[[audio_as_voice]]for audio presentation hints[[reply_to_current]]/[[reply_to:<id>]]for reply metadata[embed ...]for Control UI rich rendering
These directives are separate. MEDIA: and reply/voice tags remain delivery metadata; [embed ...] is the web-only rich render path.
When block streaming is enabled, MEDIA: remains single-delivery metadata for a
turn. If the same media URL is sent in a streamed block and repeated in the final
assistant payload, OpenClaw delivers the attachment once and strips the duplicate
from the final payload.
[embed ...]
[embed ...] is the only agent-facing rich render syntax for the Control UI.
Self-closing example:
[embed ref="cv_123" title="Status" /]
Rules:
[view ...]is no longer valid for new output.- Embed shortcodes render in the assistant message surface only.
- Only URL-backed embeds are rendered. Use
ref="..."orurl="...". - Block-form inline HTML embed shortcodes are not rendered.
- The web UI strips the shortcode from visible text and renders the embed inline.
MEDIA:is not an embed alias and should not be used for rich embed rendering.
Stored rendering shape
The normalized/stored assistant content block is a structured canvas item:
{
"type": "canvas",
"preview": {
"kind": "canvas",
"surface": "assistant_message",
"render": "url",
"viewId": "cv_123",
"url": "/__openclaw__/canvas/documents/cv_123/index.html",
"title": "Status",
"preferredHeight": 320
}
}
Stored/rendered rich blocks use this canvas shape directly. present_view is not recognized.