Tools

โหมดยกระดับสิทธิ์

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

คำสั่งควบคุม

ควบคุมโหมดยกระดับสิทธิ์สำหรับแต่ละเซสชันด้วยคำสั่งแบบเครื่องหมายทับ:

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

นอกจากนี้ยังใช้รูปแบบ /elev on|off|ask|full ได้ด้วย

ส่ง /elevated โดยไม่มีอาร์กิวเมนต์เพื่อดูระดับปัจจุบัน

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

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

    ต้องเปิดใช้งานโหมดยกระดับสิทธิ์ในการกำหนดค่า และผู้ส่งต้องอยู่ในรายการที่อนุญาต:

    json5
    {  tools: {    elevated: {      enabled: true,      allowFrom: {        discord: ["user-id-123"],        whatsapp: ["+15555550123"],      },    },  },}
  • กำหนดระดับ

    ส่งข้อความที่มีเฉพาะคำสั่งควบคุมเพื่อกำหนดค่าเริ่มต้นของเซสชัน:

    Code
    /elevated full

    หรือใช้ภายในข้อความ (มีผลเฉพาะกับข้อความนั้น):

    Code
    /elevated on run the deployment script
  • คำสั่งทำงานภายนอกแซนด์บ็อกซ์

    เมื่อเปิดใช้โหมดยกระดับสิทธิ์ การเรียก exec จะออกจากแซนด์บ็อกซ์ โดยค่าเริ่มต้นโฮสต์ที่มีผลคือ gateway หรือเป็น node เมื่อเป้าหมาย exec ที่กำหนดค่าไว้หรือกำหนดในเซสชันคือ node ในโหมด full ระบบจะข้ามการอนุมัติ exec เมื่อนโยบายอนุมัติของ โหมด/โฮสต์ exec ที่ได้จากการประมวลผลอนุญาตอย่างเต็มที่อยู่แล้ว (security full, ask off) มิฉะนั้นนโยบายการอนุมัติตามปกติจะยังคงมีผล ในโหมด on/ask กฎการอนุมัติที่กำหนดไว้จะมีผลเสมอ

  • ลำดับการประมวลผล

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

    ความพร้อมใช้งานและรายการที่อนุญาต

    • ด่านส่วนกลาง: tools.elevated.enabled (ต้องเป็น true)
    • รายการผู้ส่งที่อนุญาต: tools.elevated.allowFrom พร้อมรายการแยกตามช่องทาง
    • ด่านสำหรับแต่ละเอเจนต์: agents.list[].tools.elevated.enabled (ทำได้เพียงจำกัดเพิ่มเติม โดยทั้งด่านส่วนกลางและด่านสำหรับเอเจนต์ต้องเป็น true)
    • รายการที่อนุญาตสำหรับแต่ละเอเจนต์: agents.list[].tools.elevated.allowFrom (ผู้ส่งต้องตรงกับทั้งรายการส่วนกลางและรายการสำหรับเอเจนต์)
    • รายการสำรองที่อนุญาตจากช่องทาง: Plugin ของช่องทางสามารถระบุรายการสำรองที่อนุญาตผ่านฮุกอะแดปเตอร์ SDK ได้ โดยจะใช้เมื่อไม่ได้กำหนดค่า tools.elevated.allowFrom.<provider> ปัจจุบันยังไม่มี Plugin ช่องทางแบบรวมมาให้ที่ใช้งานฮุกนี้ ดังนั้นในทางปฏิบัติ ผู้ให้บริการทุกรายจึงต้องมีรายการ tools.elevated.allowFrom.<provider> ที่ระบุไว้อย่างชัดเจน
    • ต้องผ่านทุกด่าน มิฉะนั้นระบบจะถือว่าโหมดยกระดับสิทธิ์ไม่พร้อมใช้งาน

    รูปแบบรายการที่อนุญาต:

    คำนำหน้า ค่าที่ตรงกัน
    (ไม่มี) ID ผู้ส่ง, E.164 หรือฟิลด์ From
    name: ชื่อที่แสดงของผู้ส่ง
    username: ชื่อผู้ใช้ของผู้ส่ง
    tag: แท็กของผู้ส่ง
    id:, from:, e164: ระบุอัตลักษณ์เป้าหมายอย่างชัดเจน

    สิ่งที่โหมดยกระดับสิทธิ์ไม่ได้ควบคุม

    • นโยบายเครื่องมือ: หากนโยบายเครื่องมือปฏิเสธ exec โหมดยกระดับสิทธิ์จะไม่สามารถข้ามข้อจำกัดนั้นได้
    • นโยบายการเลือกโฮสต์: โหมดยกระดับสิทธิ์ไม่ได้เปลี่ยน auto ให้สามารถข้ามไปยังโฮสต์ใดก็ได้ แต่จะใช้กฎเป้าหมาย exec ที่กำหนดค่าไว้หรือกำหนดในเซสชัน โดยเลือก node เฉพาะเมื่อเป้าหมายเป็น node อยู่แล้ว
    • แยกจาก /exec: คำสั่งควบคุม /exec จะปรับค่าเริ่มต้น exec สำหรับแต่ละเซสชัน (โฮสต์, ความปลอดภัย, การถาม, Node) สำหรับผู้ส่งที่ได้รับอนุญาต และไม่จำเป็นต้องใช้โหมดยกระดับสิทธิ์

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

    Was this useful?
    On this page

    On this page