diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index dd2360678..e98b06f5d 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "a89fe0f5a0ce8b48e3c388aef01da71eafbeca34", - "syncedAt": "2026-04-30T03:15:17.994Z" + "sha": "0603c2327d3e09540b4488596aa3062c6acfc550", + "syncedAt": "2026-04-30T04:04:44.074Z" } diff --git a/docs/.generated/config-baseline.sha256 b/docs/.generated/config-baseline.sha256 index 4fe359e63..223b83568 100644 --- a/docs/.generated/config-baseline.sha256 +++ b/docs/.generated/config-baseline.sha256 @@ -1,4 +1,4 @@ -7bf720f6d9040c53323553b1bd351f688137c6b352c4cf2acfd7f7d252644b38 config-baseline.json +cb32b51492306179b4537514b0650ab24e2f5f8f6c2eda92154cb1420a11e560 config-baseline.json ab9a004ec78ed51e646be29eb10aa6700de1d47fee77331a85ca5e2cd15b6e93 config-baseline.core.json 92712871defa92eeda8161b516db85574681f2b70678b940508a808b987aeae2 config-baseline.channel.json -c4231c2194206547af8ad94342dc00aadb734f43cb49cc79d4c46bdbb80c3f95 config-baseline.plugin.json +ede8b3d9bd7848a09abfcd9fa4f007d289d05742f66b0e38ef459da6dbf40897 config-baseline.plugin.json diff --git a/docs/.generated/plugin-sdk-api-baseline.sha256 b/docs/.generated/plugin-sdk-api-baseline.sha256 index 8b46b4a97..a1bc763a6 100644 --- a/docs/.generated/plugin-sdk-api-baseline.sha256 +++ b/docs/.generated/plugin-sdk-api-baseline.sha256 @@ -1,2 +1,2 @@ -9262e43a0171f4c38a0590fe36d80b13382beee4a1be1ae2ffb109ace5f37b31 plugin-sdk-api-baseline.json -c7385f6584052938fe9cce00ae5f9d90cb3b08f943cc82122235f18a1213439b plugin-sdk-api-baseline.jsonl +dd840b7c222ca003aa5336aabff8a126e3e254474941ddab93165e0e44944ffa plugin-sdk-api-baseline.json +443878722940029e4ae5220f3c23ffc321559b73848f6a7a3f4cab98c076924e plugin-sdk-api-baseline.jsonl diff --git a/docs/nodes/index.md b/docs/nodes/index.md index 3dcd86429..e5ce896fb 100644 --- a/docs/nodes/index.md +++ b/docs/nodes/index.md @@ -202,6 +202,12 @@ Dangerous or privacy-heavy commands such as `camera.snap`, `camera.clip`, and `gateway.nodes.allowCommands`. `gateway.nodes.denyCommands` always wins over defaults and extra allowlist entries. +Plugin-owned node commands can add a Gateway node-invoke policy. That policy +runs after the allowlist check and before forwarding to the node, so raw +`node.invoke`, CLI helpers, and dedicated agent tools share the same plugin +permission boundary. Dangerous plugin node commands still require explicit +`gateway.nodes.allowCommands` opt-in. + After a node changes its declared command list, reject the old device pairing and approve the new request so the gateway stores the updated command snapshot. diff --git a/docs/plugins/sdk-runtime.md b/docs/plugins/sdk-runtime.md index 1742010ce..5668bf72e 100644 --- a/docs/plugins/sdk-runtime.md +++ b/docs/plugins/sdk-runtime.md @@ -178,7 +178,9 @@ Provider and channel execution paths must use the active runtime config snapshot }); ``` - Inside the Gateway this runtime is in-process. In plugin CLI commands it calls the configured Gateway over RPC, so commands such as `openclaw googlemeet recover-tab` can inspect paired nodes from the terminal. Node commands still go through normal Gateway node pairing, command allowlists, and node-local command handling. + Inside the Gateway this runtime is in-process. In plugin CLI commands it calls the configured Gateway over RPC, so commands such as `openclaw googlemeet recover-tab` can inspect paired nodes from the terminal. Node commands still go through normal Gateway node pairing, command allowlists, plugin node-invoke policies, and node-local command handling. + + Plugins that expose dangerous node-host commands should register a node-invoke policy with `api.registerNodeInvokePolicy(...)`. The policy runs in the Gateway after command allowlist checks and before the command is forwarded to the node, so direct `node.invoke` calls and higher-level plugin tools share the same enforcement path. diff --git a/docs/zh-TW/concepts/active-memory.md b/docs/zh-TW/concepts/active-memory.md index 33e951052..c70611cd4 100644 --- a/docs/zh-TW/concepts/active-memory.md +++ b/docs/zh-TW/concepts/active-memory.md @@ -619,6 +619,7 @@ Active Memory 會透過已設定記憶體 Plugin 的召回管線運作,因此 - 觀察 Gateway 記錄中的 `active-memory: ... start|done`、`memory sync failed (search-bootstrap)`,或提供者嵌入錯誤。 - 執行 `openclaw memory status --deep`,檢查記憶體搜尋後端與索引健康狀態。 - 如果你使用 `ollama`,請確認嵌入模型已安裝(`ollama list`)。 + diff --git a/docs/zh-TW/providers/bedrock.md b/docs/zh-TW/providers/bedrock.md index f1ecb01b5..c2a23f473 100644 --- a/docs/zh-TW/providers/bedrock.md +++ b/docs/zh-TW/providers/bedrock.md @@ -314,6 +314,7 @@ openclaw models list 接著是 `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`,再來是 `AWS_PROFILE`,最後是預設 AWS SDK 鏈。 - 推理支援取決於模型;請查看 Bedrock 模型卡以了解目前功能。 - 如果你偏好受管理的金鑰流程,也可以在 Bedrock 前方放置 OpenAI 相容的代理,並將其改為設定成 OpenAI 提供者。 + diff --git a/docs/zh-TW/providers/litellm.md b/docs/zh-TW/providers/litellm.md index e20c7b6c3..e5ffffc11 100644 --- a/docs/zh-TW/providers/litellm.md +++ b/docs/zh-TW/providers/litellm.md @@ -214,6 +214,7 @@ LiteLLM 也可以透過 OpenAI 相容的 沒有 `service_tier`、沒有 Responses `store`、沒有提示快取提示,也沒有 OpenAI reasoning 相容酬載塑形 - 自訂 LiteLLM base URL 不會注入隱藏的 OpenClaw 歸因標頭(`originator`、`version`、`User-Agent`) + diff --git a/docs/zh-TW/providers/xai.md b/docs/zh-TW/providers/xai.md index b2c1dcdd6..7f8f2b641 100644 --- a/docs/zh-TW/providers/xai.md +++ b/docs/zh-TW/providers/xai.md @@ -393,6 +393,7 @@ OpenClaw 使用 xAI 的 REST 圖片/影片/TTS/STT API 進行媒體生成、語 - 一般 xAI 供應商路徑不支援 `grok-4.20-multi-agent-experimental-beta-0304`,因為它需要與標準 OpenClaw xAI 傳輸不同的上游 API 介面。 - xAI Realtime 語音尚未註冊為 OpenClaw 供應商。它需要與批次 STT 或串流轉錄不同的雙向語音工作階段合約。 - xAI 圖片 `quality`、圖片 `mask`,以及額外的僅原生支援長寬比,在共用 `image_generate` 工具具備相對應的跨供應商控制之前不會公開。 + @@ -402,6 +403,7 @@ OpenClaw 使用 xAI 的 REST 圖片/影片/TTS/STT API 進行媒體生成、語 - `web_search`、`x_search` 和 `code_execution` 會作為 OpenClaw 工具公開。OpenClaw 會在每個工具請求內啟用所需的特定 xAI 內建功能,而不是將所有原生工具附加到每個聊天輪次。 - `x_search` 和 `code_execution` 由內建的 xAI Plugin 擁有,而不是硬編碼到核心模型執行階段。 - `code_execution` 是遠端 xAI 沙箱執行,不是本機 [`exec`](/zh-TW/tools/exec)。 + diff --git a/docs/zh-TW/tools/skills.md b/docs/zh-TW/tools/skills.md index 2db8d2ff5..498357787 100644 --- a/docs/zh-TW/tools/skills.md +++ b/docs/zh-TW/tools/skills.md @@ -72,6 +72,7 @@ OpenClaw 會從這些來源載入技能,**優先順序由高到低**: - 設定 `agents.list[].skills: []` 表示沒有技能。 - 非空的 `agents.list[].skills` 清單就是該代理的**最終**集合,不會與預設值合併。 - 有效允許清單會套用於提示建構、技能斜線命令探索、沙箱同步與技能快照。 +