Codex 沙盒設定是什麼?怎麼設定?要求核准、代我核准、完整存取權差在哪?教學

Codex 沙盒設定是什麼?怎麼設定?
Codex 沙盒設定是什麼?怎麼設定?

在使用 Codex 的時候,我們會在設定中看見 「Codex 沙盒」這個選項,這個選項基本上就是 Codex 在執行任務的時候,它的權限到底有多大。是只能修改專案資料夾?還是可以控制你整部電腦?還是每次都要你審核。

簡單的說,Codex 沙盒是用來限制 Codex 可以動到哪些檔案、可以執行哪些命令、能不能使用網路的安全邊界;核准政策則是決定 Codex 什麼時候要停下來問你。

OpenAI 官方提到,Codex 在本機執行時會使用作業系統層級的 sandbox,限制它通常只能碰到目前工作區;同時也有 approval policy,控制它什麼時候必須停下來詢問使用者。(資料來源:OpenAI Developers:Agent approvals & securityOpenAI Developers:Sandboxing

這篇文章會教學 Codex 沙盒、核准政策、聊天視窗權限選項,以及設定頁裡的 config.toml 權限到底怎麼設定。

Codex 沙盒是什麼?

Codex 沙盒可以理解成:給 Codex 工作用的安全圍欄。

當 Codex 在你的電腦上執行本機命令時,它不是預設就可以隨便讀寫整台電腦。沙盒會限制它可以做哪些事情,例如:

  • 可以讀哪些檔案。
  • 可以寫哪些資料夾。
  • 能不能修改工作區外的檔案。
  • 執行命令時能不能碰到某些系統資源。
  • 能不能使用網路。

OpenAI 官方提到,sandbox 是讓 Codex 可以自主行動、但又不給它不受限制存取權的邊界。當任務在邊界內,Codex 可以繼續工作;如果要超出邊界,就會進入 approval flow,也就是要求核准。(資料來源:OpenAI Developers:Sandboxing

用白話說,沙盒就是:

Codex 可以在這個範圍內做事;超出範圍,就要先問。

這很重要,因為 Codex 不只是聊天機器人。它可能會改檔案、跑測試、執行 git、使用套件管理器,甚至跑你專案裡的腳本。沙盒就是用來控制這些本機操作的安全範圍。

沙盒跟核准政策差在哪?

這兩個很容易混在一起,但其實不是同一件事。

OpenAI 官方文件把它拆成兩層:

  • 沙盒模式 Sandbox mode :Codex 技術上可以做什麼。
  • 核准政策 Approval policy:Codex 什麼時候要問你。

例如:

  • 沙盒可以設定 Codex 只能在工作區內改檔。
  • 核准政策可以設定 Codex 如果要改工作區外的檔案,就要問你。

所以不要只看一個選項。Codex 的權限實際上是「沙盒設定」和「核准政策」一起決定的。

聊天視窗裡的權限選項是什麼?

在 Codex App 的聊天視窗下方,你可能會看到權限下拉選單。常見選項包含:

  • 要求核准
  • 代我核准
  • 完整存取權
  • 自訂 config.toml

這是「目前聊天視窗」的權限快速切換。

Codex 沙盒設定是什麼?怎麼設定?要求核准、代我核准、完整存取權差在哪?教學

要求核准

「要求核准」是比較保守的模式。

它的意思是,Codex 遇到需要你確認的操作時,會把核准提示交給你。你可以先看它要做什麼,再決定要不要允許。

適合情境:

  • 你只是想問問題。
  • 你想讓 Codex 讀檔案、分析專案,但不希望它權限太大。
  • 你正在處理比較敏感的資料。
  • 你對目前專案還不熟。

用白話說,這個模式像是:Codex 做事前都需要問你。

代我核准

「代我核准」比較偏日常使用模式。

它不是完全放任 Codex,而是讓 Codex 在低風險操作上比較順暢;如果遇到系統判斷可能不安全的操作,才會要求你確認。

適合情境:

  • 你信任目前工作區。
  • 你希望 Codex 可以比較順地改專案檔案。
  • 你不想每個低風險操作都一直按核准。
  • 但你仍希望高風險操作停下來問你。

一般日常使用 Codex,我會比較建議從這個模式開始。效率不會太差,安全性也還行。

完整存取權

「完整存取權」就是風險最高的模式。它可以不需要你核准,幾乎擁有操作整台電腦檔案資料的權限。

適合情境:

  • 你非常信任目前專案。
  • 你知道 Codex 會執行哪些操作。
  • 你需要它跨多個資料夾大量處理檔案。
  • 你已經確認沒有敏感資料或危險腳本。

不適合情境:

  • 下載來的陌生 repo。
  • 不熟悉的程式碼專案。
  • 會碰到密碼、API key、私密資料。

自訂 config.toml

「自訂 config.toml」則是使用你自己在設定檔裡定義的權限。

如果你希望 Codex 每次都按照固定規則啟動,例如固定使用 workspace-write、固定關閉網路、固定使用某些可寫資料夾,就可以在 config.toml 裡設定。

要注意的是,如果你在聊天視窗選了「要求核准」「代我核准」或「完整存取權」,那這個聊天的權限模式會優先走你選的快速模式;如果你想讓沙盒與核准政策完全照 config.toml 走,就應該選「自訂 config.toml」。

設定頁裡的沙盒設定是什麼?

除了聊天視窗下方的快速選單,在 Codex 設定頁也可以看到:

  • 核准政策
  • 沙盒設定
  • 允許網路存取權

這些是更底層的權限設定。

Codex 沙盒設定是什麼?怎麼設定?要求核准、代我核准、完整存取權差在哪?教學

核准政策

核准政策是在控制 Codex 何時要求你同意。

官方文件列出的常見 approval policies 包含:

核准政策意思
untrustedCodex 執行不在 trusted set 裡的命令前會詢問
on-requestCodex 在沙盒內工作;需要超出邊界時詢問
neverCodex 不停下來要求核准

沙盒設定

沙盒設定是在控制 Codex 的技術邊界。

官方文件列出的常見 sandbox modes 包含:

沙盒模式意思適合情境
read-only可以檢查檔案,但不能直接改檔或執行命令,除非核准只想分析、問問題、看專案
workspace-write可以讀檔、在工作區內改檔、執行常規本機命令日常專案修改
danger-full-access沒有沙盒限制,檔案與網路邊界會被移除高信任、短時間、明確需要完整權限

允許網路存取權

這個開關是在控制 Codex 執行命令時能不能使用網路。

這裡要注意一個細節:「使用網路」和「搜尋網頁」不一定是同一件事。

有些工具可能透過 Codex 提供的搜尋能力取得資料;但如果是 Codex 在你的電腦上執行 curlnpm installpip install 這類命令,通常就會牽涉命令本身的網路權限。

簡單的說:

  • 不需要安裝套件、不需要抓網頁:可以關閉網路。
  • 需要跑 npm installpip installcurl、連 API:可能需要開啟網路或另外核准。
  • 不熟悉的專案:不要一開始就把網路權限開太大。

以上就是 Codex 沙盒 的完整教學。

總結

我自己在設定 Codex 沙盒的時候,是選擇「代我核准」,這是目前比較方便的選項,因為如果不選這個選項,它會一直要求核准,反而拖慢速度。至於沙盒設定,我個人是選擇「工作區寫入」,一般在 Codex 裡開設專案,都會選擇一個資料夾,所以選這個選項相對安全。

如果你喜歡學習各種科技軟體,想得知各種科技新知與資訊,歡迎追蹤科技兔的 FB 粉絲專頁Instagram,以及Line 官方帳號

加入好友