CLI
Gói CLI:clawhub, tệp thực thi: clawhub.
Cài đặt toàn cục bằng npm hoặc pnpm:
Cờ toàn cục
--workdir <dir>: thư mục làm việc (mặc định: cwd; chuyển sang không gian làm việc Clawdbot nếu đã cấu hình)--dir <dir>: thư mục cài đặt trong thư mục làm việc (mặc định:skills)--site <url>: URL cơ sở để đăng nhập qua trình duyệt (mặc định:https://clawhub.ai)--registry <url>: URL cơ sở của API (mặc định: được tự động phát hiện, nếu không thì dùnghttps://clawhub.ai)--no-input: tắt lời nhắc
CLAWHUB_SITE(cũ:CLAWDHUB_SITE)CLAWHUB_REGISTRY(cũ:CLAWDHUB_REGISTRY)CLAWHUB_WORKDIR(cũ:CLAWDHUB_WORKDIR)
Proxy HTTP
CLI tuân theo các biến môi trường proxy HTTP tiêu chuẩn cho những hệ thống nằm sau proxy doanh nghiệp hoặc mạng bị hạn chế:HTTPS_PROXY/https_proxyHTTP_PROXY/http_proxyNO_PROXY/no_proxy
HTTPS_PROXY được dùng cho các yêu cầu HTTPS, HTTP_PROXY
cho HTTP thuần túy. NO_PROXY / no_proxy được tuân theo để bỏ qua proxy cho
các máy chủ hoặc miền cụ thể.
Điều này là bắt buộc trên những hệ thống chặn kết nối trực tiếp ra ngoài
(ví dụ: container Docker, VPS Hetzner chỉ có Internet qua proxy, tường lửa
doanh nghiệp).
Ví dụ:
Tệp cấu hình
Lưu token API và URL registry đã lưu vào bộ nhớ đệm.- macOS:
~/Library/Application Support/clawhub/config.json - Linux/XDG:
$XDG_CONFIG_HOME/clawhub/config.jsonhoặc~/.config/clawhub/config.json - Windows:
%APPDATA%\\clawhub\\config.json - Phương án dự phòng cũ: nếu
clawhub/config.jsonchưa tồn tại nhưngclawdhub/config.jsontồn tại, CLI sẽ sử dụng lại đường dẫn cũ - ghi đè:
CLAWHUB_CONFIG_PATH(cũ:CLAWDHUB_CONFIG_PATH)
Lệnh
login / auth login
- Mặc định: mở trình duyệt đến
<site>/cli/authvà hoàn tất qua lệnh gọi lại loopback. - Không giao diện:
clawhub login --token clh_... - Tương tác từ xa/không giao diện:
clawhub login --devicein một mã và chờ trong khi bạn cấp quyền tại<site>/cli/device.
whoami
- Xác minh token đã lưu qua
/api/v1/whoami.
token
- In token API đã lưu ra stdout.
- Hữu ích để chuyển token đăng nhập cục bộ qua pipe vào các lệnh thiết lập bí mật CI.
star <skill> / unstar <skill>
- Thêm/xóa một skill khỏi mục nổi bật của bạn.
- Gọi
POST /api/v1/stars/<slug>vàDELETE /api/v1/stars/<slug>. --yesbỏ qua bước xác nhận.
search <query...>
- Gọi
/api/v1/search?q=.... - Đầu ra bao gồm slug của skill, tên định danh chủ sở hữu, tên hiển thị và điểm mức độ liên quan.
- Tìm kiếm ưu tiên các kết quả khớp chính xác token slug/tên trước mức độ phổ biến theo lượt tải xuống. Một token slug độc lập như
mapkhớp vớipersonal-mapmạnh hơn chuỗi con bên trongamap. - Mức độ phổ biến chỉ là một yếu tố xếp hạng ban đầu nhỏ, không đảm bảo vị trí hàng đầu.
- Nếu một skill đáng lẽ phải xuất hiện nhưng không có, hãy chạy
clawhub inspect @owner/slugkhi đã đăng nhập để kiểm tra chẩn đoán kiểm duyệt mà chủ sở hữu có thể xem trước khi đổi tên siêu dữ liệu.
explore
- Liệt kê các skill mới nhất qua
/api/v1/skills?limit=...&sort=createdAt(sắp xếp theocreatedAtgiảm dần). - Cờ:
--limit <n>(1-200, mặc định: 25)--sort newest|updated|rating|downloads|trending(mặc định: mới nhất). Các bí danh sắp xếp cài đặt cũ vẫn hoạt động để đảm bảo khả năng tương thích.--json(đầu ra có thể đọc bằng máy)
- Đầu ra:
<slug> v<version> <age> <summary>(phần tóm tắt được rút gọn còn 50 ký tự).
inspect @owner/slug
- Tìm nạp siêu dữ liệu skill và các tệp phiên bản mà không cài đặt.
--version <version>: kiểm tra một phiên bản cụ thể (mặc định: mới nhất).--tag <tag>: kiểm tra phiên bản được gắn thẻ (ví dụ:latest).--versions: liệt kê lịch sử phiên bản (trang đầu tiên).--limit <n>: số phiên bản tối đa cần liệt kê (1-200).--files: liệt kê các tệp của phiên bản đã chọn.--file <path>: tìm nạp nội dung tệp thô (chỉ tệp văn bản; giới hạn 200KB).--json: đầu ra có thể đọc bằng máy.
install @owner/slug
- Xác định phiên bản mới nhất cho chủ sở hữu và skill được chỉ định.
- Tải xuống tệp zip qua
/api/v1/download. - Giải nén vào
<workdir>/<dir>/<slug>. - Từ chối ghi đè các skill đã ghim; trước tiên hãy chạy
clawhub unpin <skill>. - Ghi:
<workdir>/.clawhub/lock.json(cũ:.clawdhub)<skill>/.clawhub/origin.json(cũ:.clawdhub)
uninstall <skill>
- Xóa
<workdir>/<dir>/<slug>và xóa mục nhập trong tệp khóa. - Gửi dữ liệu đo từ xa theo cơ chế nỗ lực tối đa khi đã đăng nhập để số lượt cài đặt hiện tại có thể được hủy kích hoạt.
- Tương tác: yêu cầu xác nhận.
- Không tương tác (
--no-input): yêu cầu--yes.
list
- Đọc
<workdir>/.clawhub/lock.json(cũ:.clawdhub). - Hiển thị
pinnedbên cạnh các skill được đóng băng bằngclawhub pin, bao gồm lý do tùy chọn.
pin <skill>
- Đánh dấu một skill đã cài đặt là được ghim trong tệp khóa.
--reason <text>ghi lại lý do skill bị đóng băng.- Các skill đã ghim bị
update --allbỏ qua và bịupdate <skill>trực tiếp từ chối. - Các skill đã ghim cũng từ chối
install --forceđể dữ liệu byte cục bộ không bị thay thế ngoài ý muốn.
unpin <skill>
- Xóa trạng thái ghim trong tệp khóa khỏi một skill đã cài đặt để các bản cập nhật sau này có thể sửa đổi skill đó.
update [@owner/slug] / update --all
- Tính dấu vân tay từ các tệp cục bộ.
- Nếu dấu vân tay khớp với một phiên bản đã biết: không hiển thị lời nhắc.
- Nếu dấu vân tay không khớp:
- mặc định từ chối
- ghi đè bằng
--force(hoặc hiển thị lời nhắc nếu ở chế độ tương tác)
- Các skill đã ghim không bao giờ được
--forcecập nhật. update <skill>thất bại ngay lập tức đối với các skill đã ghim và yêu cầu bạn chạyclawhub unpin <skill>trước.update --allbỏ qua các slug đã ghim và in bản tóm tắt về những skill vẫn được đóng băng.
skill publish <path>
- So sánh dấu vân tay gói cục bộ với ClawHub và thoát thành công khi nội dung đã được phát hành.
- Các skill mới mặc định dùng
1.0.0; các skill đã thay đổi mặc định dùng phiên bản vá tiếp theo. --version <version>chọn phiên bản một cách rõ ràng và phát hành ngay cả khi nội dung khớp với phiên bản hiện có.--dry-runxác định kết quả phát hành mà không tải lên;--jsonin kết quả có thể đọc bằng máy.--owner <handle>phát hành dưới tên định danh nhà phát hành của tổ chức/người dùng khi tác nhân có quyền truy cập nhà phát hành.--migrate-ownerdi chuyển một skill hiện có sang--ownertrong khi phát hành phiên bản mới. Yêu cầu quyền truy cập quản trị viên/chủ sở hữu trên cả hai nhà phát hành.- Hành vi của chủ sở hữu và quy trình review được giải thích trong
docs/publishing.md. - Phát hành một skill có nghĩa là skill đó được phát hành theo
MIT-0trên ClawHub. - Các skill đã phát hành được phép sử dụng, sửa đổi và phân phối lại miễn phí mà không cần ghi công.
- ClawHub không hỗ trợ skill trả phí hoặc định giá theo từng skill.
- Bí danh cũ:
publish <path>.
GitHub Actions
Quy trình làm việcskill-publish.yml
có thể tái sử dụng của ClawHub gọi skill publish cho một skill_path, hoặc cho từng thư mục skill
trực tiếp bên trong root (mặc định: skills). Quy trình bỏ qua các skill không thay đổi và sử dụng
cùng hành vi tự động tăng phiên bản vá.
Đặt dry_run: true để xem trước mà không cần token. Việc phát hành thực tế yêu cầu
bí mật clawhub_token.
sync
- Quét thư mục làm việc hiện tại, thư mục skills đã cấu hình và mọi
thư mục
--root <dir>để tìm các thư mục skill cục bộ chứaSKILL.mdhoặcskill.md. - So sánh dấu vân tay của từng skill cục bộ với ClawHub và chỉ phát hành các skill mới hoặc đã thay đổi.
- Các skill mới được phát hành dưới dạng
1.0.0; theo mặc định, các skill đã thay đổi được phát hành với phiên bản vá tiếp theo. Dùng--bump minor|majorcho các lô cập nhật cần tăng theo một bước semver lớn hơn. --dry-runhiển thị kế hoạch phát hành mà không tải lên;--jsonin kế hoạch có thể đọc bằng máy.--allphát hành mọi skill mới hoặc đã thay đổi mà không cần nhắc. Khi không có--all, terminal tương tác cho phép bạn chọn các skill cần phát hành.--owner <handle>phát hành dưới tên định danh nhà phát hành của tổ chức/người dùng khi tác nhân có quyền truy cập nhà phát hành.syncchỉ phát hành một chiều. Nó không cài đặt, cập nhật, tải xuống hoặc báo cáo dữ liệu đo từ xa về lượt cài đặt/tải xuống.
scan --slug <slug>
- Yêu cầu
clawhub login. - Chạy ClawHub ClawScan qua
POST /api/v1/skills/-/scan, sau đó thăm dò cho đến khi quá trình quét đạt trạng thái kết thúc. - Quá trình quét diễn ra bất đồng bộ và có thể mất thời gian để hoàn tất. Trong khi chờ trong hàng đợi, vòng xoay terminal hiển thị vị trí quét ưu tiên hiện tại và số lượt quét đang ở phía trước.
- Quá trình quét đã phát hành yêu cầu quyền sở hữu hoặc quyền quản lý nhà phát hành. Người kiểm duyệt/quản trị viên có thể dùng cùng backend qua
clawhub-admin. --updatechỉ hợp lệ với--slug; tùy chọn này ghi kết quả quét đã phát hành thành công trở lại phiên bản được chọn.--output <file.zip>tải xuống toàn bộ kho lưu trữ báo cáo gồmmanifest.json,clawscan.json,skillspector.json,static-analysis.json,virustotal.jsonvàREADME.md.--jsonin toàn bộ phản hồi thăm dò để phục vụ tự động hóa.- Quét đường dẫn cục bộ không còn được hỗ trợ. Hãy tải lên một phiên bản mới, sau đó dùng
scan downloadđể truy xuất kết quả quét đã lưu cho phiên bản đã gửi đó.
scan download <name>
- Yêu cầu
clawhub login. - Tải xuống tệp ZIP báo cáo quét đã lưu cho phiên bản skill hoặc plugin đã gửi, bao gồm cả các phiên bản bị chặn hoặc ẩn bởi các bước kiểm tra bảo mật của ClawHub.
- Việc tải xuống skill sử dụng slug của skill và mặc định là
--kind skill. - Việc tải xuống plugin sử dụng tên gói và yêu cầu
--kind plugin. --versionlà bắt buộc để tác giả kiểm tra chính xác phiên bản đã gửi mà ClawHub đã chặn.--output <file.zip>chọn đường dẫn đích.
GitHub Actions
ClawHub cung cấp một quy trình làm việc chính thức có thể tái sử dụng tại/.github/workflows/skill-publish.yml
cho các kho lưu trữ skill và kho lưu trữ danh mục.
Thiết lập danh mục điển hình:
rootmặc định làskillsđối với các kho lưu trữ danh mục.- Truyền
skill_path: skills/review-helperđể xử lý một thư mục skill. owneránh xạ tới cờ CLI--owner; bỏ qua cờ này để xuất bản với tư cách người dùng đã xác thực.- Việc xuất bản skill V1 sử dụng
clawhub_token; tính năng xuất bản đáng tin cậy bằng GitHub OIDC hiện chỉ dành cho gói.
delete <skill>
- Khi không có
--version, xóa mềm một skill (chủ sở hữu, người kiểm duyệt hoặc quản trị viên). - Gọi
DELETE /api/v1/skills/{slug}. - Các lần xóa mềm do chủ sở hữu khởi tạo sẽ giữ slug trong 30 ngày; lệnh sẽ in thời điểm hết hạn.
--version <version>xóa vĩnh viễn một phiên bản cụ thể không phải mới nhất thuộc sở hữu thông qua một tuyến đóng khi có lỗi, dành riêng cho phiên bản. Không thể khôi phục hoặc xuất bản lại các phiên bản đã xóa. Hãy xuất bản phiên bản thay thế trước khi xóa phiên bản mới nhất hiện tại. Nhân viên nền tảng không được bỏ qua quyền sở hữu trong luồng chỉ dành cho phiên bản này.--reason <text>ghi lại ghi chú kiểm duyệt trong thao tác xóa mềm toàn bộ skill và nhật ký kiểm tra.--note <text>là bí danh của--reason.--yesbỏ qua bước xác nhận.
undelete <skill>
- Khôi phục một skill bị ẩn (chủ sở hữu, người kiểm duyệt hoặc quản trị viên).
- Không có chức năng hoàn tác xóa phiên bản; không thể khôi phục các phiên bản đã bị xóa vĩnh viễn.
- Gọi
POST /api/v1/skills/{slug}/undelete. --reason <text>ghi lại ghi chú kiểm duyệt trên skill và trong nhật ký kiểm tra.--note <text>là bí danh của--reason.--yesbỏ qua bước xác nhận.
hide <skill>
- Ẩn một skill (chủ sở hữu, người kiểm duyệt hoặc quản trị viên).
- Bí danh của
delete.
unhide <skill>
- Bỏ ẩn một skill (chủ sở hữu, người kiểm duyệt hoặc quản trị viên).
- Bí danh của
undelete.
skill rename <skill> <new-name>
- Đổi tên một skill thuộc sở hữu và giữ slug trước đó làm bí danh chuyển hướng.
- Gọi
POST /api/v1/skills/{slug}/rename. --yesbỏ qua bước xác nhận.
skill merge <source> <target>
- Hợp nhất một skill thuộc sở hữu vào một skill khác cũng thuộc sở hữu.
- Slug nguồn không còn được liệt kê công khai và trở thành bí danh chuyển hướng tới đích.
- Gọi
POST /api/v1/skills/{sourceSlug}/merge. --yesbỏ qua bước xác nhận.
transfer
- Quy trình chuyển quyền sở hữu.
- Việc chuyển cho định danh người dùng tạo một yêu cầu đang chờ để người nhận chấp nhận.
- Việc chuyển cho định danh tổ chức/nhà xuất bản chỉ được áp dụng ngay lập tức khi người thực hiện có quyền quản trị đối với cả chủ sở hữu hiện tại và nhà xuất bản đích.
- Lệnh con:
transfer request <skill> <handle> [--message "..."] [--yes]transfer list [--outgoing]transfer accept <skill> [--yes]transfer reject <skill> [--yes]transfer cancel <skill> [--yes]
- Điểm cuối:
POST /api/v1/skills/{slug}/transferPOST /api/v1/skills/{slug}/transfer/acceptPOST /api/v1/skills/{slug}/transfer/rejectPOST /api/v1/skills/{slug}/transfer/cancelGET /api/v1/transfers/incomingGET /api/v1/transfers/outgoing
package explore [query...]
- Duyệt hoặc tìm kiếm danh mục gói hợp nhất thông qua
GET /api/v1/packagesvàGET /api/v1/packages/search. - Sử dụng chức năng này cho plugin và các mục thuộc họ gói khác;
searchcấp cao nhất vẫn là bề mặt tìm kiếm skill. - Cờ:
--family skill|code-plugin|bundle-plugin--official--executes-code--target <target>,--os <os>,--arch <arch>,--libc <libc>--requires-browser,--requires-desktop,--requires-native-deps--requires-external-service,--external-service <name>--binary <name>,--os-permission <name>--artifact-kind legacy-zip|npm-pack--npm-mirror--limit <n>(1-100, mặc định: 25)--json
package inspect <name>
- Truy xuất siêu dữ liệu gói mà không cài đặt.
- Sử dụng chức năng này để kiểm tra siêu dữ liệu, khả năng tương thích, xác minh, nguồn, phiên bản và tệp của plugin.
--version <version>: kiểm tra một phiên bản cụ thể (mặc định: mới nhất).--tag <tag>: kiểm tra một phiên bản được gắn thẻ (ví dụ:latest).--versions: liệt kê lịch sử phiên bản (trang đầu tiên).--limit <n>: số phiên bản tối đa cần liệt kê (1-100).--files: liệt kê các tệp của phiên bản đã chọn.--file <path>: truy xuất nội dung tệp thô (chỉ tệp văn bản; giới hạn 200KB).--json: đầu ra máy có thể đọc được.
package download <name>
- Phân giải một phiên bản gói thông qua
GET /api/v1/packages/{name}/versions/{version}/artifact. - Tải xuống hiện vật từ
downloadUrlcủa trình phân giải. - Xác minh SHA-256 của ClawHub cho tất cả hiện vật.
- Đối với hiện vật npm-pack của ClawPack, cũng xác minh tính toàn vẹn npm
sha512, shasum npm và tên/phiên bảnpackage.jsoncủa tarball. - Các phiên bản ZIP cũ được tải xuống thông qua tuyến ZIP cũ.
- Cờ:
--version <version>: tải xuống một phiên bản cụ thể.--tag <tag>: tải xuống một phiên bản được gắn thẻ (mặc định:latest).-o, --output <path>: tệp hoặc thư mục đầu ra.--force: ghi đè một tệp đầu ra hiện có.--json: đầu ra máy có thể đọc được.
package verify <file>
- Tính toán SHA-256 của ClawHub, tính toàn vẹn npm
sha512và shasum npm cho một hiện vật cục bộ. - Khi có
--package, phân giải siêu dữ liệu dự kiến từ ClawHub và so sánh tệp cục bộ với siêu dữ liệu hiện vật đã xuất bản. - Với các cờ mã băm trực tiếp, thực hiện xác minh mà không cần tra cứu qua mạng.
- Cờ:
--package <name>: tên gói dùng để phân giải siêu dữ liệu hiện vật dự kiến.--version <version>hoặc--tag <tag>: phiên bản gói dự kiến.--sha256 <hex>: SHA-256 ClawHub dự kiến.--npm-integrity <sri>: giá trị toàn vẹn npm dự kiến.--npm-shasum <sha1>: shasum npm dự kiến.--json: đầu ra máy có thể đọc được.
package validate <source>
- Chạy Plugin Inspector đi kèm với CLI ClawHub đối với một thư mục gói plugin cục bộ.
- Mặc định thực hiện xác thực ngoại tuyến/tĩnh mà không định vị hoặc nhập một bản sao làm việc OpenClaw cục bộ.
- Các lỗi tương thích nghiêm trọng trả về mã thoát khác 0. Các phát hiện chỉ có cảnh báo được in ra nhưng trả về mã thoát 0.
- Cờ:
--out <dir>: ghi báo cáo Plugin Inspector vào thư mục này.--openclaw <path>: kiểm tra với một bản sao làm việc OpenClaw cục bộ được chỉ định rõ ràng.--runtime: bật thu thập thời gian chạy; nhập mã plugin.--allow-execute: cho phép thu thập thời gian chạy trong một không gian làm việc biệt lập.--no-mock-sdk: vô hiệu hóa SDK OpenClaw mô phỏng trong quá trình thu thập thời gian chạy.--json: đầu ra máy có thể đọc được.
package delete <name>
- Khi không có
--version, xóa mềm một gói và tất cả bản phát hành. --version <version>xóa vĩnh viễn một bản phát hành cụ thể không phải mới nhất thuộc sở hữu thông qua một tuyến đóng khi có lỗi, dành riêng cho phiên bản. Không thể khôi phục hoặc xuất bản lại các phiên bản đã xóa. Hãy xuất bản phiên bản thay thế trước khi xóa phiên bản mới nhất hiện tại. Luồng chỉ dành cho phiên bản này yêu cầu chủ sở hữu gói hoặc quản trị viên nhà xuất bản của tổ chức; nhân viên nền tảng không được bỏ qua quyền sở hữu gói.- Việc xóa mềm toàn bộ gói yêu cầu chủ sở hữu gói, chủ sở hữu/quản trị viên nhà xuất bản của tổ chức, người kiểm duyệt nền tảng hoặc quản trị viên nền tảng.
- Cờ:
--version <version>: xóa vĩnh viễn một phiên bản không phải mới nhất.--yes: bỏ qua bước xác nhận.--json: đầu ra máy có thể đọc được.
package undelete <name>
- Khôi phục một gói đã xóa mềm và các bản phát hành.
- Không có chức năng hoàn tác xóa phiên bản; không thể khôi phục các phiên bản đã bị xóa vĩnh viễn.
- Yêu cầu chủ sở hữu gói, chủ sở hữu/quản trị viên nhà xuất bản của tổ chức, người kiểm duyệt nền tảng hoặc quản trị viên nền tảng.
- Gọi
POST /api/v1/packages/{name}/undelete. - Cờ:
--yes: bỏ qua bước xác nhận.--json: đầu ra máy có thể đọc được.
package transfer <name>
- Chuyển một gói cho nhà phát hành khác.
- Yêu cầu quyền quản trị đối với cả chủ sở hữu gói hiện tại và nhà phát hành đích, trừ khi do quản trị viên nền tảng thực hiện.
- Tên gói có phạm vi phải được chuyển cho chủ sở hữu phạm vi tương ứng.
- Gọi
POST /api/v1/packages/{name}/transfer. - Cờ:
--to <owner>: định danh của nhà phát hành đích.--reason <text>: lý do kiểm tra tùy chọn.--json: đầu ra có thể đọc bằng máy.
package report
- Lệnh yêu cầu xác thực để báo cáo một gói cho người kiểm duyệt.
- Gọi
POST /api/v1/packages/{name}/report. - Báo cáo áp dụng ở cấp gói, có thể được liên kết với một phiên bản và sẽ hiển thị cho người kiểm duyệt để review.
- Bản thân báo cáo không tự động ẩn gói hoặc chặn lượt tải xuống.
- Cờ:
--version <version>: phiên bản gói tùy chọn để đính kèm vào báo cáo.--reason <text>: lý do báo cáo bắt buộc.--json: đầu ra có thể đọc bằng máy.
package moderation-status
- Lệnh dành cho chủ sở hữu để kiểm tra khả năng hiển thị trong quá trình kiểm duyệt gói.
- Gọi
GET /api/v1/packages/{name}/moderation. - Hiển thị trạng thái quét gói hiện tại, số báo cáo đang mở, trạng thái kiểm duyệt thủ công của bản phát hành mới nhất, trạng thái chặn tải xuống và lý do kiểm duyệt.
- Cờ:
--json: đầu ra có thể đọc bằng máy.
package readiness <name>
- Kiểm tra xem một gói đã sẵn sàng để OpenClaw sử dụng trong tương lai hay chưa.
- Gọi
GET /api/v1/packages/{name}/readiness. - Báo cáo các yếu tố cản trở trạng thái chính thức, tính khả dụng của ClawPack, giá trị băm của hiện vật, nguồn gốc mã nguồn, khả năng tương thích với OpenClaw, máy chủ đích, siêu dữ liệu môi trường và trạng thái quét.
- Cờ:
--json: đầu ra có thể đọc bằng máy.
package migration-status <name>
- Hiển thị trạng thái di chuyển dành cho người vận hành đối với một gói có thể thay thế Plugin OpenClaw được đóng gói sẵn.
- Gọi cùng điểm cuối tính toán mức độ sẵn sàng như
package readiness, nhưng in trạng thái tập trung vào việc di chuyển, phiên bản mới nhất, trạng thái gói chính thức, các bước kiểm tra và yếu tố cản trở. - Cờ:
--json: đầu ra có thể đọc bằng máy.
publisher create <handle>
- Tạo một nhà phát hành tổ chức thuộc sở hữu của người dùng đã xác thực.
- Định danh được chuẩn hóa thành chữ thường và có thể được truyền có hoặc không có
@. - Nhà phát hành tổ chức mới tạo mặc định không được tin cậy/chính thức.
- Thất bại nếu định danh đã được một nhà phát hành, người dùng hoặc tuyến dành riêng hiện có sử dụng.
package publish <source>
- Phát hành Plugin mã hoặc Plugin gói thông qua
POST /api/v1/packages. <source>chấp nhận:- Đường dẫn thư mục cục bộ:
./my-plugin - Tệp tarball ClawPack npm-pack cục bộ:
./my-plugin-1.2.3.tgz - Kho lưu trữ GitHub:
owner/repohoặcowner/repo@ref - URL GitHub:
https://github.com/owner/repo
- Đường dẫn thư mục cục bộ:
- Siêu dữ liệu được tự động phát hiện từ
package.json,openclaw.plugin.jsonvà các dấu hiệu gói OpenClaw thực tế như.codex-plugin/plugin.json,.claude-plugin/plugin.jsonvà.cursor-plugin/plugin.json. - Nguồn
.tgzđược coi là ClawPack. CLI tải lên chính xác các byte npm-pack và chỉ sử dụng nội dungpackage/đã giải nén để xác thực và điền trước siêu dữ liệu. - Thư mục Plugin mã được đóng gói thành tệp tarball npm ClawPack trước khi tải lên để các bản cài đặt OpenClaw có thể xác minh chính xác hiện vật. Thư mục Plugin gói vẫn sử dụng đường dẫn phát hành tệp đã giải nén.
- Đối với nguồn GitHub, thông tin nguồn được tự động điền từ kho lưu trữ, commit đã phân giải, ref và đường dẫn con.
- Đối với thư mục cục bộ, thông tin nguồn được tự động phát hiện từ git cục bộ khi remote gốc trỏ đến GitHub.
- Plugin mã bên ngoài phải khai báo rõ ràng
openclaw.compat.pluginApivàopenclaw.build.openclawVersion.package.json.versioncấp cao nhất không được dùng làm giá trị dự phòng để xác thực phát hành. --dry-runxem trước payload phát hành đã phân giải mà không tải lên.--jsonxuất đầu ra có thể đọc bằng máy cho CI.--owner <handle>phát hành dưới định danh nhà phát hành người dùng hoặc tổ chức khi tác nhân có quyền truy cập nhà phát hành.- Tên gói có phạm vi phải khớp với chủ sở hữu đã chọn. Xem
docs/publishing.md. - Các cờ hiện có (
--family,--name,--version,--source-repo,--source-commit,--source-ref,--source-path) vẫn hoạt động dưới dạng giá trị ghi đè. - Kho lưu trữ GitHub riêng tư yêu cầu
GITHUB_TOKEN.
Luồng cục bộ được khuyến nghị
Trước tiên, hãy sử dụng--dry-run để có thể xác nhận siêu dữ liệu gói đã phân giải và
thông tin nguồn trước khi tạo bản phát hành trực tiếp:
Luồng thư mục cục bộ
Đối với Plugin mã, việc phát hành thư mục sẽ xây dựng và tải lên một hiện vật ClawPack từ thư mục gói:package.json tối thiểu cho --family code-plugin
Plugin mã bên ngoài cần một lượng nhỏ siêu dữ liệu OpenClaw trong
package.json. Tệp kê khai tối thiểu này đủ để phát hành thành công:
openclaw.compat.pluginApiopenclaw.build.openclawVersion
package.json.versionlà phiên bản phát hành gói của bạn, nhưng không được dùng làm giá trị dự phòng để xác thực khả năng tương thích/bản dựng OpenClaw.openclaw.hostTargetsvàopenclaw.environmentlà siêu dữ liệu tùy chọn. ClawHub có thể hiển thị chúng khi có, nhưng chúng không bắt buộc để phát hành.openclaw.compat.minGatewayVersionvàopenclaw.build.pluginSdkVersionlà các phần bổ sung tùy chọn nếu bạn muốn phát hành siêu dữ liệu tương thích chi tiết hơn.- Nếu đang sử dụng phiên bản CLI
clawhubcũ hơn, hãy nâng cấp trước khi phát hành để các bước kiểm tra sơ bộ cục bộ chạy trước khi tải lên. - Nếu quá trình xác thực báo cáo mã khắc phục, hãy xem Cách khắc phục lỗi xác thực Plugin.
GitHub Actions
ClawHub cũng cung cấp một quy trình làm việc có thể tái sử dụng chính thức tại/.github/workflows/package-publish.yml
cho các kho lưu trữ Plugin.
Thiết lập trình gọi điển hình:
- Quy trình làm việc có thể tái sử dụng mặc định đặt
sourcethành kho lưu trữ của trình gọi. - Đối với monorepo, hãy truyền
source_pathđể quy trình làm việc phát hành thư mục gói Plugin, ví dụsource_path: extensions/codex. - Ghim quy trình làm việc có thể tái sử dụng vào một thẻ ổn định hoặc SHA commit đầy đủ. Không chạy việc phát hành bản phát hành từ
@main. pull_requestnên sử dụngdry_run: trueđể CI không gây thay đổi ngoài ý muốn.- Việc phát hành thực tế nên được giới hạn ở các sự kiện đáng tin cậy như
workflow_dispatchhoặc thao tác đẩy thẻ. - Phát hành đáng tin cậy không cần bí mật chỉ hoạt động trên
workflow_dispatch; thao tác đẩy thẻ vẫn cầnclawhub_token. - Duy trì
clawhub_tokencho lần phát hành đầu tiên, gói không đáng tin cậy hoặc phát hành khẩn cấp. - Quy trình làm việc tải kết quả JSON lên dưới dạng hiện vật và cung cấp kết quả đó dưới dạng đầu ra quy trình làm việc.
package trusted-publisher get <name>
- Hiển thị cấu hình nhà phát hành đáng tin cậy của GitHub Actions cho một gói.
- Sử dụng lệnh này sau khi đặt cấu hình để xác nhận kho lưu trữ, tên tệp quy trình làm việc và môi trường ghim tùy chọn.
- Cờ:
--json: đầu ra có thể đọc bằng máy.
package trusted-publisher set <name>
- Đính kèm hoặc thay thế cấu hình nhà phát hành đáng tin cậy của GitHub Actions cho một gói hiện có.
- Trước tiên, gói phải được tạo thông qua
clawhub package publishthủ công thông thường hoặc được xác thực bằng token. - Sau khi đặt cấu hình, các lần phát hành GitHub Actions được hỗ trợ trong tương lai có thể sử dụng OIDC/phát hành đáng tin cậy mà không cần token ClawHub dài hạn.
--repository <repo>phải làowner/repo.--workflow-filename <file>phải khớp với tên tệp quy trình làm việc trong.github/workflows/.--environment <name>là tùy chọn. Khi được cấu hình, môi trường GitHub Actions trong khai báo OIDC phải khớp chính xác.- ClawHub xác minh kho lưu trữ GitHub đã cấu hình khi lệnh này chạy. Có thể xác minh kho lưu trữ công khai thông qua siêu dữ liệu GitHub công khai. Kho lưu trữ riêng tư yêu cầu ClawHub có quyền truy cập GitHub vào kho lưu trữ đó, ví dụ thông qua bản cài đặt GitHub App của ClawHub trong tương lai hoặc một tích hợp GitHub được cấp phép khác.
- Cờ:
--repository <repo>: kho lưu trữ GitHub, ví dụopenclaw/example-plugin.--workflow-filename <file>: tên tệp quy trình làm việc, ví dụpackage-publish.yml.--environment <name>: môi trường GitHub Actions khớp chính xác tùy chọn.--json: đầu ra có thể đọc bằng máy.
package trusted-publisher delete <name>
- Xóa cấu hình nhà phát hành đáng tin cậy khỏi một gói.
- Sử dụng lệnh này để khôi phục nếu cần vô hiệu hóa hoặc tạo lại quy trình làm việc, kho lưu trữ hoặc môi trường ghim.
- Các lần phát hành thực tế trong tương lai phải sử dụng phương thức phát hành có xác thực thông thường cho đến khi cấu hình được đặt lại.
- Cờ:
--json: đầu ra có thể đọc bằng máy.
Dữ liệu đo từ xa về cài đặt
- Được gửi sau
clawhub install <slug>khi đã đăng nhập, trừ khiCLAWHUB_DISABLE_TELEMETRY=1được đặt. - Việc báo cáo được thực hiện theo khả năng tốt nhất. Các lệnh cài đặt không thất bại nếu dữ liệu đo từ xa không khả dụng.
- Chi tiết:
docs/telemetry.md.