Tools
โหมดยกระดับสิทธิ์
เมื่อ agent ทำงานภายใน sandbox คำสั่ง exec ของมันจะถูกจำกัดให้อยู่ใน
สภาพแวดล้อม sandbox โหมด elevated ช่วยให้ agent ออกจากข้อจำกัดนั้นและเรียกใช้คำสั่ง
ภายนอก sandbox แทน พร้อมเกตการอนุมัติที่กำหนดค่าได้
คำสั่งกำกับ
ควบคุมโหมด elevated ต่อเซสชันด้วยคำสั่ง slash:
| คำสั่งกำกับ | สิ่งที่ทำ |
|---|---|
/elevated on |
ทำงานภายนอก sandbox บนเส้นทาง host ที่กำหนดค่าไว้ โดยยังคงการอนุมัติไว้ |
/elevated ask |
เหมือนกับ on (alias) |
/elevated full |
ทำงานภายนอก sandbox บนเส้นทาง host ที่กำหนดค่าไว้และข้ามการอนุมัติ |
/elevated off |
กลับไปใช้การดำเนินการที่ถูกจำกัดอยู่ใน sandbox |
ยังใช้งานได้ในรูปแบบ /elev on|off|ask|full ด้วย
ส่ง /elevated โดยไม่มีอาร์กิวเมนต์เพื่อดูระดับปัจจุบัน
วิธีการทำงาน
ตรวจสอบความพร้อมใช้งาน
ต้องเปิดใช้งาน Elevated ใน config และผู้ส่งต้องอยู่ใน allowlist:
{
tools: {
elevated: {
enabled: true,
allowFrom: {
discord: ["user-id-123"],
whatsapp: ["+15555550123"],
},
},
},
}
ตั้งค่าระดับ
ส่งข้อความที่มีเฉพาะคำสั่งกำกับเพื่อตั้งค่าเริ่มต้นของเซสชัน:
/elevated full
หรือใช้แบบ inline (มีผลกับข้อความนั้นเท่านั้น):
/elevated on run the deployment script
คำสั่งทำงานภายนอก sandbox
เมื่อ elevated เปิดใช้งานอยู่ การเรียก exec จะออกจาก sandbox โดย host ที่มีผลจริงคือ
gateway ตามค่าเริ่มต้น หรือ node เมื่อเป้าหมาย exec ที่กำหนดค่าไว้/ของเซสชันคือ
node ในโหมด full การอนุมัติ exec จะถูกข้าม ในโหมด on/ask
กฎการอนุมัติที่กำหนดค่าไว้ยังคงมีผล
ลำดับการพิจารณา
- คำสั่งกำกับแบบ inline ในข้อความ (มีผลกับข้อความนั้นเท่านั้น)
- การ override ของเซสชัน (ตั้งค่าโดยส่งข้อความที่มีเฉพาะคำสั่งกำกับ)
- ค่าเริ่มต้นส่วนกลาง (
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