概述

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-fund

git 安装命令:

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 installextensions/<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 — 插件开发指南