CLI commands

อุปกรณ์

openclaw devices

จัดการคำขอจับคู่อุปกรณ์และโทเค็นที่มีขอบเขตตามอุปกรณ์

คำสั่ง

openclaw devices list

แสดงรายการคำขอจับคู่ที่รอดำเนินการและอุปกรณ์ที่จับคู่แล้ว

Code
openclaw devices listopenclaw devices list --json

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

openclaw devices remove <deviceId>

ลบรายการอุปกรณ์ที่จับคู่แล้วหนึ่งรายการ

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

Code
openclaw devices remove <deviceId>openclaw devices remove <deviceId> --json

openclaw devices clear --yes [--pending]

ล้างอุปกรณ์ที่จับคู่แล้วแบบเป็นกลุ่ม

Code
openclaw devices clear --yesopenclaw devices clear --yes --pendingopenclaw devices clear --yes --pending --json

openclaw devices approve [requestId] [--latest]

อนุมัติคำขอจับคู่อุปกรณ์ที่รอดำเนินการด้วย requestId ที่ตรงกัน หากละ requestId หรือส่ง --latest OpenClaw จะพิมพ์เฉพาะคำขอที่รอดำเนินการซึ่งเลือกไว้แล้วออกจากโปรแกรม ให้รันการอนุมัติอีกครั้งด้วย ID คำขอที่ตรงกันหลังจากตรวจสอบรายละเอียดแล้ว

หากอุปกรณ์ถูกจับคู่แล้วและร้องขอขอบเขตที่กว้างขึ้นหรือบทบาทที่กว้างขึ้น OpenClaw จะคงการอนุมัติเดิมไว้และสร้างคำขออัปเกรดใหม่ที่รอดำเนินการ ตรวจสอบคอลัมน์ Requested เทียบกับ Approved ใน openclaw devices list หรือใช้ openclaw devices approve --latest เพื่อดูตัวอย่างการอัปเกรดที่ตรงกันก่อนอนุมัติ

หาก Gateway ถูกกำหนดค่าอย่างชัดเจนด้วย gateway.nodes.pairing.autoApproveCidrs คำขอ role: node ครั้งแรกจาก IP ไคลเอนต์ที่ตรงกันสามารถได้รับการอนุมัติก่อนที่จะปรากฏในรายการนี้ นโยบายนี้ปิดใช้งานเป็นค่าเริ่มต้น และไม่ใช้กับไคลเอนต์ operator/เบราว์เซอร์หรือคำขออัปเกรด

การอนุมัติบทบาทอุปกรณ์แบบ node หรือบทบาทที่ไม่ใช่ operator อื่น ๆ ต้องใช้ operator.admin ส่วน operator.pairing เพียงพอสำหรับการอนุมัติอุปกรณ์ operator เท่านั้นเมื่อขอบเขต operator ที่ร้องขอยังคงอยู่ภายในขอบเขตของผู้เรียกเอง ดู ขอบเขต Operator สำหรับการตรวจสอบตอนอนุมัติ

Code
openclaw devices approveopenclaw devices approve <requestId>openclaw devices approve --latest

การอนุมัติครั้งแรกของ Paperclip / openclaw_gateway

เมื่อเอเจนต์ Paperclip ใหม่เชื่อมต่อผ่านอะแดปเตอร์ openclaw_gateway เป็นครั้งแรก Gateway อาจต้องการการอนุมัติจับคู่อุปกรณ์แบบครั้งเดียวก่อนที่การรันจะสำเร็จได้ หาก Paperclip รายงาน openclaw_gateway_pairing_required ให้อนุมัติอุปกรณ์ที่รอดำเนินการแล้วลองใหม่

สำหรับ Gateway แบบโลคัล ให้ดูตัวอย่างคำขอล่าสุดที่รอดำเนินการ:

bash
openclaw devices approve --latest

ตัวอย่างจะแสดงคำสั่ง openclaw devices approve <requestId> ที่ตรงกัน ตรวจสอบรายละเอียดคำขอ จากนั้นรันคำสั่งนั้นอีกครั้งพร้อม ID คำขอเพื่ออนุมัติ

สำหรับ Gateway ระยะไกลหรือข้อมูลรับรองที่ระบุชัดเจน ให้ส่งตัวเลือกเดียวกันระหว่างดูตัวอย่างและอนุมัติ:

bash
openclaw devices approve --latest --url <gateway-ws-url> --token <gateway-token>

เพื่อหลีกเลี่ยงการอนุมัติซ้ำหลังรีสตาร์ต ให้เก็บกุญแจอุปกรณ์แบบถาวรไว้ในการกำหนดค่าอะแดปเตอร์ Paperclip แทนการสร้างตัวตนชั่วคราวใหม่ทุกครั้งที่รัน:

