Vendor OpenClaw source as Adolf fork baseline
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11), free to diverge. Tree copied sans upstream .git; upstream remote added for future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19. Preserves docs/ARCHITECTURE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
This commit is contained in:
231
docs/plugins/manage-plugins.md
Normal file
231
docs/plugins/manage-plugins.md
Normal file
@@ -0,0 +1,231 @@
|
||||
---
|
||||
summary: "Quick examples for listing, installing, updating, inspecting, and uninstalling OpenClaw plugins"
|
||||
read_when:
|
||||
- You want quick plugin list, install, update, inspect, or uninstall examples
|
||||
- You want to choose a plugin install source
|
||||
- You want the right reference for publishing plugin packages
|
||||
title: "Manage plugins"
|
||||
sidebarTitle: "Manage plugins"
|
||||
doc-schema-version: 1
|
||||
---
|
||||
|
||||
Common plugin management commands. For the full command contract, flags,
|
||||
source-selection rules, and edge cases, see [`openclaw plugins`](/cli/plugins).
|
||||
|
||||
Typical workflow: find a package, install it from ClawHub, npm, git, or a
|
||||
local path, let the managed Gateway auto-restart (or restart it manually),
|
||||
then verify the plugin's runtime registrations.
|
||||
|
||||
## List and search plugins
|
||||
|
||||
```bash
|
||||
openclaw plugins list
|
||||
openclaw plugins list --enabled
|
||||
openclaw plugins list --verbose
|
||||
openclaw plugins list --json
|
||||
openclaw plugins search "calendar"
|
||||
```
|
||||
|
||||
`--json` for scripts:
|
||||
|
||||
```bash
|
||||
openclaw plugins list --json \
|
||||
| jq '.plugins[] | {id, enabled, format, source, dependencyStatus}'
|
||||
```
|
||||
|
||||
`plugins list` is a cold inventory check: what OpenClaw can discover from
|
||||
config, manifests, and the persisted plugin registry. It does not prove an
|
||||
already-running Gateway imported the plugin runtime. JSON output includes
|
||||
registry diagnostics and each plugin's `dependencyStatus` (whether declared
|
||||
`dependencies`/`optionalDependencies` resolve on disk).
|
||||
|
||||
`plugins search` queries ClawHub for installable plugin packages and prints
|
||||
an install hint (`openclaw plugins install clawhub:<package>`) per result.
|
||||
|
||||
## Enable and disable plugins
|
||||
|
||||
```bash
|
||||
openclaw plugins enable <plugin-id>
|
||||
openclaw plugins disable <plugin-id>
|
||||
```
|
||||
|
||||
Toggles a plugin's config entry without touching installed files. Some
|
||||
bundled plugins (bundled model/speech providers, the bundled browser plugin)
|
||||
are enabled by default; others require `enable` after install.
|
||||
|
||||
## Install plugins
|
||||
|
||||
```bash
|
||||
# Search ClawHub for plugin packages.
|
||||
openclaw plugins search "calendar"
|
||||
|
||||
# Install from ClawHub.
|
||||
openclaw plugins install clawhub:<package>
|
||||
openclaw plugins install clawhub:<package>@1.2.3
|
||||
openclaw plugins install clawhub:<package>@beta
|
||||
|
||||
# Install from npm.
|
||||
openclaw plugins install npm:<package>
|
||||
openclaw plugins install npm:@scope/openclaw-plugin@1.2.3
|
||||
openclaw plugins install npm:@openclaw/codex
|
||||
|
||||
# Install from a local npm-pack artifact.
|
||||
openclaw plugins install npm-pack:<path.tgz>
|
||||
|
||||
# Install from git or a local development checkout.
|
||||
openclaw plugins install git:github.com/acme/openclaw-plugin@v1.0.0
|
||||
openclaw plugins install ./my-plugin
|
||||
openclaw plugins install --link ./my-plugin
|
||||
```
|
||||
|
||||
Bare package specs install from npm during the launch cutover, unless the
|
||||
name matches a bundled or official plugin id, in which case OpenClaw uses
|
||||
that local/official copy instead. Use `clawhub:`, `npm:`, `git:`, or
|
||||
`npm-pack:` for deterministic source selection.
|
||||
|
||||
Use `--force` only to overwrite an existing install target from a different
|
||||
source. For routine upgrades of a tracked npm, ClawHub, or hook-pack install,
|
||||
use `openclaw plugins update` instead; `--force` is not supported with
|
||||
`--link`.
|
||||
|
||||
## Restart and inspect
|
||||
|
||||
A running managed Gateway with config reload enabled restarts automatically
|
||||
after installing, updating, or uninstalling plugin code. If the Gateway is
|
||||
unmanaged or reload is disabled, restart it yourself before checking live
|
||||
runtime surfaces:
|
||||
|
||||
```bash
|
||||
openclaw gateway restart
|
||||
openclaw plugins inspect <plugin-id> --runtime --json
|
||||
```
|
||||
|
||||
`inspect --runtime` loads the plugin module and proves it registered runtime
|
||||
surfaces (tools, hooks, services, Gateway methods, HTTP routes, plugin-owned
|
||||
CLI commands). Plain `inspect` and `list` are cold manifest/config/registry
|
||||
checks only.
|
||||
|
||||
## Update plugins
|
||||
|
||||
```bash
|
||||
openclaw plugins update <plugin-id>
|
||||
openclaw plugins update <npm-package-or-spec>
|
||||
openclaw plugins update --all
|
||||
openclaw plugins update <plugin-id> --dry-run
|
||||
```
|
||||
|
||||
Passing a plugin id reuses its tracked install spec: stored dist-tags
|
||||
(`@beta`) and exact pinned versions carry over to later `update <plugin-id>`
|
||||
runs.
|
||||
|
||||
`openclaw plugins update --all` is the bulk maintenance path. It still
|
||||
respects ordinary tracked install specs, but trusted official OpenClaw
|
||||
plugin records sync to the current official catalog target instead of
|
||||
staying pinned to a stale exact official package; when `update.channel` is
|
||||
`beta`, that sync prefers the beta release line. Use a targeted
|
||||
`update <plugin-id>` to keep an exact or tagged official spec untouched.
|
||||
|
||||
For npm installs, pass an explicit package spec to switch the tracked
|
||||
record:
|
||||
|
||||
```bash
|
||||
openclaw plugins update @scope/openclaw-plugin@beta
|
||||
openclaw plugins update @scope/openclaw-plugin
|
||||
```
|
||||
|
||||
The second command moves a plugin back to the registry's default release
|
||||
line when it was previously pinned to an exact version or tag.
|
||||
|
||||
See [`openclaw plugins`](/cli/plugins#update) for the exact fallback and
|
||||
pinning rules.
|
||||
|
||||
## Uninstall plugins
|
||||
|
||||
```bash
|
||||
openclaw plugins uninstall <plugin-id> --dry-run
|
||||
openclaw plugins uninstall <plugin-id>
|
||||
openclaw plugins uninstall <plugin-id> --keep-files
|
||||
```
|
||||
|
||||
Uninstall removes the plugin's config entry, persisted plugin index record,
|
||||
allow/deny list entries, and linked `plugins.load.paths` entries when
|
||||
applicable. The managed install directory is removed unless you pass
|
||||
`--keep-files`. A running managed Gateway restarts automatically when the
|
||||
uninstall changes plugin source.
|
||||
|
||||
In Nix mode (`OPENCLAW_NIX_MODE=1`), plugin install, update, uninstall,
|
||||
enable, and disable are all disabled; manage those choices in the Nix source
|
||||
for the install instead.
|
||||
|
||||
## Choose a source
|
||||
|
||||
| Source | Use when | Example |
|
||||
| ----------- | --------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
||||
| ClawHub | You want OpenClaw-native discovery, scan summaries, versions, and hints | `openclaw plugins install clawhub:<package>` |
|
||||
| git | You want a branch, tag, or commit from a repository | `openclaw plugins install git:github.com/<owner>/<repo>@<ref>` |
|
||||
| local path | You are developing or testing a plugin on the same machine | `openclaw plugins install --link ./my-plugin` |
|
||||
| marketplace | You are installing a Claude-compatible marketplace plugin | `openclaw plugins install <plugin> --marketplace <source>` |
|
||||
| npm pack | You are proving a local package artifact through npm install semantics | `openclaw plugins install npm-pack:<path.tgz>` |
|
||||
| npmjs.com | You already ship JavaScript packages or need npm dist-tags/private registry | `openclaw plugins install npm:@acme/openclaw-plugin` |
|
||||
|
||||
Managed local path installs must be plugin directories or archives. Put
|
||||
standalone plugin files in `plugins.load.paths` instead of installing them
|
||||
with `plugins install`.
|
||||
|
||||
## Publish plugins
|
||||
|
||||
ClawHub is the primary public discovery surface for OpenClaw plugins. Publish
|
||||
there when you want users to find plugin metadata, version history, registry
|
||||
scan results, and install hints before they install.
|
||||
|
||||
```bash
|
||||
npm i -g clawhub
|
||||
clawhub login
|
||||
clawhub package publish your-org/your-plugin --dry-run
|
||||
clawhub package publish your-org/your-plugin
|
||||
clawhub package publish your-org/your-plugin@v1.0.0
|
||||
```
|
||||
|
||||
Native npm plugins must ship a plugin manifest (`openclaw.plugin.json`) plus
|
||||
`package.json` metadata before publishing:
|
||||
|
||||
```json package.json
|
||||
{
|
||||
"name": "@acme/openclaw-plugin",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"openclaw": {
|
||||
"extensions": ["./dist/index.js"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```bash
|
||||
npm publish --access public
|
||||
openclaw plugins install npm:@acme/openclaw-plugin
|
||||
openclaw plugins install npm:@acme/openclaw-plugin@beta
|
||||
openclaw plugins install npm:@acme/openclaw-plugin@1.0.0
|
||||
```
|
||||
|
||||
Use these pages for the full publishing contract instead of treating this
|
||||
page as the publishing reference:
|
||||
|
||||
- [ClawHub publishing](/clawhub/publishing) explains owners, scopes,
|
||||
releases, review, package validation, and package transfer.
|
||||
- [Building plugins](/plugins/building-plugins) shows the full plugin
|
||||
package shape (including `openclaw.plugin.json`) and first publish
|
||||
workflow.
|
||||
- [Plugin manifest](/plugins/manifest) defines native plugin manifest
|
||||
fields.
|
||||
|
||||
If the same package is available on both ClawHub and npm, use the explicit
|
||||
`clawhub:` or `npm:` prefix to force one source.
|
||||
|
||||
## Related
|
||||
|
||||
- [Plugins](/tools/plugin) - install, configure, restart, and troubleshoot
|
||||
- [`openclaw plugins`](/cli/plugins) - full CLI reference
|
||||
- [Community plugins](/plugins/community) - public discovery and ClawHub publishing
|
||||
- [ClawHub](/clawhub/cli) - registry CLI operations
|
||||
- [Building plugins](/plugins/building-plugins) - create a plugin package
|
||||
- [Plugin manifest](/plugins/manifest) - manifest and package metadata
|
||||
Reference in New Issue
Block a user