Using ClawHub
การเผยแพร่
การเผยแพร่
การเผยแพร่จะส่งโฟลเดอร์ Skills หรือแพ็กเกจ Plugin ไปยัง ClawHub ภายใต้เจ้าของที่คุณ เลือก ClawHub จะตรวจสอบว่าโทเค็นของคุณสามารถเผยแพร่ให้เจ้าของรายนั้นได้ ตรวจสอบความถูกต้องของ ข้อมูลเมตา ชื่อ เวอร์ชัน ไฟล์ และข้อมูลซอร์ส จากนั้นจัดเก็บรีลีส และเริ่มการตรวจสอบความปลอดภัยอัตโนมัติ
หากการตรวจสอบความถูกต้องล้มเหลว จะไม่มีการเผยแพร่ใดๆ รีลีสใหม่อาจยังไม่ปรากฏบน ช่องทางการติดตั้งและดาวน์โหลดตามปกติจนกว่าการรีวิวจะเสร็จสิ้น
Skills
เส้นทางการเผยแพร่ที่ง่ายที่สุดคือ CLI ลงชื่อเข้าใช้ แล้วเผยแพร่โฟลเดอร์ Skills ในเครื่อง:
clawhub loginclawhub skill publish ./my-skill \ --slug my-skill \ --name "My Skill" \ --owner <owner>ใช้ --owner <handle> เมื่อเผยแพร่ไปยังเจ้าของที่เป็นองค์กร หากไม่ระบุ จะเผยแพร่ในนาม
ผู้ใช้ที่ผ่านการยืนยันตัวตน การเผยแพร่จะข้ามเนื้อหาที่ไม่มีการเปลี่ยนแปลง Skills ใหม่จะเริ่มต้น
ที่ 1.0.0 และการเปลี่ยนแปลงภายหลังจะเผยแพร่เวอร์ชันแพตช์ถัดไปโดยอัตโนมัติ ส่ง
--version เฉพาะเมื่อต้องการระบุเวอร์ชันอย่างชัดเจน
สำหรับรีโพซิทอรีแค็ตตาล็อก ให้ใช้
เวิร์กโฟลว์ skill-publish.yml
ที่ใช้ซ้ำได้ของ ClawHub เวิร์กโฟลว์นี้จะเรียก skill publish สำหรับแต่ละโฟลเดอร์ Skills ระดับถัดไปโดยตรงภายใต้ root (ค่าเริ่มต้น:
skills) หรือเฉพาะโฟลเดอร์ที่ระบุเป็น skill_path
jobs: publish: uses: openclaw/clawhub/.github/workflows/skill-publish.yml@main with: owner: <owner> dry_run: false secrets: clawhub_token: ${{ secrets.CLAWHUB_TOKEN }}ใช้ dry_run: true เพื่อดูตัวอย่าง Skills ใหม่และที่เปลี่ยนแปลงโดยไม่เผยแพร่
Plugin
Plugin ใช้ชื่อแพ็กเกจในรูปแบบ npm ชื่อแพ็กเกจแบบมีสโคปจะรวมเจ้าของไว้ใน ส่วนแรกของชื่อ:
@owner/package-nameสโคปต้องตรงกับเจ้าของที่เลือกสำหรับการเผยแพร่ หากแพ็กเกจของคุณชื่อ
@openclaw/dronzer จะเผยแพร่ได้เฉพาะในนาม @openclaw เท่านั้น หากคุณเผยแพร่ในนาม
@vintageayu ให้เปลี่ยนชื่อแพ็กเกจเป็น @vintageayu/dronzer
วิธีนี้ป้องกันไม่ให้แพ็กเกจอ้างสิทธิ์เนมสเปซขององค์กรที่ผู้เผยแพร่ ไม่ได้ควบคุม
หากคุณเป็นเจ้าของโดยชอบธรรมขององค์กร แบรนด์ สโคปแพ็กเกจ แฮนเดิลเจ้าของ หรือ เนมสเปซที่มีผู้อ้างสิทธิ์หรือถูกสงวนไว้บน ClawHub แล้ว ให้เปิด ปัญหาการอ้างสิทธิ์องค์กร / เนมสเปซ พร้อมหลักฐานสาธารณะที่ไม่มีข้อมูลละเอียดอ่อน ดู การอ้างสิทธิ์องค์กรและเนมสเปซ สำหรับสิ่งที่ต้องระบุและสิ่งที่ ไม่ควรใส่ในปัญหาสาธารณะ
ก่อนเผยแพร่ Plugin
- เลือกเจ้าของที่ตรงกับสโคปแพ็กเกจ
- ระบุ
openclaw.plugin.jsonPlugin ที่มีโค้ดต้องมีpackage.jsonพร้อมopenclaw.compat.pluginApiและopenclaw.build.openclawVersionด้วย - หากต้องการแสดงไอคอนแค็ตตาล็อก Plugin แบบกำหนดเองบนหน้าแรกและหน้ารายการ Plugin
ให้เพิ่ม
iconลงในopenclaw.plugin.jsonโดยใช้ URL รูปภาพ HTTPS ใดก็ได้ - ระบุรีโพซิทอรีซอร์สและข้อมูลเมตาของคอมมิตที่แน่นอน หรือใช้ CLI จาก เช็กเอาต์ที่รองรับโดย GitHub เพื่อให้ CLI ตรวจหาได้
- เรียกใช้
clawhub package validate <source>ก่อนเผยแพร่ สำหรับข้อค้นพบเกี่ยวกับแพ็กเกจ แมนิเฟสต์ การนำเข้า SDK หรืออาร์ติแฟกต์ โปรดดู การแก้ไขการตรวจสอบความถูกต้องของ Plugin - เรียกใช้
clawhub package publish <source> --dry-runก่อนสร้างรีลีส - คาดว่ารีลีสใหม่จะยังไม่ปรากฏบนช่องทางการติดตั้งสาธารณะจนกว่าการตรวจสอบ ความปลอดภัยอัตโนมัติและการยืนยันจะเสร็จสิ้น
การเผยแพร่ที่เชื่อถือได้สำหรับแพ็กเกจ
การเผยแพร่แพ็กเกจที่เชื่อถือได้มีการตั้งค่า 2 ขั้นตอน:
- เผยแพร่แพ็กเกจหนึ่งครั้งผ่าน
clawhub package publishแบบดำเนินการด้วยตนเองตามปกติหรือ แบบยืนยันตัวตนด้วยโทเค็น การดำเนินการนี้จะสร้างแถวแพ็กเกจและกำหนด ผู้จัดการแพ็กเกจที่สามารถเปลี่ยนการกำหนดค่าผู้เผยแพร่ที่เชื่อถือได้ - ผู้จัดการแพ็กเกจตั้งค่าการกำหนดค่าผู้เผยแพร่ที่เชื่อถือได้ของ GitHub Actions:
clawhub package trusted-publisher set @owner/package-name \ --repository owner/repo \ --workflow-filename package-publish.ymlหลังจากตั้งค่าการกำหนดค่าแล้ว การเผยแพร่ GitHub Actions ที่รองรับในอนาคตสามารถใช้
OIDC/การเผยแพร่ที่เชื่อถือได้โดยไม่ต้องจัดเก็บโทเค็น ClawHub ระยะยาวไว้ใน
รีโพซิทอรี รีโพซิทอรีและชื่อไฟล์เวิร์กโฟลว์ที่กำหนดค่าต้องตรงกับ
การอ้างสิทธิ์ OIDC ของ GitHub Actions หากคุณส่ง --environment <name> ด้วย การอ้างสิทธิ์
สภาพแวดล้อมของ GitHub Actions ต้องตรงกับชื่อนั้นทุกประการ
ClawHub จะยืนยันรีโพซิทอรี GitHub ที่กำหนดค่าเมื่อมีการตั้งค่าการกำหนดค่าผู้เผยแพร่ ที่เชื่อถือได้ รีโพซิทอรีสาธารณะสามารถยืนยันผ่านข้อมูลเมตาสาธารณะของ GitHub ได้ รีโพซิทอรีส่วนตัวกำหนดให้ ClawHub มีสิทธิ์เข้าถึง GitHub สำหรับรีโพซิทอรีนั้น เช่น ผ่านการติดตั้ง GitHub App ของ ClawHub ในอนาคตหรือการผสานรวม GitHub อื่นที่ได้รับอนุญาต
เวิร์กโฟลว์เผยแพร่แพ็กเกจแบบใช้ซ้ำได้ในปัจจุบันรองรับการเผยแพร่ที่เชื่อถือได้
โดยไม่ใช้ซีเคร็ตสำหรับการเผยแพร่ workflow_dispatch เมื่อมี id-token: write
การเผยแพร่จริงด้วยการพุชแท็กยังคงต้องใช้ clawhub_token ดังนั้นให้เตรียม
CLAWHUB_TOKEN ไว้สำหรับรีลีสจากแท็ก การเผยแพร่ครั้งแรก แพ็กเกจที่ไม่น่าเชื่อถือ
หรือการเผยแพร่ในกรณีฉุกเฉิน
ตรวจสอบหรือลบการกำหนดค่าด้วย:
clawhub package trusted-publisher get @owner/package-nameclawhub package trusted-publisher delete @owner/package-nameการลบการกำหนดค่าผู้เผยแพร่ที่เชื่อถือได้คือเส้นทางย้อนกลับ ซึ่งจะปิดใช้งาน การสร้างโทเค็นสำหรับการเผยแพร่ที่เชื่อถือได้ในอนาคตจนกว่าผู้จัดการแพ็กเกจจะตั้งค่าการกำหนดค่าอีกครั้ง
คำถามที่พบบ่อย
สโคปแพ็กเกจต้องตรงกับเจ้าของที่เลือก
หากสโคปแพ็กเกจและเจ้าของที่เลือกไม่ตรงกัน ClawHub จะปฏิเสธ การเผยแพร่:
สโคปแพ็กเกจ "@openclaw" ต้องตรงกับเจ้าของที่เลือก "@vintageayu"เผยแพร่ในนาม "@openclaw" หรือเปลี่ยนชื่อแพ็กเกจนี้เป็น "@vintageayu/dronzer"ในการแก้ไข ให้เลือกเจ้าของที่ระบุโดยสโคปแพ็กเกจ หรือเปลี่ยนชื่อ แพ็กเกจเพื่อให้สโคปตรงกับเจ้าของที่คุณสามารถใช้เผยแพร่ได้
หากชื่อแพ็กเกจมีสโคปที่ถูกต้องอยู่แล้ว แต่แพ็กเกจเป็นของ ผู้เผยแพร่ที่ไม่ถูกต้อง ให้โอนความเป็นเจ้าของแทน:
clawhub package transfer @opik/opik-openclaw --to opikใช้การโอนแพ็กเกจหรือ Skills เฉพาะเมื่อคุณมีสิทธิ์เข้าถึงระดับผู้ดูแลทั้ง เจ้าของปัจจุบันและผู้เผยแพร่ปลายทาง การโอนแพ็กเกจไม่ได้ทำให้คุณ เผยแพร่เข้าสู่สโคปที่คุณจัดการไม่ได้
หากคุณไม่มีสิทธิ์เข้าถึงเจ้าของปัจจุบัน แต่เชื่อว่าองค์กร โปรเจกต์ หรือ แบรนด์ของคุณเป็นเจ้าของเนมสเปซโดยชอบธรรม ให้เปิด ปัญหาการอ้างสิทธิ์องค์กร / เนมสเปซ พร้อมหลักฐานสาธารณะที่ไม่มีข้อมูลละเอียดอ่อนเพื่อให้เจ้าหน้าที่รีวิว ดู การอ้างสิทธิ์องค์กรและเนมสเปซ ก่อนยื่นเรื่อง
วิธีนี้ปกป้องเนมสเปซขององค์กร แพ็กเกจชื่อ @openclaw/dronzer อ้างสิทธิ์
เนมสเปซ @openclaw ดังนั้นเฉพาะผู้เผยแพร่ที่มีสิทธิ์เข้าถึงเจ้าของ @openclaw
เท่านั้นที่สามารถเผยแพร่ได้