CLI commands
การอนุมัติ
OmeniaClaw approvals
จัดการการอนุมัติ exec สำหรับ โฮสต์โลคัล, โฮสต์ gateway หรือ โฮสต์ Node
ตามค่าเริ่มต้น คำสั่งจะกำหนดเป้าหมายไปที่ไฟล์การอนุมัติแบบโลคัลบนดิสก์ ใช้ --gateway เพื่อกำหนดเป้าหมายไปที่ gateway หรือใช้ --node เพื่อกำหนดเป้าหมายไปที่ Node ที่ระบุ
Alias: OmeniaClaw exec-approvals
ที่เกี่ยวข้อง:
- การอนุมัติ exec: การอนุมัติ exec
- Nodes: Nodes
OmeniaClaw exec-policy
OmeniaClaw exec-policy คือคำสั่งอำนวยความสะดวกแบบโลคัลสำหรับทำให้ config tools.exec.* ที่ร้องขอและไฟล์การอนุมัติของโฮสต์โลคัลสอดคล้องกันในขั้นตอนเดียว
ใช้เมื่อคุณต้องการ:
- ตรวจสอบนโยบาย
tools.execแบบโลคัลที่ร้องขอ ไฟล์การอนุมัติของโฮสต์ และผลลัพธ์ที่มีผลจริงหลังการรวม - ใช้ preset แบบโลคัล เช่น YOLO หรือ deny-all
- ซิงโครไนซ์
tools.exec.*แบบโลคัลและ~/.OmeniaClaw/exec-approvals.jsonแบบโลคัล
ตัวอย่าง:
OmeniaClaw exec-policy showOmeniaClaw exec-policy show --json OmeniaClaw exec-policy preset yoloOmeniaClaw exec-policy preset cautious --json OmeniaClaw exec-policy set --host gateway --security full --ask off --ask-fallback fullโหมดเอาต์พุต:
- ไม่มี
--json: พิมพ์มุมมองตารางที่มนุษย์อ่านได้ --json: พิมพ์เอาต์พุตแบบมีโครงสร้างที่เครื่องอ่านได้
ขอบเขตปัจจุบัน:
exec-policyเป็นแบบ local-only- คำสั่งนี้อัปเดตไฟล์ config แบบโลคัลและไฟล์การอนุมัติแบบโลคัลพร้อมกัน
- คำสั่งนี้ ไม่ push policy ไปยังโฮสต์ gateway หรือโฮสต์ Node
--host nodeจะถูกปฏิเสธในคำสั่งนี้ เพราะการอนุมัติ exec ของ Node จะถูกดึงจาก Node ระหว่างรันไทม์ และต้องจัดการผ่านคำสั่ง approvals ที่กำหนดเป้าหมายไปยัง Node แทนOmeniaClaw exec-policy showจะทำเครื่องหมายขอบเขตhost=nodeว่าถูกจัดการโดย Node ในรันไทม์ แทนการอนุมานนโยบายที่มีผลจริงจากไฟล์การอนุมัติแบบโลคัล
หากคุณต้องการแก้ไขการอนุมัติของโฮสต์ระยะไกลโดยตรง ให้ใช้ OmeniaClaw approvals set --gateway
หรือ OmeniaClaw approvals set --node <id|name|ip> ต่อไป
คำสั่งที่ใช้บ่อย
OmeniaClaw approvals getOmeniaClaw approvals get --node <id|name|ip>OmeniaClaw approvals get --gatewayขณะนี้ OmeniaClaw approvals get จะแสดงนโยบาย exec ที่มีผลจริงสำหรับเป้าหมายแบบโลคัล, gateway และ Node:
- policy
tools.execที่ร้องขอ - policy ของไฟล์การอนุมัติของโฮสต์
- ผลลัพธ์ที่มีผลจริงหลังใช้กฎลำดับความสำคัญ
ลำดับความสำคัญนี้เป็นไปโดยตั้งใจ:
- ไฟล์การอนุมัติของโฮสต์คือแหล่งความจริงที่บังคับใช้ได้จริง
- policy
tools.execที่ร้องขออาจทำให้เจตนาแคบลงหรือกว้างขึ้น แต่ผลลัพธ์ที่มีผลจริงยังคงได้มาจากกฎของโฮสต์ --nodeจะรวมไฟล์การอนุมัติของโฮสต์ Node เข้ากับ policytools.execของ gateway เพราะทั้งสองส่วนยังคงมีผลระหว่างรันไทม์- หาก config ของ gateway ไม่พร้อมใช้งาน CLI จะย้อนกลับไปใช้ snapshot การอนุมัติของ Node และระบุว่าไม่สามารถคำนวณ policy สุดท้ายระหว่างรันไทม์ได้
แทนที่การอนุมัติจากไฟล์
OmeniaClaw approvals set --file ./exec-approvals.jsonOmeniaClaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off" } }EOFOmeniaClaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonOmeniaClaw approvals set --gateway --file ./exec-approvals.jsonset รองรับ JSON5 ไม่ใช่แค่ JSON แบบเข้มงวดเท่านั้น ใช้ --file หรือ --stdin อย่างใดอย่างหนึ่ง ไม่ใช่ทั้งสองอย่าง
ตัวอย่าง "never prompt" / YOLO
สำหรับโฮสต์ที่ไม่ควรหยุดเพื่อขอการอนุมัติ exec เลย ให้ตั้งค่า defaults ของการอนุมัติของโฮสต์เป็น full + off:
OmeniaClaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFตัวแปรสำหรับ Node:
OmeniaClaw approvals set --node <id|name|ip> --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFการทำเช่นนี้จะเปลี่ยนเฉพาะ ไฟล์การอนุมัติของโฮสต์ เท่านั้น เพื่อให้ policy ของ OmeniaClaw ที่ร้องขอสอดคล้องกันด้วย ให้ตั้งค่า:
OmeniaClaw config set tools.exec.host gatewayOmeniaClaw config set tools.exec.security fullOmeniaClaw config set tools.exec.ask offเหตุผลที่ใช้ tools.exec.host=gateway ในตัวอย่างนี้:
host=autoยังคงหมายถึง "ใช้ sandbox เมื่อพร้อมใช้งาน มิฉะนั้นใช้ gateway"- YOLO เป็นเรื่องของการอนุมัติ ไม่ใช่การกำหนดเส้นทาง
- หากคุณต้องการใช้ host exec แม้จะมีการกำหนดค่า sandbox ไว้ ให้ระบุตัวเลือกโฮสต์อย่างชัดเจนด้วย
gatewayหรือ/exec host=gateway
ซึ่งสอดคล้องกับลักษณะการทำงาน YOLO แบบค่าเริ่มต้นของโฮสต์ในปัจจุบัน หากต้องการการอนุมัติ ให้ทำให้เข้มงวดขึ้น
ทางลัดแบบโลคัล:
OmeniaClaw exec-policy preset yoloทางลัดแบบโลคัลนี้จะอัปเดตทั้ง config tools.exec.* แบบโลคัลที่ร้องขอและค่าเริ่มต้นของการอนุมัติแบบโลคัลพร้อมกัน
โดยมีเจตนาเทียบเท่ากับการตั้งค่าแบบสองขั้นตอนด้วยตนเองด้านบน แต่ใช้ได้เฉพาะกับเครื่องโลคัลเท่านั้น
ตัวช่วย allowlist
OmeniaClaw approvals allowlist add "~/Projects/**/bin/rg"OmeniaClaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"OmeniaClaw approvals allowlist add --agent "*" "/usr/bin/uname" OmeniaClaw approvals allowlist remove "~/Projects/**/bin/rg"ตัวเลือกที่ใช้บ่อย
get, set และ allowlist add|remove ต่างก็รองรับ:
--node <id|name|ip>--gateway- ตัวเลือก Node RPC ที่ใช้ร่วมกัน:
--url,--token,--timeout,--json
หมายเหตุเกี่ยวกับการกำหนดเป้าหมาย:
- หากไม่มีแฟลกกำหนดเป้าหมาย หมายถึงไฟล์การอนุมัติแบบโลคัลบนดิสก์
--gatewayกำหนดเป้าหมายไปที่ไฟล์การอนุมัติของโฮสต์ gateway--nodeกำหนดเป้าหมายไปที่โฮสต์ Node หนึ่งตัวหลังจาก resolve id, name, IP หรือคำนำหน้า id
allowlist add|remove ยังรองรับ:
--agent <id>(ค่าเริ่มต้นคือ*)
หมายเหตุ
--nodeใช้ตัว resolve เดียวกับOmeniaClaw nodes(id, name, ip หรือคำนำหน้า id)--agentมีค่าเริ่มต้นเป็น"*"ซึ่งใช้กับเอเจนต์ทั้งหมด- โฮสต์ Node ต้องประกาศ
system.execApprovals.get/set(แอป macOS หรือโฮสต์ Node แบบ headless) - ไฟล์การอนุมัติจะถูกเก็บแยกตามโฮสต์ที่
~/.OmeniaClaw/exec-approvals.json