json
{  "adapterConfig": {    "devicePrivateKeyPem": "<ed25519-private-key-pkcs8-pem>"  }}

หากการอนุมัติยังล้มเหลว ให้รัน openclaw devices list ก่อนเพื่อยืนยันว่ามีคำขอที่รอดำเนินการอยู่

openclaw devices reject <requestId>

ปฏิเสธคำขอจับคู่อุปกรณ์ที่รอดำเนินการ

Code
openclaw devices reject <requestId>

openclaw devices rotate --device <id> --role <role> [--scope <scope...>]

หมุนเวียนโทเค็นอุปกรณ์สำหรับบทบาทที่ระบุ (เลือกอัปเดตขอบเขตได้) บทบาทเป้าหมายต้องมีอยู่แล้วในสัญญาการจับคู่ที่อนุมัติแล้วของอุปกรณ์นั้น การหมุนเวียนไม่สามารถสร้างบทบาทใหม่ที่ยังไม่อนุมัติได้ หากคุณละ --scope การเชื่อมต่อใหม่ภายหลังด้วยโทเค็นที่หมุนเวียนและจัดเก็บไว้จะใช้ขอบเขตที่อนุมัติแล้วซึ่งแคชไว้ของโทเค็นนั้นซ้ำ หากคุณส่งค่า --scope อย่างชัดเจน ค่าเหล่านั้นจะกลายเป็นชุดขอบเขตที่จัดเก็บไว้สำหรับการเชื่อมต่อใหม่ด้วยโทเค็นที่แคชไว้ในอนาคต ผู้เรียกที่เป็นอุปกรณ์ที่จับคู่แล้วและไม่ใช่แอดมินสามารถหมุนเวียนได้เฉพาะโทเค็นอุปกรณ์ของ ตนเอง เท่านั้น ชุดขอบเขตโทเค็นเป้าหมายต้องยังคงอยู่ภายในขอบเขต operator ของเซสชันผู้เรียกเอง การหมุนเวียนไม่สามารถสร้างหรือคงโทเค็น operator ที่กว้างกว่าที่ผู้เรียกมีอยู่แล้วได้

Code
openclaw devices rotate --device <deviceId> --role operator --scope operator.read --scope operator.write

ส่งคืนเมตาดาต้าการหมุนเวียนเป็น JSON หากผู้เรียกกำลังหมุนเวียนโทเค็นของตนเองขณะยืนยันตัวตนด้วยโทเค็นอุปกรณ์นั้น การตอบกลับจะรวมโทเค็นทดแทนด้วย เพื่อให้ไคลเอนต์สามารถบันทึกไว้ก่อนเชื่อมต่อใหม่ การหมุนเวียนแบบแชร์/แอดมินจะไม่สะท้อน bearer token กลับมา

openclaw devices revoke --device <id> --role <role>

เพิกถอนโทเค็นอุปกรณ์สำหรับบทบาทที่ระบุ

ผู้เรียกที่เป็นอุปกรณ์ที่จับคู่แล้วและไม่ใช่แอดมินสามารถเพิกถอนได้เฉพาะโทเค็นอุปกรณ์ของ ตนเอง เท่านั้น การเพิกถอนโทเค็นของอุปกรณ์อื่นต้องใช้ operator.admin ชุดขอบเขตโทเค็นเป้าหมายต้องพอดีกับขอบเขต operator ของเซสชันผู้เรียกเองด้วย ผู้เรียกที่มีเฉพาะการจับคู่ไม่สามารถเพิกถอนโทเค็น operator ระดับ admin/write ได้

Code
openclaw devices revoke --device <deviceId> --role node

ส่งคืนผลการเพิกถอนเป็น JSON

ตัวเลือกทั่วไป

  • --url <url>: URL WebSocket ของ Gateway (ค่าเริ่มต้นเป็น gateway.remote.url เมื่อกำหนดค่าไว้)
  • --token <token>: โทเค็น Gateway (หากจำเป็น)
  • --password <password>: รหัสผ่าน Gateway (การยืนยันตัวตนด้วยรหัสผ่าน)
  • --timeout <ms>: ระยะหมดเวลา RPC
  • --json: เอาต์พุต JSON (แนะนำสำหรับสคริปต์)

