OpenClaw giữ công việc phụ thuộc của Plugin ở thời điểm cài đặt/cập nhật. Việc tải lúc chạy không chạy trình quản lý gói, sửa cây phụ thuộc, hoặc thay đổi thư mục gói OpenClaw.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Phân chia trách nhiệm
Các gói Plugin sở hữu đồ thị phụ thuộc của chúng:- các phụ thuộc lúc chạy nằm trong
dependencieshoặcoptionalDependenciescủa gói Plugin - các import SDK/core là peer hoặc import do OpenClaw cung cấp
- Plugin phát triển cục bộ tự mang theo các phụ thuộc đã được cài đặt sẵn
- Plugin npm và git được cài vào các gốc gói do OpenClaw sở hữu
- phát hiện nguồn Plugin
- cài đặt hoặc cập nhật gói khi được yêu cầu rõ ràng
- ghi lại siêu dữ liệu cài đặt
- tải entrypoint của Plugin
- thất bại với lỗi có thể hành động khi thiếu phụ thuộc
Gốc cài đặt
OpenClaw dùng các gốc ổn định theo từng nguồn:- gói npm cài dưới
~/.openclaw/npm - gói git clone dưới
~/.openclaw/git - cài đặt local/path/archive được sao chép hoặc tham chiếu mà không sửa phụ thuộc
openclaw plugins install npm-pack:<path.tgz> dùng cùng gốc npm được quản lý đó
cho tarball npm-pack cục bộ. OpenClaw đọc siêu dữ liệu npm của tarball, thêm nó
vào gốc được quản lý dưới dạng phụ thuộc file: đã sao chép, chạy cài đặt npm bình thường,
rồi xác minh siêu dữ liệu lockfile đã cài đặt trước khi tin cậy Plugin.
Điều này dành cho bằng chứng chấp nhận gói và ứng viên phát hành, nơi một
hiện vật pack cục bộ nên hoạt động như hiện vật registry mà nó mô phỏng.
npm có thể hoist các phụ thuộc bắc cầu lên ~/.openclaw/npm/node_modules cạnh
gói Plugin. OpenClaw quét gốc npm được quản lý trước khi tin cậy việc
cài đặt và dùng npm để gỡ các gói do npm quản lý trong quá trình gỡ cài đặt, để các
phụ thuộc lúc chạy đã hoist vẫn nằm trong ranh giới dọn dẹp được quản lý.
Các Plugin import openclaw/plugin-sdk/* khai báo openclaw là phụ thuộc peer.
OpenClaw không cho npm cài một bản sao registry riêng của gói máy chủ
vào gốc được quản lý, vì các gói máy chủ cũ có thể ảnh hưởng đến việc phân giải peer
của npm trong các lần cài Plugin sau này. Các cài đặt npm được quản lý bỏ qua việc phân giải/vật chất hóa
peer của npm cho gốc dùng chung và OpenClaw tái khẳng định các liên kết
node_modules/openclaw cục bộ theo Plugin cho các gói đã cài đặt khai báo
peer máy chủ sau khi cài đặt, cập nhật, hoặc gỡ cài đặt.
Cài đặt git clone hoặc làm mới kho lưu trữ, rồi chạy:
node_modules cục bộ theo gói và thư mục cha hoạt động giống như với một gói
Node bình thường.
Plugin cục bộ
Plugin cục bộ được xem là các thư mục do nhà phát triển kiểm soát. OpenClaw không chạynpm install, pnpm install, hoặc sửa phụ thuộc cho chúng. Nếu một
Plugin cục bộ có phụ thuộc, hãy cài chúng trong Plugin đó trước khi tải.
Plugin cục bộ TypeScript của bên thứ ba có thể dùng đường dẫn Jiti khẩn cấp. Plugin
JavaScript đóng gói và Plugin nội bộ đi kèm tải qua
import/require gốc thay vì Jiti.
Khởi động và tải lại
Khởi động Gateway và tải lại cấu hình không bao giờ cài đặt phụ thuộc Plugin. Chúng đọc các bản ghi cài đặt Plugin, tính entrypoint, và tải nó. Nếu thiếu một phụ thuộc lúc chạy, Plugin không tải được và lỗi nên hướng người vận hành đến một cách sửa rõ ràng:doctor --fix có thể dọn trạng thái phụ thuộc cũ do OpenClaw tạo và khôi phục
các Plugin có thể tải xuống bị thiếu khỏi bản ghi cài đặt cục bộ khi cấu hình
tham chiếu đến chúng. Doctor không sửa phụ thuộc cho một Plugin cục bộ đã được cài đặt.
Plugin đi kèm
Các Plugin đi kèm nhẹ và trọng yếu cho core được phân phối như một phần của OpenClaw. Chúng nên hoặc không có cây phụ thuộc lúc chạy nặng, hoặc được chuyển ra thành gói có thể tải xuống trên ClawHub/npm. Để xem danh sách được tạo hiện tại về các Plugin được phân phối trong gói core, cài đặt bên ngoài, hoặc chỉ nằm ở dạng nguồn, hãy xem Kiểm kê Plugin. Manifest của Plugin đi kèm không được yêu cầu staging phụ thuộc. Chức năng Plugin lớn hoặc tùy chọn nên được đóng gói như một Plugin bình thường và cài đặt qua cùng đường dẫn npm/git/ClawHub như Plugin bên thứ ba. Trong source checkout, OpenClaw xem kho lưu trữ là một pnpm monorepo. Saupnpm install, các Plugin đi kèm tải từ extensions/<id> để các phụ thuộc
workspace cục bộ theo gói có sẵn và các chỉnh sửa được nhận trực tiếp. Phát triển
source checkout chỉ dùng pnpm; npm install thuần ở gốc kho lưu trữ không phải là
cách được hỗ trợ để chuẩn bị phụ thuộc Plugin đi kèm.
| Dạng cài đặt | Vị trí Plugin đi kèm | Chủ sở hữu phụ thuộc |
|---|---|---|
npm install -g openclaw | Cây runtime đã build bên trong gói | Gói OpenClaw và các luồng cài đặt/cập nhật/doctor Plugin rõ ràng |
Git checkout cộng pnpm install | Các gói workspace extensions/<id> | pnpm workspace, bao gồm phụ thuộc riêng của từng gói Plugin |
openclaw plugins install ... | Gốc Plugin npm/git/ClawHub được quản lý | Luồng cài đặt/cập nhật Plugin |
Dọn dẹp cũ
Các phiên bản OpenClaw cũ tạo các gốc phụ thuộc Plugin đi kèm lúc khởi động hoặc trong quá trình sửa bằng doctor. Dọn dẹp doctor hiện tại xóa các thư mục và symlink cũ đó khi dùng--fix, bao gồm các gốc plugin-runtime-deps cũ, symlink
gói Node-prefix toàn cục trỏ tới các đích plugin-runtime-deps đã bị cắt tỉa,
manifest .openclaw-runtime-deps*, node_modules Plugin được tạo, thư mục
giai đoạn cài đặt, và store pnpm cục bộ theo gói. Postinstall đóng gói cũng
xóa các symlink toàn cục đó trước khi cắt tỉa các gốc đích cũ để quá trình nâng cấp
không để lại các import gói ESM bị treo.
Các đường dẫn này chỉ là phần sót lại cũ. Các cài đặt mới không nên tạo chúng.