Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

เมื่อ agent ทำงานภายใน sandbox คำสั่ง exec ของมันจะถูกจำกัดให้อยู่ใน สภาพแวดล้อม sandbox โหมด elevated ช่วยให้ agent ออกจากข้อจำกัดนั้นและเรียกใช้คำสั่ง ภายนอก sandbox แทน พร้อมเกตการอนุมัติที่กำหนดค่าได้
โหมด elevated จะเปลี่ยนพฤติกรรมก็ต่อเมื่อ agent อยู่ใน sandbox เท่านั้น สำหรับ agent ที่ไม่ได้อยู่ใน sandbox นั้น exec ทำงานบน host อยู่แล้ว

คำสั่งกำกับ

ควบคุมโหมด elevated ต่อเซสชันด้วยคำสั่ง slash:
คำสั่งกำกับสิ่งที่ทำ
/elevated onทำงานภายนอก sandbox บนเส้นทาง host ที่กำหนดค่าไว้ โดยยังคงการอนุมัติไว้
/elevated askเหมือนกับ on (alias)
/elevated fullทำงานภายนอก sandbox บนเส้นทาง host ที่กำหนดค่าไว้และข้ามการอนุมัติ
/elevated offกลับไปใช้การดำเนินการที่ถูกจำกัดอยู่ใน sandbox
ยังใช้งานได้ในรูปแบบ /elev on|off|ask|full ด้วย ส่ง /elevated โดยไม่มีอาร์กิวเมนต์เพื่อดูระดับปัจจุบัน

วิธีการทำงาน

1

ตรวจสอบความพร้อมใช้งาน

ต้องเปิดใช้งาน Elevated ใน config และผู้ส่งต้องอยู่ใน allowlist:
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["user-id-123"],
        whatsapp: ["+15555550123"],
      },
    },
  },
}
2

ตั้งค่าระดับ

ส่งข้อความที่มีเฉพาะคำสั่งกำกับเพื่อตั้งค่าเริ่มต้นของเซสชัน:
/elevated full
หรือใช้แบบ inline (มีผลกับข้อความนั้นเท่านั้น):
/elevated on run the deployment script
3

คำสั่งทำงานภายนอก sandbox

เมื่อ elevated เปิดใช้งานอยู่ การเรียก exec จะออกจาก sandbox โดย host ที่มีผลจริงคือ gateway ตามค่าเริ่มต้น หรือ node เมื่อเป้าหมาย exec ที่กำหนดค่าไว้/ของเซสชันคือ node ในโหมด full การอนุมัติ exec จะถูกข้าม ในโหมด on/ask กฎการอนุมัติที่กำหนดค่าไว้ยังคงมีผล

ลำดับการพิจารณา

  1. คำสั่งกำกับแบบ inline ในข้อความ (มีผลกับข้อความนั้นเท่านั้น)
  2. การ override ของเซสชัน (ตั้งค่าโดยส่งข้อความที่มีเฉพาะคำสั่งกำกับ)
  3. ค่าเริ่มต้นส่วนกลาง (agents.defaults.elevatedDefault ใน config)

ความพร้อมใช้งานและ allowlist

  • เกตส่วนกลาง: tools.elevated.enabled (ต้องเป็น true)
  • allowlist ของผู้ส่ง: tools.elevated.allowFrom พร้อมรายการแยกตามช่องทาง
  • เกตต่อ agent: agents.list[].tools.elevated.enabled (ทำได้เพียงจำกัดเพิ่มเติม)
  • allowlist ต่อ agent: agents.list[].tools.elevated.allowFrom (ผู้ส่งต้องตรงกับทั้งส่วนกลาง + ต่อ agent)
  • fallback ของ Discord: หากละ tools.elevated.allowFrom.discord ไว้ จะใช้ channels.discord.allowFrom เป็น fallback
  • ทุกเกตต้องผ่าน มิฉะนั้น elevated จะถือว่าไม่พร้อมใช้งาน
รูปแบบรายการ allowlist:
คำนำหน้าตรงกับ
(ไม่มี)ID ผู้ส่ง, E.164 หรือฟิลด์ From
name:ชื่อที่แสดงของผู้ส่ง
username:username ของผู้ส่ง
tag:tag ของผู้ส่ง
id:, from:, e164:การระบุตัวตนเป้าหมายอย่างชัดเจน

สิ่งที่ elevated ไม่ได้ควบคุม

  • นโยบายเครื่องมือ: หาก exec ถูกปฏิเสธโดยนโยบายเครื่องมือ elevated จะ override ไม่ได้
  • นโยบายการเลือก host: elevated ไม่ได้เปลี่ยน auto ให้เป็นการ override ข้าม host ได้อย่างอิสระ แต่จะใช้กฎเป้าหมาย exec ที่กำหนดค่าไว้/ของเซสชัน โดยเลือก node เฉพาะเมื่อเป้าหมายเป็น node อยู่แล้ว
  • แยกจาก /exec: คำสั่งกำกับ /exec ปรับค่าเริ่มต้น exec ต่อเซสชันสำหรับผู้ส่งที่ได้รับอนุญาต และไม่จำเป็นต้องใช้โหมด elevated
คำสั่งแชต bash (คำนำหน้า !; alias /bash) เป็นเกตแยกต่างหากที่ต้องเปิดใช้งาน tools.elevated นอกเหนือจากแฟล็ก tools.bash.enabled ของตัวเอง การปิดใช้งาน elevated จะล็อกคำสั่ง shell แบบ ! ออกไปด้วย

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

เครื่องมือ Exec

การเรียกใช้คำสั่ง shell จาก agent

การอนุมัติ Exec

ระบบการอนุมัติและ allowlist สำหรับ exec

Sandboxing

การกำหนดค่า sandbox ระดับ Gateway

Sandbox เทียบกับนโยบายเครื่องมือเทียบกับ Elevated

วิธีที่เกตทั้งสามประกอบกันระหว่างการเรียกเครื่องมือ