Skip to main content

Sandboxing ภาพรวม

Sandbox สร้างขอบเขตที่ช่วยให้ Codex ทำงานอัตโนมัติได้โดยไม่ต้องเข้าถึงเครื่องอย่างไม่จำกัด เมื่อ Codex รันคำสั่งผ่าน app, IDE หรือ CLI การทำงานจะเกิดขึ้นภายในสภาพแวดล้อมที่ถูกจำกัดแทนที่จะมี full permissions โดยค่าเริ่มต้น

หน้าที่ของ Sandbox

Sandbox ใช้กับคำสั่งที่ spawn และ built-in file operations เมื่อ Codex รัน tools เช่น git, package manager หรือ test runner เครื่องมือเหล่านั้นจะรับขอบเขต sandbox เดียวกัน Platform-native enforcement แตกต่างกันระหว่าง macOS, Linux, WSL2 และ Windows แต่รักษา operational limits ที่สอดคล้องกันทุก platform

ประโยชน์

Sandbox ลด approval fatigue โดยให้งาน routine ที่มีความเสี่ยงต่ำทำงานอัตโนมัติได้ภายในขอบเขตที่กำหนด สร้าง trust model ที่ชัดเจน — คุณ trust ขอบเขตทางเทคนิคที่บังคับใช้แทนที่จะพึ่ง agent intentions เพียงอย่างเดียว ช่วยให้ทำงานอิสระพร้อม transparency ว่าเมื่อใดจะต้อง escalate

ข้อกำหนดการตั้งค่า

macOS: Sandbox ทำงานอัตโนมัติโดยใช้ built-in Seatbelt framework

Windows: ใช้ native Windows sandbox ใน PowerShell และ Linux sandbox implementation ใน WSL2

Linux/WSL2: ติดตั้ง bubblewrap ผ่าน package manager:

sudo apt install bubblewrap  # Ubuntu/Debian
sudo dnf install bubblewrap # Fedora

Sandbox Modes

ผู้ใช้เลือก permission mode ผ่าน permissions selector ใน app และ IDE:

Modeคำอธิบาย
read-onlyดูไฟล์ได้เท่านั้น
workspace-writeอ่าน แก้ไขใน workspace รันคำสั่ง routine (ค่าเริ่มต้น)
danger-full-accessไม่มีข้อจำกัด sandbox

Approval Policies

Policyคำอธิบาย
untrustedถามก่อนรันคำสั่งที่ไม่ trusted
on-requestทำงานอัตโนมัติ ถามเมื่อเกินขอบเขต
neverไม่มี approval prompt

การตั้งค่า

ค่าเริ่มต้นเก็บใน config.toml โดยใช้ keys เช่น sandbox_mode, approval_policy, approvals_reviewer และ sandbox_workspace_write.writable_roots

Rules ให้ command-level exceptions โดยไม่ต้องขยาย access กว้างขึ้น

ดูเพิ่มเติม

  • Auto-review — แทนที่การอนุมัติด้วยตัวเองด้วย reviewer agent อัตโนมัติ