oclaw/openclaw/docs/reference/rich-output-protocol.md
oliver dbbe3add6a 重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。

Made-with: Cursor
2026-04-26 08:34:33 +08:00

1.5 KiB

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.

[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="..." or url="...".
  • 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.