CLI commands
ผู้ปฏิบัติงาน
openclaw worker
openclaw worker คือจุดเข้าสู่รันไทม์แบบจำกัดสำหรับให้ออร์เคสตราเตอร์ของเวิร์กเกอร์บนคลาวด์เปิดใช้งานภายในสภาพแวดล้อมเวิร์กเกอร์ที่เตรียมไว้ ไม่ใช่คำสั่งอเนกประสงค์สำหรับลงทะเบียนเวิร์กเกอร์ด้วยตนเอง
Gateway จะติดตั้งบันเดิล OpenClaw ที่ตรงกันและเปิดช่องสัญญาณ SSH ย้อนกลับที่ตรึงคีย์โฮสต์ ตัวเรียกใช้งานเวิร์กเกอร์จะเริ่มคำสั่งนี้พร้อมงานที่เตรียมไว้ คำสั่งจะเชื่อมต่อผ่านซ็อกเก็ตภายในเครื่องที่ส่งต่อผ่านช่องสัญญาณ และเข้าสู่ระบบด้วยบทบาท worker โดยเฉพาะ
สัญญาการเรียกใช้งาน
คำสั่งจะอ่านเอนเวโลป JSON สำหรับเรียกใช้งานที่มีขอบเขตจำกัดเพียงหนึ่งรายการจากอินพุตมาตรฐาน เอนเวโลปประกอบด้วยตำแหน่งซ็อกเก็ตภายในเครื่อง ข้อมูลรับรองเวิร์กเกอร์ที่ออกให้ ข้อมูลระบุตัวตนของบันเดิลและโปรโตคอล ยุคของเจ้าของ ตลอดจนเซสชันและเทิร์นเดียวที่กำหนดให้ ระบบจะไม่ยอมรับข้อมูลรับรองผ่านอาร์กิวเมนต์บรรทัดคำสั่ง และหน้านี้ตั้งใจไม่แสดงตัวอย่างข้อมูลรับรองหรือเอนเวโลปที่เขียนขึ้นเอง
การเข้าสู่ระบบจะล้มเหลวแบบปิด หากเอนเวโลปไม่ถูกต้อง ข้อมูลรับรองถูกปฏิเสธ ฟีเจอร์ของบันเดิลหรือโปรโตคอลไม่ตรงกัน หรือเซสชันและยุคของเจ้าของไม่เป็นปัจจุบันแล้ว ผู้ปฏิบัติงานควรเริ่มเวิร์กเกอร์ผ่านออร์เคสตราเตอร์ของเวิร์กเกอร์บนคลาวด์แทนการเรียกใช้จุดเข้านี้โดยตรง
ขอบเขตรันไทม์
กระบวนการจะเรียกใช้ลูปเอเจนต์แบบฝังตามปกติด้วยแบ็กเอนด์แบบจำกัด:
- เครื่องมือเขียนโค้ด
read,write,edit,apply_patch,execและprocessจะทำงานภายในพื้นที่ทำงานของเวิร์กเกอร์ - การเรียกโมเดลจะใช้พร็อกซีอนุมานของ Gateway โดยไม่โหลดโปรไฟล์การยืนยันตัวตนของโมเดลภายในเครื่อง
- การเขียนทรานสคริปต์จะใช้ RPC สำหรับคอมมิตทรานสคริปต์ของ Gateway
- การสตรีมและการอัปเดตวงจรชีวิตของเครื่องมือจะใช้ RPC เหตุการณ์สดของ Gateway
- ระบบจะยอมรับเฉพาะเซสชันและเทิร์นที่กำหนดให้เท่านั้น
โหมดเวิร์กเกอร์จะไม่เริ่มช่องทาง พื้นผิว HTTP ของ Gateway หรือการเริ่มต้น Plugin อัตโนมัตินอกเหนือจากชุดเครื่องมือของเซสชันที่กำหนด โหมดนี้ใช้ไดเรกทอรีสถานะแบบใช้แล้วทิ้ง และไม่มีข้อมูลรับรองของผู้ให้บริการหรือฟอร์จที่คงอยู่ถาวร
โหมดนี้ไม่เปิดให้เวิร์กเกอร์ส่งเซสชันไปยังเวิร์กเกอร์อื่น การจัดวางและการส่งงานยังคงอยู่ภายใต้การควบคุมของ Gateway กล่าวคือ ผู้ปฏิบัติงานสามารถส่งเซสชันแบบโลคัลที่ใช้เวิร์กทรีซึ่งมีการจัดการอยู่แล้วผ่าน Gateway ได้ แต่กระบวนการเวิร์กเกอร์ไม่สามารถส่งตัวเองหรือเวิร์กเกอร์อื่นได้
งานที่เตรียมไว้ประกอบด้วยบริบททรานสคริปต์ โหนดปลายฐานที่ยอมรับ ลำดับคอมมิต และเคอร์เซอร์เหตุการณ์สด เมื่อช่องสัญญาณเชื่อมต่อใหม่ กระบวนการจะเข้าสู่ระบบอีกครั้งด้วยข้อมูลรับรองและยุคของเจ้าของเดิม รักษาฐานทรานสคริปต์ที่ยอมรับไว้ เล่นซ้ำส่วนท้ายของเหตุการณ์สดที่ยังไม่ได้รับการยืนยัน และเชื่อมต่อเทิร์นอนุมานที่กำลังดำเนินอยู่อีกครั้งด้วยข้อมูลระบุตัวตนเดิม ข้อความอนุมานสุดท้ายถือเป็นข้อมูลที่มีอำนาจ หากเดลตาที่สตรีมหายไป ยุคของเจ้าของที่ใหม่กว่าจะกั้นกระบวนการและทำให้กระบวนการออกอย่างสมบูรณ์
การปฏิเสธทรานสคริปต์ stale-base-leaf จะหยุดการทำงานปัจจุบันทันที โหมดเวิร์กเกอร์จะไม่ลองลำดับที่ถูกปฏิเสธอีกครั้งกับโหนดปลายอื่น จึงไม่เกิดคอมมิตซ้ำ ส่วนท้ายในหน่วยความจำจากการทำงานนั้นที่ยังไม่ได้คอมมิตจะสูญหาย การเรียกใช้งานใหม่เป็นความรับผิดชอบของเจ้าของการจัดวางในไมล์สโตน 3 ซึ่งต้องสร้างงานใหม่จากทรานสคริปต์และบัญชีแยกประเภทคอมมิตที่เชื่อถือได้ของ Gateway ในทำนองเดียวกัน การเริ่มกระบวนการ Gateway ใหม่จะยุติเทิร์นอนุมานที่รอดำเนินการพร้อมข้อผิดพลาดจากผู้ให้บริการ มีเพียงการเชื่อมต่อช่องสัญญาณหรือ WebSocket ของเวิร์กเกอร์ใหม่เท่านั้นที่สามารถเชื่อมต่อกลับไปยังสตรีมอนุมานซึ่งยังทำงานอยู่ในกระบวนการเดิมได้
ดูพื้นผิว RPC แบบปิดของเวิร์กเกอร์ได้ที่ โปรโตคอล Gateway และดูสถาปัตยกรรมกับโมเดลความปลอดภัยได้ที่ แผนเวิร์กเกอร์บนคลาวด์