---
read_when:
    - การเผยแพร่ทักษะหรือ Plugin
    - การดีบักข้อผิดพลาดเกี่ยวกับขอบเขตของเจ้าของหรือแพ็กเกจ
    - การเพิ่มส่วนติดต่อผู้ใช้สำหรับการเผยแพร่, CLI หรือพฤติกรรมแบ็กเอนด์
summary: วิธีการทำงานของการเผยแพร่บน ClawHub สำหรับ Skills, Plugin, เจ้าของ, ขอบเขต, รุ่นเผยแพร่ และการตรวจทาน
x-i18n:
    generated_at: "2026-05-11T20:25:05Z"
    model: gpt-5.5
    provider: openai
    source_hash: 566c37b7845159ad100837e34bed7c60411bba6a0b3436ab899fe5e345237727
    source_path: clawhub/publishing.md
    workflow: 16
---

# การเผยแพร่

การเผยแพร่บน ClawHub มีขอบเขตตามเจ้าของ: การเผยแพร่ทุกครั้งจะกำหนดเป้าหมายไปยังผู้เผยแพร่รายหนึ่ง และ
เซิร์ฟเวอร์จะตัดสินว่าผู้ใช้ที่ลงชื่อเข้าใช้อยู่ได้รับอนุญาตให้เผยแพร่ที่นั่นหรือไม่

## เจ้าของ

เจ้าของคือแฮนเดิลผู้เผยแพร่ของ ClawHub เช่น `@alice` หรือ `@openclaw`
เจ้าของส่วนบุคคลจะถูกสร้างให้ผู้ใช้ เจ้าของแบบองค์กรสามารถมีสมาชิกได้หลายคน

เมื่อคุณเผยแพร่ คุณจะใช้เจ้าของส่วนบุคคลของคุณ หรือเลือกเจ้าของแบบองค์กร
ที่คุณมีสิทธิ์เข้าถึงในฐานะผู้เผยแพร่

## Skills

Skills จะถูกเผยแพร่จากโฟลเดอร์สกิล หน้าสาธารณะคือ:

```text
https://clawhub.ai/<owner>/<slug>
```

ตัวอย่าง:

```text
https://clawhub.ai/alice/review-helper
```

คำขอเผยแพร่ประกอบด้วยเจ้าของที่เลือก slug, เวอร์ชัน, changelog และ
ไฟล์ เซิร์ฟเวอร์จะตรวจสอบว่าผู้ดำเนินการสามารถเผยแพร่ในฐานะเจ้าของรายนั้นได้ก่อนที่จะ
สร้างรีลีส

หากต้องการย้ายสกิลที่มีอยู่ไปยังเจ้าของรายอื่นขณะเผยแพร่เวอร์ชันใหม่ ให้เลือก
เจ้าของรายใหม่และยืนยันการย้ายความเป็นเจ้าของอย่างชัดเจน ใน CLI/API ให้ส่ง
เจ้าของเป้าหมายพร้อมการเลือกเข้าร่วมการย้าย:

```sh
clawhub skill publish ./review-helper --owner openclaw --migrate-owner --version 1.2.0
```

การย้ายเจ้าของสกิลต้องมีสิทธิ์เข้าถึงระดับผู้ดูแลระบบหรือเจ้าของทั้งในเจ้าของปัจจุบัน
และเจ้าของปลายทาง โดยจะคงสกิล ประวัติเวอร์ชัน สถิติ
ความคิดเห็น forks นามแฝง และ audit trail ไว้; URL ของเจ้าของเดิมจะยังคงใช้งานผ่าน
เส้นทางนามแฝง/เปลี่ยนเส้นทาง

## Plugins

Plugins ใช้ชื่อแพ็กเกจแบบ npm ชื่อแพ็กเกจที่มี scope จะรวมเจ้าของไว้ใน
ส่วนแรกของชื่อ:

```text
@owner/package-name
```

scope ต้องตรงกับเจ้าของสำหรับเผยแพร่ที่เลือก หากแพ็กเกจของคุณชื่อ
`@openclaw/dronzer` แพ็กเกจนั้นสามารถเผยแพร่ได้เฉพาะในฐานะ `@openclaw` เท่านั้น หากคุณเผยแพร่ในฐานะ
`@vintageayu` ให้เปลี่ยนชื่อแพ็กเกจเป็น `@vintageayu/dronzer`

สิ่งนี้ป้องกันไม่ให้แพ็กเกจอ้างสิทธิ์ namespace ขององค์กรที่ผู้เผยแพร่
ไม่ได้ควบคุม

## ขั้นตอนการเผยแพร่

1. UI, CLI หรือเวิร์กโฟลว์ GitHub จะรวบรวมเมตาดาต้าและไฟล์ของแพ็กเกจ
2. คำขอเผยแพร่จะถูกส่งไปยัง ClawHub พร้อมเจ้าของที่เลือก
3. เซิร์ฟเวอร์จะตรวจสอบสิทธิ์ของเจ้าของ, scope ของแพ็กเกจ, ชื่อแพ็กเกจ, เวอร์ชัน,
   ขีดจำกัดไฟล์ และเมตาดาต้าต้นทาง
4. ClawHub จะจัดเก็บรีลีสและเริ่มการตรวจสอบความปลอดภัยอัตโนมัติ
5. รีลีสใหม่จะถูกซ่อนจากพื้นผิวการติดตั้ง/ดาวน์โหลดปกติจนกว่าการตรวจทาน
   และการยืนยันจะเสร็จสิ้น

หากการตรวจสอบไม่ผ่าน รีลีสจะไม่ถูกสร้าง

## คำถามที่พบบ่อย

### scope ของแพ็กเกจต้องตรงกับเจ้าของที่เลือก

หาก scope ของแพ็กเกจและเจ้าของที่เลือกไม่ตรงกัน ClawHub จะปฏิเสธ
การเผยแพร่:

```text
Package scope "@openclaw" must match selected owner "@vintageayu".
Publish as "@openclaw" or rename this package to "@vintageayu/dronzer".
```

ในการแก้ไข ให้เลือกเจ้าของที่มีชื่อตาม scope ของแพ็กเกจ หรือเปลี่ยนชื่อ
แพ็กเกจเพื่อให้ scope ตรงกับเจ้าของที่คุณสามารถเผยแพร่ในฐานะนั้นได้

หากชื่อแพ็กเกจมี scope ที่ถูกต้องอยู่แล้วแต่แพ็กเกจเป็นของผู้เผยแพร่
ที่ไม่ถูกต้อง ให้โอนความเป็นเจ้าของแทน:

```sh
clawhub package transfer @opik/opik-openclaw --to opik
```

ใช้การโอนแพ็กเกจหรือสกิลเฉพาะเมื่อคุณมีสิทธิ์ผู้ดูแลระบบทั้งกับ
เจ้าของปัจจุบันและผู้เผยแพร่ปลายทาง การโอนแพ็กเกจไม่ได้อนุญาตให้คุณ
เผยแพร่เข้าสู่ scope ที่คุณจัดการไม่ได้

สิ่งนี้ช่วยปกป้อง namespace ขององค์กร แพ็กเกจชื่อ `@openclaw/dronzer` อ้างสิทธิ์
namespace `@openclaw` ดังนั้นเฉพาะผู้เผยแพร่ที่มีสิทธิ์เข้าถึงเจ้าของ `@openclaw`
เท่านั้นจึงจะเผยแพร่ได้