หมายเหตุ

  • การหมุนเวียนโทเค็นจะส่งคืนโทเค็นใหม่ (ข้อมูลอ่อนไหว) ให้ปฏิบัติกับมันเหมือนความลับ
  • คำสั่งเหล่านี้ต้องใช้ขอบเขต operator.pairing (หรือ operator.admin) การอนุมัติบางรายการยังต้องให้ผู้เรียกมีขอบเขต operator ที่อุปกรณ์เป้าหมายจะสร้างหรือสืบทอดด้วย บทบาทอุปกรณ์ที่ไม่ใช่ operator ต้องใช้ operator.admin; ดู ขอบเขต Operator
  • gateway.nodes.pairing.autoApproveCidrs เป็นนโยบาย Gateway แบบเลือกใช้เองสำหรับการจับคู่อุปกรณ์ node ใหม่เท่านั้น และไม่เปลี่ยนอำนาจอนุมัติของ CLI
  • การหมุนเวียนและเพิกถอนโทเค็นจะยังอยู่ภายในชุดบทบาทการจับคู่ที่อนุมัติแล้วและฐานขอบเขตที่อนุมัติแล้วสำหรับอุปกรณ์นั้น รายการโทเค็นที่แคชไว้แบบหลงเหลือไม่ได้ให้สิทธิ์เป็นเป้าหมายการจัดการโทเค็น
  • สำหรับเซสชันโทเค็นอุปกรณ์ที่จับคู่แล้ว การจัดการข้ามอุปกรณ์ทำได้เฉพาะแอดมินเท่านั้น: remove, rotate และ revoke ทำได้เฉพาะของตนเอง เว้นแต่ผู้เรียกจะมี operator.admin
  • การเปลี่ยนแปลงโทเค็นยังถูกจำกัดตามขอบเขตของผู้เรียก: เซสชันที่มีเฉพาะการจับคู่ไม่สามารถหมุนเวียนหรือเพิกถอนโทเค็นที่ปัจจุบันมี operator.admin หรือ operator.write
  • devices clear ถูกกันไว้โดยตั้งใจด้วย --yes
  • หากขอบเขตการจับคู่ไม่พร้อมใช้งานบน local loopback (และไม่ได้ส่ง --url อย่างชัดเจน) list/approve สามารถใช้ทางเลือกสำรองการจับคู่แบบโลคัลได้
  • devices approve ต้องใช้ ID คำขอที่ชัดเจนก่อนสร้างโทเค็น การละ requestId หรือส่ง --latest จะเป็นเพียงการดูตัวอย่างคำขอใหม่ล่าสุดที่รอดำเนินการเท่านั้น

เช็กลิสต์กู้คืนโทเค็นที่คลาดเคลื่อน

ใช้สิ่งนี้เมื่อ Control UI หรือไคลเอนต์อื่นยังล้มเหลวด้วย AUTH_TOKEN_MISMATCH, AUTH_DEVICE_TOKEN_MISMATCH หรือ AUTH_SCOPE_MISMATCH

  1. ยืนยันแหล่งที่มาของโทเค็น Gateway ปัจจุบัน:
bash
openclaw config get gateway.auth.token
  1. แสดงรายการอุปกรณ์ที่จับคู่แล้วและระบุ ID อุปกรณ์ที่ได้รับผลกระทบ:
bash
openclaw devices list
  1. หมุนเวียนโทเค็น operator สำหรับอุปกรณ์ที่ได้รับผลกระทบ:
bash
openclaw devices rotate --device <deviceId> --role operator
  1. หากการหมุนเวียนยังไม่พอ ให้ลบการจับคู่เก่าและอนุมัติอีกครั้ง:
bash
openclaw devices remove <deviceId>openclaw devices listopenclaw devices approve <requestId>
  1. ลองเชื่อมต่อไคลเอนต์อีกครั้งด้วยโทเค็น/รหัสผ่านแบบแชร์ปัจจุบัน

หมายเหตุ:

  • ลำดับความสำคัญของการยืนยันตัวตนเมื่อเชื่อมต่อใหม่ตามปกติคือ โทเค็น/รหัสผ่านแบบแชร์ที่ระบุชัดเจนก่อน จากนั้น deviceToken ที่ระบุชัดเจน จากนั้นโทเค็นอุปกรณ์ที่จัดเก็บไว้ จากนั้นโทเค็น bootstrap
  • การกู้คืน AUTH_TOKEN_MISMATCH ที่เชื่อถือได้สามารถส่งทั้งโทเค็นแบบแชร์และโทเค็นอุปกรณ์ที่จัดเก็บไว้ร่วมกันชั่วคราวสำหรับการลองซ้ำที่มีขอบเขตเพียงครั้งเดียว
  • AUTH_SCOPE_MISMATCH หมายความว่าโทเค็นอุปกรณ์ได้รับการรู้จักแล้ว แต่ไม่มีชุดขอบเขตที่ร้องขอ ให้แก้สัญญาการอนุมัติการจับคู่/ขอบเขตก่อนเปลี่ยนการยืนยันตัวตน Gateway แบบแชร์

ที่เกี่ยวข้อง:

ที่เกี่ยวข้อง

Was this useful?
On this page

On this page