diff --git a/CHANGELOG.md b/CHANGELOG.md index 699fee24639..a7d5d3ee8d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,9 @@ Docs: https://docs.openclaw.ai - Plugins/loader: use cached discovery-mode snapshot loads for read-only plugin capability lookups, keep snapshot caches isolated from active Gateway registries, and make same-plugin channel/HTTP route re-registration idempotent so repeated snapshot or hot-reload paths no longer rerun full plugin side effects or accumulate duplicate surfaces. Fixes #51781, #52031, #54181, and #57514. Thanks @livingghost, @okuyam2y, @ShionEria, and @bbshih. - Plugins/loader: reuse the compatible active Gateway registry for broad runtime plugin ensure calls after a gateway-bindable boot load, so non-bundled plugins no longer re-run `register()` during the same boot path. Fixes #69250. Thanks @markthebest12. - Plugins/hooks: keep the gateway-bindable hook runner installed when later default-mode plugin loads activate a different registry, preserving Gateway subagent lifecycle hooks across runtime cache misses. Fixes #63166. +- Media/input: resolve canonical inbound media refs through the shared media loader so native prompt image replay and explicit image/PDF tools can read `media://inbound/` and managed inbound replay paths under workspace-only file policy. +- Media/tools: centralize media reference scheme classification for image, PDF, image-generation, video-generation, and music-generation inputs so managed inbound refs are accepted consistently. +- Control UI/media: resolve canonical inbound media refs before serving assistant media previews, so `media://inbound/` sources no longer pass access checks but fail file open. ## 2026.4.24 diff --git a/docs/nodes/media-understanding.md b/docs/nodes/media-understanding.md index 08e527c349f..14a49c3ec81 100644 --- a/docs/nodes/media-understanding.md +++ b/docs/nodes/media-understanding.md @@ -137,8 +137,8 @@ Rules: skips the `[Image]` summary block and passes the original image into the model instead. - If a Gateway/WebChat primary model is text-only, image attachments are - preserved as offloaded `media://inbound/*` refs so the image tool or configured - image model can still inspect them instead of losing the attachment. + preserved as offloaded `media://inbound/*` refs so the image/PDF tools or + configured image model can still inspect them instead of losing the attachment. - Explicit `openclaw infer image describe --model ` requests are different: they run that image-capable provider/model directly, including Ollama refs such as `ollama/qwen2.5vl:7b`. diff --git a/docs/tools/pdf.md b/docs/tools/pdf.md index 9384ced7b15..51c847dd935 100644 --- a/docs/tools/pdf.md +++ b/docs/tools/pdf.md @@ -73,12 +73,14 @@ Input notes: - local file path (including `~` expansion) - `file://` URL - `http://` and `https://` URL +- OpenClaw-managed inbound refs such as `media://inbound/` Reference notes: - Other URI schemes (for example `ftp://`) are rejected with `unsupported_pdf_reference`. - In sandbox mode, remote `http(s)` URLs are rejected. - With workspace-only file policy enabled, local file paths outside allowed roots are rejected. +- Managed inbound refs and replayed paths under OpenClaw's inbound media store are allowed with workspace-only file policy. ## Execution modes