From e535b313cd47731898a50016ae83dbfe06941d99 Mon Sep 17 00:00:00 2001 From: Shakker Date: Mon, 27 Apr 2026 16:27:19 +0100 Subject: [PATCH] docs: document manifest alias suppression behavior --- CHANGELOG.md | 1 + docs/plugins/manifest.md | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2202feb0362..6f505cf86a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Docs: https://docs.openclaw.ai ### Changes +- Plugins/models: wire manifest `modelCatalog.aliases` and `modelCatalog.suppressions` into model-catalog planning and built-in model suppression, with OpenAI stale Spark suppression now declared in the plugin manifest before runtime fallback. Thanks @shakkernerd. - Channels/Yuanbao: register the Tencent Yuanbao external channel plugin (`openclaw-plugin-yuanbao`) in the official channel catalog, contract suites, and community plugin docs, with a new `docs/channels/yuanbao.md` quick-start guide for WebSocket bot DMs and group chats. (#72756) Thanks @loongfay. - Channels/QQBot: add full group chat support (history tracking, @-mention gating, activation modes, per-group config, FIFO message queue with deliver debounce), C2C `stream_messages` streaming with a `StreamingController` lifecycle manager, unified `sendMedia` with chunked upload for large files, and refactor the engine into pipeline stages, focused outbound submodules, builtin slash-command modules, and explicit DI ports via `createEngineAdapters()`. (#70624) Thanks @cxyhhhhh. - Gateway/startup: pass the plugin metadata snapshot from config validation into plugin bootstrap so startup reuses one manifest product instead of rebuilding plugin metadata. Thanks @shakkernerd. diff --git a/docs/plugins/manifest.md b/docs/plugins/manifest.md index a560cd171bc..3990eab6f18 100644 --- a/docs/plugins/manifest.md +++ b/docs/plugins/manifest.md @@ -730,6 +730,17 @@ Top-level fields: | `suppressions` | `object[]` | Model rows from another source that this plugin suppresses for a provider-specific reason. | | `discovery` | `Record` | Whether the provider catalog can be read from manifest metadata, refreshed into cache, or requires runtime. | +`aliases` participates in provider ownership lookup for model-catalog planning. +Alias targets must be top-level providers owned by the same plugin. When a +provider-filtered list uses an alias, OpenClaw can read the owning manifest and +apply alias API/base URL overrides without loading provider runtime. + +`suppressions` is the preferred static replacement for provider runtime +`suppressBuiltInModel` hooks. Suppression entries are honored only when the +provider is owned by the plugin or declared as a `modelCatalog.aliases` key that +targets an owned provider. Runtime suppression hooks still run as deprecated +compatibility fallback for plugins that have not migrated. + Provider fields: | Field | Type | What it means |