Using ClawHub
CLI
CLI
แพ็กเกจ CLI: clawhub, ไบนารี: clawhub
ติดตั้งแบบส่วนกลางด้วย npm หรือ pnpm:
npm i -g clawhub# หรือpnpm add -g clawhubจากนั้นตรวจสอบ:
clawhub --helpclawhub loginclawhub whoamiแฟล็กส่วนกลาง
--workdir <dir>: ไดเรกทอรีทำงาน (ค่าเริ่มต้น: cwd; หากกำหนดค่าไว้ จะใช้พื้นที่ทำงาน Clawdbot เป็นทางเลือกสำรอง)--dir <dir>: ไดเรกทอรีติดตั้งภายใต้ workdir (ค่าเริ่มต้น:skills)--site <url>: URL ฐานสำหรับเข้าสู่ระบบผ่านเบราว์เซอร์ (ค่าเริ่มต้น:https://clawhub.ai)--registry <url>: URL ฐานของ API (ค่าเริ่มต้น: ค้นหาโดยอัตโนมัติ หากไม่พบใช้https://clawhub.ai)--no-input: ปิดพรอมต์
ตัวแปรสภาพแวดล้อมที่เทียบเท่า:
CLAWHUB_SITE(แบบเดิมCLAWDHUB_SITE)CLAWHUB_REGISTRY(แบบเดิมCLAWDHUB_REGISTRY)CLAWHUB_WORKDIR(แบบเดิมCLAWDHUB_WORKDIR)
พร็อกซี HTTP
CLI รองรับตัวแปรสภาพแวดล้อมพร็อกซี HTTP มาตรฐานสำหรับระบบที่อยู่หลัง พร็อกซีขององค์กรหรือเครือข่ายที่จำกัด:
HTTPS_PROXY/https_proxyHTTP_PROXY/http_proxyNO_PROXY/no_proxy
เมื่อตั้งค่าตัวแปรเหล่านี้ตัวใดตัวหนึ่ง CLI จะกำหนดเส้นทางคำขอขาออกผ่าน
พร็อกซีที่ระบุ โดยใช้ HTTPS_PROXY สำหรับคำขอ HTTPS และ HTTP_PROXY
สำหรับ HTTP แบบไม่เข้ารหัส ทั้งยังรองรับ NO_PROXY / no_proxy เพื่อข้ามพร็อกซีสำหรับ
โฮสต์หรือโดเมนที่ระบุ
จำเป็นต้องใช้การตั้งค่านี้ในระบบที่บล็อกการเชื่อมต่อขาออกโดยตรง (เช่น คอนเทนเนอร์ Docker, Hetzner VPS ที่เชื่อมต่ออินเทอร์เน็ตได้ผ่านพร็อกซีเท่านั้น หรือ ไฟร์วอลล์ขององค์กร)
ตัวอย่าง:
export HTTPS_PROXY=http://proxy.example.com:3128export NO_PROXY=localhost,127.0.0.1clawhub search "คำค้นหาของฉัน"เมื่อไม่ได้ตั้งค่าตัวแปรพร็อกซี ลักษณะการทำงานจะไม่เปลี่ยนแปลง (เชื่อมต่อโดยตรง)
ไฟล์การกำหนดค่า
จัดเก็บโทเค็น API และ URL รีจิสทรีที่แคชไว้
- macOS:
~/Library/Application Support/clawhub/config.json - Linux/XDG:
$XDG_CONFIG_HOME/clawhub/config.jsonหรือ~/.config/clawhub/config.json - Windows:
%APPDATA%\\clawhub\\config.json - ทางเลือกสำรองแบบเดิม: หากยังไม่มี
clawhub/config.jsonแต่มีclawdhub/config.jsonCLI จะใช้พาธแบบเดิมต่อ - เขียนทับค่า:
CLAWHUB_CONFIG_PATH(แบบเดิมCLAWDHUB_CONFIG_PATH)
คำสั่ง
login / auth login
- ค่าเริ่มต้น: เปิดเบราว์เซอร์ไปยัง
<site>/cli/authและดำเนินการให้เสร็จผ่านคอลแบ็กแบบลูปแบ็ก - แบบไม่มีส่วนติดต่อผู้ใช้:
clawhub login --token clh_... - แบบโต้ตอบระยะไกล/ไม่มีส่วนติดต่อผู้ใช้:
clawhub login --deviceจะแสดงรหัสและรอระหว่างที่คุณอนุญาตสิทธิ์ที่<site>/cli/device
whoami
- ตรวจสอบโทเค็นที่จัดเก็บไว้ผ่าน
/api/v1/whoami
token
- พิมพ์โทเค็น API ที่จัดเก็บไว้ไปยัง stdout
- มีประโยชน์สำหรับการไพป์โทเค็นเข้าสู่ระบบภายในเครื่องไปยังคำสั่งตั้งค่าข้อมูลลับของ CI
star <skill> / unstar <skill>
- เพิ่ม/ลบสกิลออกจากรายการเด่นของคุณ
- เรียก
POST /api/v1/stars/<slug>และDELETE /api/v1/stars/<slug> --yesข้ามการยืนยัน
search <query...>
- เรียก
/api/v1/search?q=... - ผลลัพธ์ประกอบด้วย slug ของสกิล, handle ของเจ้าของ, ชื่อที่แสดง และคะแนนความเกี่ยวข้อง
- การค้นหาจะให้น้ำหนักกับโทเค็นที่ตรงกับ slug/ชื่อแบบพอดีก่อนความนิยมในการดาวน์โหลด โทเค็น slug เดี่ยว เช่น
mapจะตรงกับpersonal-mapมากกว่าสตริงย่อยภายในamap - ความนิยมเป็นเพียงปัจจัยเริ่มต้นเล็กน้อยในการจัดอันดับ ไม่ได้รับประกันว่าจะอยู่ในอันดับสูงสุด
- หากสกิลควรปรากฏแต่ไม่ปรากฏ ให้เรียกใช้
clawhub inspect @owner/slugขณะเข้าสู่ระบบเพื่อตรวจสอบการวินิจฉัยการกลั่นกรองที่เจ้าของมองเห็นได้ ก่อนเปลี่ยนชื่อข้อมูลเมตา
explore
- แสดงรายการสกิลใหม่ล่าสุดผ่าน
/api/v1/skills?limit=...&sort=createdAt(เรียงตามcreatedAtจากมากไปน้อย) - แฟล็ก:
--limit <n>(1-200, ค่าเริ่มต้น: 25)--sort newest|updated|rating|downloads|trending(ค่าเริ่มต้น: ใหม่ล่าสุด) นามแฝงการเรียงลำดับการติดตั้งแบบเดิมยังคงใช้งานได้เพื่อความเข้ากันได้--json(ผลลัพธ์ที่เครื่องอ่านได้)
- ผลลัพธ์:
<slug> v<version> <age> <summary>(ตัดบทสรุปให้เหลือ 50 อักขระ)
inspect @owner/slug
- ดึงข้อมูลเมตาของสกิลและไฟล์เวอร์ชันโดยไม่ติดตั้ง
--version <version>: ตรวจสอบเวอร์ชันที่ระบุ (ค่าเริ่มต้น: ล่าสุด)--tag <tag>: ตรวจสอบเวอร์ชันที่ติดแท็ก (เช่นlatest)--versions: แสดงประวัติเวอร์ชัน (หน้าแรก)--limit <n>: จำนวนเวอร์ชันสูงสุดที่จะแสดง (1-200)--files: แสดงรายการไฟล์สำหรับเวอร์ชันที่เลือก--file <path>: ดึงเนื้อหาไฟล์ดิบ (เฉพาะไฟล์ข้อความ; จำกัด 200KB)--json: ผลลัพธ์ที่เครื่องอ่านได้
install @owner/slug
- ระบุเวอร์ชันล่าสุดสำหรับเจ้าของและสกิลที่กำหนด
- ดาวน์โหลดไฟล์ zip ผ่าน
/api/v1/download - แตกไฟล์ลงใน
<workdir>/<dir>/<slug> - ปฏิเสธการเขียนทับสกิลที่ปักหมุดไว้ ให้เรียกใช้
clawhub unpin <skill>ก่อน - เขียน:
<workdir>/.clawhub/lock.json(แบบเดิม.clawdhub)<skill>/.clawhub/origin.json(แบบเดิม.clawdhub)
uninstall <skill>
- ลบ
<workdir>/<dir>/<slug>และลบรายการออกจาก lockfile - ส่งข้อมูลการวัดและส่งข้อมูลทางไกลแบบพยายามให้ดีที่สุดขณะเข้าสู่ระบบ เพื่อให้สามารถ ปิดใช้งานจำนวนการติดตั้งปัจจุบันได้
- แบบโต้ตอบ: ขอการยืนยัน
- แบบไม่โต้ตอบ (
--no-input): ต้องใช้--yes
list
- อ่าน
<workdir>/.clawhub/lock.json(แบบเดิม.clawdhub) - แสดง
pinnedถัดจากสกิลที่ตรึงไว้ด้วยclawhub pinรวมถึงเหตุผลเพิ่มเติมหากมี
pin <skill>
- ทำเครื่องหมายสกิลที่ติดตั้งแล้วว่าปักหมุดใน lockfile
--reason <text>บันทึกสาเหตุที่ตรึงสกิลไว้- สกิลที่ปักหมุดจะถูกข้ามโดย
update --allและถูกปฏิเสธโดยupdate <skill>โดยตรง - สกิลที่ปักหมุดจะปฏิเสธ
install --forceด้วย เพื่อป้องกันไม่ให้แทนที่ไบต์ภายในเครื่องโดยไม่ตั้งใจ
unpin <skill>
- นำหมุดใน lockfile ออกจากสกิลที่ติดตั้ง เพื่อให้การอัปเดตในอนาคตแก้ไขสกิลได้
update [@owner/slug] / update --all
- คำนวณลายนิ้วมือจากไฟล์ภายในเครื่อง
- หากลายนิ้วมือตรงกับเวอร์ชันที่รู้จัก: ไม่แสดงพรอมต์
- หากลายนิ้วมือไม่ตรง:
- ปฏิเสธตามค่าเริ่มต้น
- เขียนทับด้วย
--force(หรือแสดงพรอมต์ หากเป็นแบบโต้ตอบ)
- สกิลที่ปักหมุดจะไม่ถูกอัปเดตโดย
--force update <skill>ล้มเหลวทันทีสำหรับสกิลที่ปักหมุด และแจ้งให้เรียกใช้clawhub unpin <skill>ก่อนupdate --allข้าม slug ที่ปักหมุดและพิมพ์บทสรุปว่าสิ่งใดยังคงถูกตรึงไว้
skill publish <path>
- เปรียบเทียบลายนิ้วมือของบันเดิลภายในเครื่องกับ ClawHub และออกจากโปรแกรมสำเร็จเมื่อ เนื้อหาได้รับการเผยแพร่แล้ว
- สกิลใหม่ใช้
1.0.0เป็นค่าเริ่มต้น ส่วนสกิลที่เปลี่ยนแปลงจะใช้เวอร์ชันแพตช์ ถัดไปเป็นค่าเริ่มต้น --version <version>เลือกเวอร์ชันอย่างชัดเจนและเผยแพร่แม้เมื่อ เนื้อหาตรงกับเวอร์ชันที่มีอยู่--dry-runดำเนินการเผยแพร่โดยไม่อัปโหลด ส่วน--jsonพิมพ์ผลลัพธ์ ที่เครื่องอ่านได้--owner <handle>เผยแพร่ภายใต้ handle ผู้เผยแพร่ขององค์กร/ผู้ใช้ เมื่อ ผู้ดำเนินการมีสิทธิ์เข้าถึงในฐานะผู้เผยแพร่--migrate-ownerย้ายสกิลที่มีอยู่ไปยัง--ownerพร้อมกับเผยแพร่ เวอร์ชันใหม่ ต้องมีสิทธิ์ผู้ดูแลระบบ/เจ้าของในผู้เผยแพร่ทั้งสองฝ่าย- อธิบายลักษณะการทำงานของเจ้าของและการรีวิวไว้ใน
docs/publishing.md - การเผยแพร่สกิลหมายถึงการเผยแพร่ภายใต้
MIT-0บน ClawHub - สกิลที่เผยแพร่แล้วสามารถใช้ แก้ไข และแจกจ่ายต่อได้ฟรีโดยไม่ต้องระบุแหล่งที่มา
- ClawHub ไม่รองรับสกิลแบบชำระเงินหรือการกำหนดราคาต่อสกิล
- นามแฝงแบบเดิม:
publish <path>
clawhub skill publish ./my-skill --dry-runclawhub skill publish ./my-skillclawhub skill publish ./my-skill --version 2.0.0GitHub Actions
เวิร์กโฟลว์ที่นำกลับมาใช้ใหม่ได้ของ ClawHub
skill-publish.yml
จะเรียก skill publish สำหรับ skill_path หนึ่งรายการ หรือสำหรับแต่ละโฟลเดอร์สกิลโดยตรง
ภายใต้ root (ค่าเริ่มต้น: skills) โดยจะข้ามสกิลที่ไม่มีการเปลี่ยนแปลงและใช้
ลักษณะการทำงานแบบเพิ่มเวอร์ชันแพตช์อัตโนมัติเช่นเดียวกัน
ตั้งค่า dry_run: true เพื่อดูตัวอย่างโดยไม่ใช้โทเค็น การเผยแพร่จริงต้องใช้
ข้อมูลลับ clawhub_token
sync
- สแกน workdir ปัจจุบัน ไดเรกทอรีสกิลที่กำหนดค่าไว้ และโฟลเดอร์
--root <dir>ใดๆ เพื่อค้นหาโฟลเดอร์สกิลภายในเครื่องที่มีSKILL.mdหรือskill.md - เปรียบเทียบลายนิ้วมือของสกิลภายในเครื่องแต่ละรายการกับ ClawHub และเผยแพร่เฉพาะสกิลใหม่หรือ สกิลที่เปลี่ยนแปลง
- สกิลใหม่เผยแพร่เป็น
1.0.0ส่วนสกิลที่เปลี่ยนแปลงจะเผยแพร่เป็นเวอร์ชันแพตช์ถัดไป ตามค่าเริ่มต้น ใช้--bump minor|majorสำหรับชุดการอัปเดตที่ควรเลื่อนด้วย ขั้น semver ที่ใหญ่กว่า --dry-runแสดงแผนการเผยแพร่โดยไม่อัปโหลด ส่วน--jsonพิมพ์แผน ที่เครื่องอ่านได้--allเผยแพร่ทุกสกิลใหม่หรือสกิลที่เปลี่ยนแปลงโดยไม่แสดงพรอมต์ หากไม่มี--allเทอร์มินัลแบบโต้ตอบจะให้คุณเลือกสกิลที่จะเผยแพร่--owner <handle>เผยแพร่ภายใต้ handle ผู้เผยแพร่ขององค์กร/ผู้ใช้ เมื่อ ผู้ดำเนินการมีสิทธิ์เข้าถึงในฐานะผู้เผยแพร่syncเป็นการเผยแพร่ทางเดียวเท่านั้น โดยจะไม่ติดตั้ง อัปเดต ดาวน์โหลด หรือ รายงานข้อมูลการวัดและส่งข้อมูลทางไกลเกี่ยวกับการติดตั้ง/ดาวน์โหลด
clawhub sync --all --dry-runclawhub sync --allclawhub sync --root ./skills --owner openclaw --bump minorscan --slug <slug>
- ต้องใช้
clawhub login - เรียกใช้ ClawScan ของ ClawHub ผ่าน
POST /api/v1/skills/-/scanแล้วสำรวจสถานะจนกว่าการสแกนจะสิ้นสุด - การสแกนเป็นแบบอะซิงโครนัสและอาจใช้เวลาจึงจะเสร็จสมบูรณ์ ระหว่างอยู่ในคิว ตัวหมุนในเทอร์มินัลจะแสดงตำแหน่งการสแกนที่ได้รับการจัดลำดับความสำคัญในปัจจุบันและจำนวนการสแกนที่อยู่ข้างหน้า
- การสแกนที่เผยแพร่ต้องมีสิทธิ์เจ้าของหรือสิทธิ์จัดการผู้เผยแพร่ ผู้กลั่นกรอง/ผู้ดูแลระบบสามารถใช้แบ็กเอนด์เดียวกันผ่าน
clawhub-admin --updateใช้ได้เฉพาะกับ--slugโดยจะเขียนผลการสแกนที่เผยแพร่และสำเร็จกลับไปยังเวอร์ชันที่เลือก--output <file.zip>ดาวน์โหลดไฟล์เก็บถาวรรายงานฉบับเต็มที่มีmanifest.json,clawscan.json,skillspector.json,static-analysis.json,virustotal.jsonและREADME.md--jsonพิมพ์การตอบกลับการสำรวจสถานะทั้งหมดสำหรับระบบอัตโนมัติ- ไม่รองรับการสแกนพาธภายในเครื่องอีกต่อไป ให้อัปโหลดเวอร์ชันใหม่ แล้วใช้
scan downloadเพื่อเรียกดูผลการสแกนที่จัดเก็บไว้สำหรับเวอร์ชันที่ส่งนั้น
clawhub scan --slug gifgrepclawhub scan --slug gifgrep --version 1.2.3clawhub scan --slug gifgrep --update --output report.zipscan download <name>
- ต้องใช้
clawhub login - ดาวน์โหลดไฟล์ ZIP ของรายงานการสแกนที่จัดเก็บไว้สำหรับเวอร์ชัน Skills หรือ Plugin ที่ส่งเข้ามา รวมถึงเวอร์ชันที่ถูกบล็อกหรือซ่อนโดยการตรวจสอบความปลอดภัยของ ClawHub
- การดาวน์โหลด Skills ใช้ slug ของ Skills และมีค่าเริ่มต้นเป็น
--kind skill - การดาวน์โหลด Plugin ใช้ชื่อแพ็กเกจและต้องระบุ
--kind plugin - ต้องระบุ
--versionเพื่อให้ผู้เขียนตรวจสอบเวอร์ชันที่ส่งเข้ามาซึ่งถูก ClawHub บล็อกได้อย่างถูกต้อง --output <file.zip>ใช้เลือกพาธปลายทาง
clawhub scan download gifgrep --version 1.2.3clawhub scan download @scope/demo --version 2.0.0 --kind plugin --output report.zipGitHub Actions
ClawHub มีเวิร์กโฟลว์อย่างเป็นทางการที่ใช้ซ้ำได้อยู่ที่
/.github/workflows/skill-publish.yml
สำหรับรีโพซิทอรี Skills และรีโพซิทอรีแค็ตตาล็อก
การตั้งค่าแค็ตตาล็อกโดยทั่วไป:
name: Skill Publish on: pull_request: workflow_dispatch: jobs: dry-run: if: github.event_name == 'pull_request' uses: openclaw/clawhub/.github/workflows/skill-publish.yml@v1 with: owner: nvidia dry_run: true publish: if: github.event_name == 'workflow_dispatch' uses: openclaw/clawhub/.github/workflows/skill-publish.yml@v1 with: owner: nvidia dry_run: false secrets: clawhub_token: ${{ secrets.CLAWHUB_TOKEN }}หมายเหตุ:
rootมีค่าเริ่มต้นเป็นskillsสำหรับรีโพซิทอรีแค็ตตาล็อก- ส่ง
skill_path: skills/review-helperเพื่อประมวลผลโฟลเดอร์ Skills หนึ่งโฟลเดอร์ ownerจับคู่กับแฟล็ก CLI--owner; ไม่ต้องระบุเพื่อเผยแพร่ในฐานะผู้ใช้ที่ผ่านการยืนยันตัวตน- การเผยแพร่ Skills V1 ใช้
clawhub_token; ขณะนี้การเผยแพร่ที่เชื่อถือได้ด้วย GitHub OIDC รองรับเฉพาะแพ็กเกจ
delete <skill>
- เมื่อไม่มี
--versionให้ลบ Skills แบบกู้คืนได้ (เจ้าของ ผู้ดูแล หรือผู้ดูแลระบบ) - เรียก
DELETE /api/v1/skills/{slug} - การลบแบบกู้คืนได้ที่เจ้าของเป็นผู้ดำเนินการจะสงวน slug ไว้ 30 วัน โดยคำสั่งจะแสดงเวลาหมดอายุ
--version <version>ลบเวอร์ชันที่เป็นของตนเองและไม่ใช่เวอร์ชันล่าสุดอย่างถาวรผ่านเส้นทางเฉพาะเวอร์ชัน ที่ปฏิเสธการทำงานเมื่อไม่สามารถยืนยันเงื่อนไขได้ เวอร์ชันที่ถูกลบไม่สามารถกู้คืนหรือเผยแพร่ซ้ำได้ ให้เผยแพร่เวอร์ชันทดแทนก่อนลบ เวอร์ชันล่าสุดในปัจจุบัน เจ้าหน้าที่แพลตฟอร์มไม่สามารถข้ามข้อกำหนดด้านความเป็นเจ้าของสำหรับขั้นตอนเฉพาะเวอร์ชันนี้--reason <text>บันทึกหมายเหตุการดูแลในการลบ Skills ทั้งรายการแบบกู้คืนได้และบันทึกการตรวจสอบ--note <text>เป็นนามแฝงของ--reason--yesข้ามการยืนยัน
undelete <skill>
- กู้คืน Skills ที่ซ่อนอยู่ (เจ้าของ ผู้ดูแล หรือผู้ดูแลระบบ)
- ไม่มีการยกเลิกการลบเวอร์ชัน เวอร์ชันที่ถูกลบอย่างถาวรไม่สามารถกู้คืนได้
- เรียก
POST /api/v1/skills/{slug}/undelete --reason <text>บันทึกหมายเหตุการดูแลใน Skills และบันทึกการตรวจสอบ--note <text>เป็นนามแฝงของ--reason--yesข้ามการยืนยัน
hide <skill>
- ซ่อน Skills (เจ้าของ ผู้ดูแล หรือผู้ดูแลระบบ)
- นามแฝงของ
delete
unhide <skill>
- ยกเลิกการซ่อน Skills (เจ้าของ ผู้ดูแล หรือผู้ดูแลระบบ)
- นามแฝงของ
undelete
skill rename <skill> <new-name>
- เปลี่ยนชื่อ Skills ที่เป็นของตนเองและเก็บ slug เดิมไว้เป็นนามแฝงสำหรับเปลี่ยนเส้นทาง
- เรียก
POST /api/v1/skills/{slug}/rename --yesข้ามการยืนยัน
skill merge <source> <target>
- รวม Skills ที่เป็นของตนเองรายการหนึ่งเข้ากับ Skills ที่เป็นของตนเองอีกรายการ
- slug ต้นทางจะไม่แสดงต่อสาธารณะอีกต่อไปและเปลี่ยนเป็นนามแฝงที่เปลี่ยนเส้นทางไปยังเป้าหมาย
- เรียก
POST /api/v1/skills/{sourceSlug}/merge --yesข้ามการยืนยัน
transfer
- เวิร์กโฟลว์การโอนความเป็นเจ้าของ
- การโอนไปยังแฮนเดิลผู้ใช้จะสร้างคำขอที่รอดำเนินการให้ผู้รับยอมรับ
- การโอนไปยังแฮนเดิลขององค์กร/ผู้เผยแพร่จะมีผลทันทีเฉพาะเมื่อผู้ดำเนินการมี สิทธิ์ผู้ดูแลระบบทั้งในเจ้าของปัจจุบันและผู้เผยแพร่ปลายทาง
- คำสั่งย่อย:
transfer request <skill> <handle> [--message "..."] [--yes]transfer list [--outgoing]transfer accept <skill> [--yes]transfer reject <skill> [--yes]transfer cancel <skill> [--yes]
- เอนด์พอยต์:
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...]
- เรียกดูหรือค้นหาแค็ตตาล็อกแพ็กเกจแบบรวมผ่าน
GET /api/v1/packagesและGET /api/v1/packages/search - ใช้คำสั่งนี้สำหรับ Plugin และรายการในตระกูลแพ็กเกจอื่น ส่วน
searchระดับบนสุดยังคงเป็นส่วนค้นหา Skills - แฟล็ก:
--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, ค่าเริ่มต้น: 25)--json
ตัวอย่าง:
clawhub package explore --family code-pluginclawhub package explore --family code-plugin --os darwin --requires-desktopclawhub package explore --family code-plugin --artifact-kind npm-packclawhub package explore --npm-mirrorclawhub package explore episodic-claw --family code-pluginpackage inspect <name>
- ดึงข้อมูลเมตาของแพ็กเกจโดยไม่ติดตั้ง
- ใช้คำสั่งนี้เพื่อตรวจสอบข้อมูลเมตาของ Plugin ความเข้ากันได้ การยืนยัน แหล่งที่มา และเวอร์ชัน/ไฟล์
--version <version>: ตรวจสอบเวอร์ชันที่ระบุ (ค่าเริ่มต้น: ล่าสุด)--tag <tag>: ตรวจสอบเวอร์ชันที่ติดแท็ก (เช่นlatest)--versions: แสดงประวัติเวอร์ชัน (หน้าแรก)--limit <n>: จำนวนเวอร์ชันสูงสุดที่จะแสดง (1-100)--files: แสดงไฟล์สำหรับเวอร์ชันที่เลือก--file <path>: ดึงเนื้อหาไฟล์ดิบ (เฉพาะไฟล์ข้อความ จำกัด 200KB)--json: เอาต์พุตที่เครื่องอ่านได้
package download <name>
- แก้ไขเวอร์ชันแพ็กเกจผ่าน
GET /api/v1/packages/{name}/versions/{version}/artifact - ดาวน์โหลดอาร์ติแฟกต์จาก
downloadUrlของตัวแก้ไข - ตรวจสอบ ClawHub SHA-256 สำหรับอาร์ติแฟกต์ทั้งหมด
- สำหรับอาร์ติแฟกต์ npm-pack ของ ClawPack จะตรวจสอบความสมบูรณ์ของ npm
sha512, npm shasum และชื่อ/เวอร์ชันpackage.jsonของ tarball เพิ่มเติมด้วย - เวอร์ชัน ZIP แบบเดิมจะดาวน์โหลดผ่านเส้นทาง ZIP แบบเดิม
- แฟล็ก:
--version <version>: ดาวน์โหลดเวอร์ชันที่ระบุ--tag <tag>: ดาวน์โหลดเวอร์ชันที่ติดแท็ก (ค่าเริ่มต้น:latest)-o, --output <path>: ไฟล์หรือไดเรกทอรีเอาต์พุต--force: เขียนทับไฟล์เอาต์พุตที่มีอยู่--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package download @openclaw/example-plugin --tag latestclawhub package download @openclaw/example-plugin --version 1.2.3 -o artifacts/package verify <file>
- คำนวณ ClawHub SHA-256, ความสมบูรณ์ของ npm
sha512และ npm shasum สำหรับ อาร์ติแฟกต์ภายในเครื่อง - เมื่อใช้
--packageจะแก้ไขข้อมูลเมตาที่คาดไว้จาก ClawHub และเปรียบเทียบ ไฟล์ภายในเครื่องกับข้อมูลเมตาของอาร์ติแฟกต์ที่เผยแพร่ - เมื่อใช้แฟล็กไดเจสต์โดยตรง จะตรวจสอบโดยไม่ค้นหาผ่านเครือข่าย
- แฟล็ก:
--package <name>: ชื่อแพ็กเกจสำหรับแก้ไขข้อมูลเมตาของอาร์ติแฟกต์ที่คาดไว้--version <version>หรือ--tag <tag>: เวอร์ชันแพ็กเกจที่คาดไว้--sha256 <hex>: ClawHub SHA-256 ที่คาดไว้--npm-integrity <sri>: ค่าความสมบูรณ์ของ npm ที่คาดไว้--npm-shasum <sha1>: npm shasum ที่คาดไว้--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package verify ./example-plugin-1.2.3.tgz --package @openclaw/example-plugin --version 1.2.3clawhub package verify ./example-plugin-1.2.3.tgz --sha256 <hex>package validate <source>
- เรียกใช้ Plugin Inspector ที่รวมมากับ CLI ของ ClawHub กับโฟลเดอร์แพ็กเกจ Plugin ภายในเครื่อง
- ค่าเริ่มต้นเป็นการตรวจสอบแบบออฟไลน์/สแตติก โดยไม่ค้นหาหรือนำเข้า checkout ของ OpenClaw ภายในเครื่อง
- ข้อผิดพลาดด้านความเข้ากันได้ที่ร้ายแรงจะจบการทำงานด้วยค่าที่ไม่ใช่ศูนย์ ผลการตรวจพบที่เป็นเพียงคำเตือนจะแสดงออกมาแต่ จบการทำงานด้วยค่าศูนย์
- แฟล็ก:
--out <dir>: เขียนรายงาน Plugin Inspector ไปยังไดเรกทอรีนี้--openclaw <path>: ตรวจสอบกับ checkout ของ OpenClaw ภายในเครื่องที่ระบุอย่างชัดเจน--runtime: เปิดใช้งานการเก็บข้อมูลรันไทม์ ซึ่งจะนำเข้าโค้ด Plugin--allow-execute: อนุญาตให้เก็บข้อมูลรันไทม์ในพื้นที่ทำงานที่แยกออกมา--no-mock-sdk: ปิดใช้ OpenClaw SDK จำลองระหว่างการเก็บข้อมูลรันไทม์--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package validate ./example-pluginหากการตรวจสอบรายงานผลการตรวจพบเกี่ยวกับแพ็กเกจ manifest การนำเข้า SDK หรืออาร์ติแฟกต์ โปรดดู วิธีแก้ไขการตรวจสอบ Plugin แล้วเรียกใช้คำสั่งอีกครั้ง
package delete <name>
- เมื่อไม่มี
--versionจะลบแพ็กเกจและรีลีสทั้งหมดแบบกู้คืนได้ --version <version>ลบรีลีสที่เป็นของตนเองและไม่ใช่เวอร์ชันล่าสุดอย่างถาวรผ่านเส้นทางเฉพาะเวอร์ชัน ที่ปฏิเสธการทำงานเมื่อไม่สามารถยืนยันเงื่อนไขได้ เวอร์ชันที่ถูกลบไม่สามารถกู้คืนหรือเผยแพร่ซ้ำได้ ให้เผยแพร่เวอร์ชันทดแทนก่อนลบ เวอร์ชันล่าสุดในปัจจุบัน ขั้นตอนเฉพาะเวอร์ชันนี้กำหนดให้เป็นเจ้าของแพ็กเกจหรือผู้ดูแลระบบของผู้เผยแพร่ในองค์กร โดยเจ้าหน้าที่แพลตฟอร์มไม่สามารถข้ามข้อกำหนดความเป็นเจ้าของแพ็กเกจ- การลบแพ็กเกจทั้งรายการแบบกู้คืนได้กำหนดให้เป็นเจ้าของแพ็กเกจ เจ้าของ/ผู้ดูแลระบบของผู้เผยแพร่ในองค์กร ผู้ดูแล แพลตฟอร์ม หรือผู้ดูแลระบบแพลตฟอร์ม
- แฟล็ก:
--version <version>: ลบเวอร์ชันที่ไม่ใช่เวอร์ชันล่าสุดหนึ่งเวอร์ชันอย่างถาวร--yes: ข้ามการยืนยัน--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package delete @openclaw/example-plugin --yesclawhub package delete @openclaw/example-plugin --version 1.2.3 --yespackage undelete <name>
- กู้คืนแพ็กเกจและรีลีสที่ถูกลบแบบกู้คืนได้
- ไม่มีการยกเลิกการลบเวอร์ชัน เวอร์ชันที่ถูกลบอย่างถาวรไม่สามารถกู้คืนได้
- กำหนดให้เป็นเจ้าของแพ็กเกจ เจ้าของ/ผู้ดูแลระบบของผู้เผยแพร่ในองค์กร ผู้ดูแลแพลตฟอร์ม หรือผู้ดูแลระบบแพลตฟอร์ม
- เรียก
POST /api/v1/packages/{name}/undelete - แฟล็ก:
--yes: ข้ามการยืนยัน--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package undelete @openclaw/example-plugin --yespackage transfer <name>
- โอนแพ็กเกจไปยังผู้เผยแพร่รายอื่น
- ต้องมีสิทธิ์ผู้ดูแลระบบทั้งสำหรับเจ้าของแพ็กเกจปัจจุบันและผู้เผยแพร่ ปลายทาง เว้นแต่ดำเนินการโดยผู้ดูแลระบบแพลตฟอร์ม
- ชื่อแพ็กเกจที่มีขอบเขตต้องโอนไปยังเจ้าของขอบเขตที่ตรงกัน
- เรียกใช้
POST /api/v1/packages/{name}/transfer - แฟล็ก:
--to <owner>: แฮนเดิลของผู้เผยแพร่ปลายทาง--reason <text>: เหตุผลสำหรับการตรวจสอบที่ระบุหรือไม่ก็ได้--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package transfer @openclaw/example-plugin --to openclawpackage report
- คำสั่งที่ต้องผ่านการยืนยันตัวตนสำหรับรายงานแพ็กเกจต่อผู้ดูแล
- เรียกใช้
POST /api/v1/packages/{name}/report - รายงานอยู่ในระดับแพ็กเกจ สามารถผูกกับเวอร์ชันได้ตามต้องการ และผู้ดูแลจะมองเห็น เพื่อตรวจสอบ
- รายงานจะไม่ซ่อนแพ็กเกจหรือบล็อกการดาวน์โหลดโดยอัตโนมัติด้วยตัวเอง
- แฟล็ก:
--version <version>: เวอร์ชันแพ็กเกจที่ระบุหรือไม่ก็ได้เพื่อแนบกับรายงาน--reason <text>: เหตุผลของรายงานที่จำเป็นต้องระบุ--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package report @openclaw/example-plugin --version 1.2.3 --reason "เพย์โหลดเนทีฟที่น่าสงสัย"package moderation-status
- คำสั่งสำหรับเจ้าของเพื่อตรวจสอบการมองเห็นสถานะการกลั่นกรองของแพ็กเกจ
- เรียกใช้
GET /api/v1/packages/{name}/moderation - แสดงสถานะการสแกนแพ็กเกจปัจจุบัน จำนวนรายงานที่ยังเปิดอยู่ สถานะการกลั่นกรอง ด้วยตนเองของรุ่นล่าสุด สถานะการบล็อกการดาวน์โหลด และเหตุผลในการกลั่นกรอง
- แฟล็ก:
--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package moderation-status @openclaw/example-pluginpackage readiness <name>
- ตรวจสอบว่าแพ็กเกจพร้อมสำหรับการใช้งานโดย OpenClaw ในอนาคตหรือไม่
- เรียกใช้
GET /api/v1/packages/{name}/readiness - รายงานสิ่งกีดขวางสำหรับสถานะทางการ ความพร้อมใช้งานของ ClawPack ไดเจสต์ของอาร์ติแฟกต์ ที่มาของซอร์ส ความเข้ากันได้กับ OpenClaw เป้าหมายโฮสต์ เมทาดาทาสภาพแวดล้อม และสถานะการสแกน
- แฟล็ก:
--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package readiness @openclaw/example-pluginpackage migration-status <name>
- แสดงสถานะการย้ายข้อมูลที่มุ่งเน้นผู้ปฏิบัติงานสำหรับแพ็กเกจที่อาจมาแทนที่ Plugin ที่รวมมากับ OpenClaw
- เรียกใช้เอนด์พอยต์ความพร้อมที่คำนวณแล้วเดียวกันกับ
package readinessแต่แสดง สถานะที่มุ่งเน้นการย้ายข้อมูล เวอร์ชันล่าสุด สถานะแพ็กเกจทางการ การตรวจสอบ และ สิ่งกีดขวาง - แฟล็ก:
--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package migration-status @openclaw/example-pluginpublisher create <handle>
- สร้างผู้เผยแพร่ขององค์กรที่มีผู้ใช้ซึ่งผ่านการยืนยันตัวตนเป็นเจ้าของ
- แฮนเดิลจะถูกปรับให้เป็นตัวพิมพ์เล็ก และส่งโดยมีหรือไม่มี
@ก็ได้ - ผู้เผยแพร่ขององค์กรที่สร้างใหม่จะไม่ได้รับความไว้วางใจหรือสถานะทางการโดยค่าเริ่มต้น
- ล้มเหลวหากแฮนเดิลถูกใช้แล้วโดยผู้เผยแพร่ ผู้ใช้ หรือเส้นทางที่สงวนไว้
clawhub publisher create opik --display-name "Opik"package publish <source>
- เผยแพร่ Plugin แบบโค้ดหรือ Plugin แบบบันเดิลผ่าน
POST /api/v1/packages <source>รองรับ:- พาธโฟลเดอร์ภายในเครื่อง:
./my-plugin - ทาร์บอล npm-pack ของ ClawPack ภายในเครื่อง:
./my-plugin-1.2.3.tgz - รีโพ GitHub:
owner/repoหรือowner/repo@ref - URL ของ GitHub:
https://github.com/owner/repo
- พาธโฟลเดอร์ภายในเครื่อง:
- ระบบตรวจหาเมทาดาทาโดยอัตโนมัติจาก
package.json,openclaw.plugin.jsonและ เครื่องหมายบันเดิล OpenClaw จริง เช่น.codex-plugin/plugin.json,.claude-plugin/plugin.jsonและ.cursor-plugin/plugin.json - ซอร์ส
.tgzจะถือเป็น ClawPack โดย CLI จะอัปโหลดไบต์ npm-pack ที่ตรงกันทุกประการ และใช้เนื้อหาpackage/ที่แตกไฟล์แล้วเฉพาะสำหรับการตรวจสอบและ การกรอกเมทาดาทาล่วงหน้า - โฟลเดอร์ Plugin แบบโค้ดจะถูกแพ็กเป็นทาร์บอล npm ของ ClawPack ก่อนอัปโหลด เพื่อให้ การติดตั้ง OpenClaw สามารถตรวจสอบอาร์ติแฟกต์ที่ตรงกันทุกประการได้ ส่วนโฟลเดอร์ Plugin แบบบันเดิลยังคง ใช้เส้นทางการเผยแพร่ไฟล์ที่แตกแล้ว
- สำหรับซอร์ส GitHub ระบบจะกรอกข้อมูลที่มาของซอร์สโดยอัตโนมัติจากรีโพ คอมมิตที่แก้ไขแล้ว ref และพาธย่อย
- สำหรับโฟลเดอร์ภายในเครื่อง ระบบจะตรวจหาข้อมูลที่มาของซอร์สจาก git ภายในเครื่องโดยอัตโนมัติเมื่อรีโมต origin ชี้ไปยัง GitHub
- Plugin แบบโค้ดภายนอกต้องประกาศ
openclaw.compat.pluginApiและopenclaw.build.openclawVersionอย่างชัดเจน จะไม่ใช้package.json.versionระดับบนสุดเป็นค่าทดแทนสำหรับการตรวจสอบความถูกต้องก่อนเผยแพร่ --dry-runแสดงตัวอย่างเพย์โหลดการเผยแพร่ที่แก้ไขแล้วโดยไม่อัปโหลด--jsonส่งเอาต์พุตที่เครื่องอ่านได้สำหรับ CI--owner <handle>เผยแพร่ภายใต้แฮนเดิลผู้เผยแพร่ของผู้ใช้หรือองค์กร เมื่อผู้ดำเนินการมีสิทธิ์เข้าถึงผู้เผยแพร่- ชื่อแพ็กเกจที่มีขอบเขตต้องตรงกับเจ้าของที่เลือก ดู
docs/publishing.md - แฟล็กที่มีอยู่แล้ว (
--family,--name,--version,--source-repo,--source-commit,--source-ref,--source-path) ยังคงใช้เป็นค่าลบล้างได้ - รีโพ GitHub แบบส่วนตัวต้องใช้
GITHUB_TOKEN
clawhub package publish ./plugin.tgz --owner openclawขั้นตอนภายในเครื่องที่แนะนำ
ใช้ --dry-run ก่อน เพื่อยืนยันเมทาดาทาแพ็กเกจที่แก้ไขแล้วและ
ข้อมูลที่มาของซอร์สก่อนสร้างรุ่นเผยแพร่จริง:
npm packclawhub package publish ./my-plugin-1.2.3.tgz --family code-plugin --dry-runclawhub package publish ./my-plugin-1.2.3.tgz --family code-pluginขั้นตอนสำหรับโฟลเดอร์ภายในเครื่อง
สำหรับ Plugin แบบโค้ด การเผยแพร่โฟลเดอร์จะสร้างและอัปโหลดอาร์ติแฟกต์ ClawPack จาก โฟลเดอร์แพ็กเกจ:
clawhub package publish ./my-plugin --family code-plugin --dry-runclawhub package publish ./my-plugin --family code-pluginpackage.json ขั้นต่ำสำหรับ --family code-plugin
Plugin แบบโค้ดภายนอกต้องมีเมทาดาทา OpenClaw จำนวนเล็กน้อยใน
package.json โดยแมนิเฟสต์ขั้นต่ำนี้เพียงพอสำหรับการเผยแพร่ให้สำเร็จ:
{ "name": "@myorg/openclaw-my-plugin", "version": "1.0.0", "type": "module", "openclaw": { "extensions": ["./index.ts"], "compat": { "pluginApi": ">=2026.3.24-beta.2" }, "build": { "openclawVersion": "2026.3.24-beta.2" } }}ฟิลด์ที่จำเป็น:
openclaw.compat.pluginApiopenclaw.build.openclawVersion
หมายเหตุ:
package.json.versionคือเวอร์ชันรุ่นเผยแพร่ของแพ็กเกจ แต่จะไม่ถูกใช้เป็น ค่าทดแทนสำหรับการตรวจสอบความเข้ากันได้กับ OpenClaw หรือการตรวจสอบบิลด์openclaw.hostTargetsและopenclaw.environmentเป็นเมทาดาทาที่ระบุหรือไม่ก็ได้ ClawHub อาจแสดงข้อมูลเหล่านี้เมื่อมีอยู่ แต่ไม่จำเป็นสำหรับการเผยแพร่openclaw.compat.minGatewayVersionและopenclaw.build.pluginSdkVersionเป็นข้อมูลเสริมที่ระบุหรือไม่ก็ได้ หากต้องการเผยแพร่ เมทาดาทาความเข้ากันได้ที่ละเอียดขึ้น- หากใช้ CLI
clawhubรุ่นเก่า ให้อัปเกรดก่อนเผยแพร่ เพื่อให้ การตรวจสอบล่วงหน้าภายในเครื่องทำงานก่อนอัปโหลด - หากการตรวจสอบรายงานรหัสการแก้ไข โปรดดู วิธีแก้ไขการตรวจสอบความถูกต้องของ Plugin
GitHub Actions
ClawHub ยังมีเวิร์กโฟลว์ที่นำกลับมาใช้ซ้ำได้อย่างเป็นทางการที่
/.github/workflows/package-publish.yml
สำหรับรีโพ Plugin
การตั้งค่าผู้เรียกใช้ทั่วไป:
name: Package Publish on: pull_request: workflow_dispatch: push: tags: - "v*" jobs: dry-run: if: github.event_name == 'pull_request' uses: openclaw/clawhub/.github/workflows/[email protected] with: dry_run: true publish: if: github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/') permissions: contents: read id-token: write uses: openclaw/clawhub/.github/workflows/[email protected] with: dry_run: false secrets: clawhub_token: ${{ secrets.CLAWHUB_TOKEN }}หมายเหตุ:
- เวิร์กโฟลว์ที่นำกลับมาใช้ซ้ำได้ตั้งค่าเริ่มต้น
sourceเป็นรีโพของผู้เรียกใช้ - สำหรับ monorepo ให้ส่ง
source_pathเพื่อให้เวิร์กโฟลว์เผยแพร่โฟลเดอร์ แพ็กเกจ Plugin เช่นsource_path: extensions/codex - ตรึงเวิร์กโฟลว์ที่นำกลับมาใช้ซ้ำได้ไว้กับแท็กเสถียรหรือ SHA ของคอมมิตแบบเต็ม ห้ามเรียกใช้การเผยแพร่รุ่นจาก
@main pull_requestควรใช้dry_run: trueเพื่อให้ CI ไม่สร้างผลกระทบถาวร- ควรจำกัดการเผยแพร่จริงไว้เฉพาะเหตุการณ์ที่เชื่อถือได้ เช่น
workflow_dispatchหรือการพุชแท็ก - การเผยแพร่ที่เชื่อถือได้โดยไม่มีข้อมูลลับใช้ได้เฉพาะบน
workflow_dispatch; การพุชแท็กยังคงต้องใช้clawhub_token - เตรียม
clawhub_tokenให้พร้อมใช้สำหรับการเผยแพร่ครั้งแรก แพ็กเกจที่ไม่น่าเชื่อถือ หรือการเผยแพร่ฉุกเฉิน - เวิร์กโฟลว์จะอัปโหลดผลลัพธ์ JSON เป็นอาร์ติแฟกต์และเปิดเผยเป็นเอาต์พุตของเวิร์กโฟลว์
package trusted-publisher get <name>
- แสดงการกำหนดค่าผู้เผยแพร่ที่เชื่อถือได้ของ GitHub Actions สำหรับแพ็กเกจ
- ใช้คำสั่งนี้หลังตั้งค่าการกำหนดค่า เพื่อยืนยันรีโพ ชื่อไฟล์เวิร์กโฟลว์ และการตรึงสภาพแวดล้อมที่ระบุหรือไม่ก็ได้
- แฟล็ก:
--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package trusted-publisher get @openclaw/example-pluginpackage trusted-publisher set <name>
- แนบหรือแทนที่การกำหนดค่าผู้เผยแพร่ที่เชื่อถือได้ของ GitHub Actions สำหรับ แพ็กเกจที่มีอยู่
- ต้องสร้างแพ็กเกจก่อนผ่าน
clawhub package publishแบบปกติที่ยืนยันตัวตนด้วยตนเองหรือด้วยโทเค็น - หลังตั้งค่าการกำหนดค่าแล้ว การเผยแพร่ผ่าน GitHub Actions ที่รองรับในอนาคตสามารถใช้ OIDC/การเผยแพร่ที่เชื่อถือได้โดยไม่ต้องใช้โทเค็น ClawHub ที่มีอายุยาว
--repository <repo>ต้องเป็นowner/repo--workflow-filename <file>ต้องตรงกับชื่อไฟล์เวิร์กโฟลว์ใน.github/workflows/--environment <name>ระบุหรือไม่ก็ได้ เมื่อกำหนดค่าแล้ว สภาพแวดล้อม GitHub Actions ในการอ้างสิทธิ์ OIDC ต้องตรงกันทุกประการ- ClawHub ตรวจสอบรีโพ GitHub ที่กำหนดค่าไว้เมื่อเรียกใช้คำสั่งนี้ รีโพสาธารณะสามารถตรวจสอบผ่านเมทาดาทา GitHub สาธารณะได้ ส่วนรีโพ ส่วนตัวต้องให้ ClawHub มีสิทธิ์เข้าถึงรีโพนั้นบน GitHub เช่น ผ่านการติดตั้ง GitHub App ของ ClawHub ในอนาคต หรือการผสานการทำงานกับ GitHub อื่นที่ได้รับอนุญาต
- แฟล็ก:
--repository <repo>: รีโพ GitHub เช่นopenclaw/example-plugin--workflow-filename <file>: ชื่อไฟล์เวิร์กโฟลว์ เช่นpackage-publish.yml--environment <name>: สภาพแวดล้อม GitHub Actions แบบต้องตรงกันทุกประการที่ระบุหรือไม่ก็ได้--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package trusted-publisher set @openclaw/example-plugin \ --repository openclaw/example-plugin \ --workflow-filename package-publish.yml \ --environment releasepackage trusted-publisher delete <name>
- นำการกำหนดค่าผู้เผยแพร่ที่เชื่อถือได้ออกจากแพ็กเกจ
- ใช้คำสั่งนี้เพื่อย้อนกลับ หากต้องปิดใช้งานหรือสร้างการตรึงเวิร์กโฟลว์ รีโพ หรือสภาพแวดล้อม ใหม่
- การเผยแพร่จริงในอนาคตต้องใช้การเผยแพร่แบบปกติที่ผ่านการยืนยันตัวตน จนกว่าจะ ตั้งค่าการกำหนดค่าอีกครั้ง
- แฟล็ก:
--json: เอาต์พุตที่เครื่องอ่านได้
ตัวอย่าง:
clawhub package trusted-publisher delete @openclaw/example-pluginเทเลเมทรีการติดตั้ง
- ส่งหลังจาก
clawhub install <slug>เมื่อลงชื่อเข้าใช้ เว้นแต่ ตั้งค่าCLAWHUB_DISABLE_TELEMETRY=1ไว้ - การรายงานเป็นแบบพยายามให้ดีที่สุด คำสั่งติดตั้งจะไม่ล้มเหลวหาก เทเลเมทรีไม่พร้อมใช้งาน
- รายละเอียด:
docs/telemetry.md