概述
OpenClaw 插件依赖管理机制:依赖工作在安装/更新时完成,运行时加载不运行包管理器、不修复依赖树、不修改 OpenClaw 包目录。
核心要点
职责分工:
- 插件包:拥有自己的依赖图(
dependencies或optionalDependencies) - OpenClaw:只负责插件生命周期(发现、安装/更新、记录元数据、加载入口点、缺失依赖时报错)
安装根目录:
- npm 包:
~/.openclaw/npm - git 包:
~/.openclaw/git - 本地/路径/归档:复制或引用,不修复依赖
npm 安装命令:
cd ~/.openclaw/npm
npm install --omit=dev --omit=peer --legacy-peer-deps --ignore-scripts --no-audit --no-fundgit 安装命令:
npm install --omit=dev --ignore-scripts --no-audit --no-fund本地插件:
- 视为开发者控制目录,OpenClaw 不运行
npm install - 第三方 TypeScript 本地插件可使用紧急 Jiti 路径
- 打包的 JS 插件和 bundled 内部插件通过原生 import/require 加载
Bundled 插件规则:
- 轻量级和核心关键 bundled 插件随 OpenClaw 发布
- 不得请求依赖暂存
- 大型或可选功能应打包为普通插件,通过 npm/git/ClawHub 安装
安装形态对比:
| 安装方式 | Bundled 插件位置 | 依赖所有者 |
|---|---|---|
npm install -g openclaw | 包内构建运行时树 | OpenClaw 包和显式安装/更新/doctor 流程 |
Git checkout + pnpm install | extensions/<id> 工作区包 | pnpm 工作区 |
openclaw plugins install ... | 托管 npm/git/ClawHub 插件根 | 插件安装/更新流程 |
依赖缺失时的修复命令:
openclaw plugins update <id>
openclaw plugins install <source>
openclaw doctor --fix相关页面
- concepts/plugin-manage — 插件安装、更新、卸载管理
- concepts/plugin-inventory — 插件清单(核心包 vs 外部包)
- concepts/plugin-building — 插件开发指南