

















@@ -103,7 +103,7 @@ rewriting files.
103103104104```bash
105105openclaw plugins search "calendar" # search ClawHub plugins
106-openclaw plugins install <package> # npm by default
106+openclaw plugins install <package> # source auto-detection
107107openclaw plugins install clawhub:<package> # ClawHub only
108108openclaw plugins install npm:<package> # npm only
109109openclaw plugins install npm-pack:<path.tgz> # local npm pack through npm install semantics
@@ -123,7 +123,7 @@ sources with guarded environment variables. See
123123[Plugin install overrides](/plugins/install-overrides).
124124125125<Warning>
126-Bare package names install from npm by default during the launch cutover. Use `clawhub:<package>` for ClawHub. Treat plugin installs like running code. Prefer pinned versions.
126+Bare package names install from npm by default during the launch cutover, unless they match an official plugin id. Raw `@openclaw/*` package specs that match bundled plugins use the bundled copy that shipped with the current OpenClaw build. Use `npm:<package>` when you deliberately want an external npm package instead. Use `clawhub:<package>` for ClawHub. Treat plugin installs like running code. Prefer pinned versions.
127127</Warning>
128128129129`plugins search` queries ClawHub for installable plugin packages and prints
@@ -171,7 +171,9 @@ is available, then fall back to `latest`.
171171172172Npm specs are **registry-only** (package name + optional **exact version** or **dist-tag**). Git/URL/file specs and semver ranges are rejected. Dependency installs run project-local with `--ignore-scripts` for safety, even when your shell has global npm install settings. Managed plugin npm roots inherit OpenClaw's package-level npm `overrides`, so host security pins apply to hoisted plugin dependencies too.
173173174-Use `npm:<package>` when you want to make npm resolution explicit. Bare package specs also install directly from npm during the launch cutover.
174+Use `npm:<package>` when you want to make npm resolution explicit. Bare package specs also install directly from npm during the launch cutover unless they match an official plugin id.
175+176+Raw `@openclaw/*` package specs that match bundled plugins resolve to the image-owned bundled copy before npm fallback. For example, `openclaw plugins install @openclaw/discord@2026.5.20 --pin` uses the bundled Discord plugin from the current OpenClaw build instead of creating a managed npm override. To force the external npm package, use `openclaw plugins install npm:@openclaw/discord@2026.5.20 --pin`.
175177176178Bare specs and `@latest` stay on the stable track. OpenClaw date-stamped correction versions such as `2026.5.3-1` are stable releases for this check. If npm resolves either of those to a prerelease, OpenClaw stops and asks you to opt in explicitly with a prerelease tag such as `@beta`/`@rc` or an exact prerelease version such as `@1.2.3-beta.4`.
177179@@ -207,7 +209,7 @@ openclaw plugins install clawhub:openclaw-codex-app-server
207209openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3
208210```
209211210-Bare npm-safe plugin specs install from npm by default during the launch cutover:
212+Bare npm-safe plugin specs install from npm by default during the launch cutover unless they match an official plugin id:
211213212214```bash
213215openclaw plugins install openclaw-codex-app-server
@@ -217,6 +219,7 @@ Use `npm:` to make npm-only resolution explicit:
217219218220```bash
219221openclaw plugins install npm:openclaw-codex-app-server
222+openclaw plugins install npm:@openclaw/discord@2026.5.20
220223openclaw plugins install npm:@scope/plugin-name@1.0.1
221224```
222225此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。