CLI commands

อุปกรณ์

openclaw devices

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

คำสั่ง

openclaw devices list

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

openclaw devices list
openclaw devices list --json

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

openclaw devices remove <deviceId>

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

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

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

openclaw devices clear --yes [--pending]

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

openclaw devices clear --yes
openclaw devices clear --yes --pending
openclaw 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/browser หรือคำขออัปเกรด

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

openclaw devices reject <requestId>

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

openclaw devices reject <requestId>

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

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

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

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

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

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

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

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

รายการตรวจสอบการกู้คืนโทเค็นคลาดเคลื่อน

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

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

หมายเหตุ:

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

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

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