請注意,你需要升級至 Codex CLI 0.163.0 或更新版本,才能使用這些變更。CLI 需由你自行選擇是否升級:在更新之前,現有安裝版本會維持目前的行為。
如果你的自動化流程會安裝
@openai/codex@latest,下次安裝或更新時就可能套用這項變更。如果你是使用 npm 全域安裝 Codex CLI,請執行npm install -g @openai/codex@latest,然後執行codex --version確認已升級。若要延後套用這項變更,請將版本固定為
@openai/codex@0.162.0。僅使用@latest安裝一次,並不會讓程式自動更新。固定使用舊版的工作流程會維持原有行為。若使用 TypeScript 整合,請更新
@openai/codex-sdk及其隨附的執行階段。若使用 Python 整合,請更新openai-codex及其 Codex 執行階段。只更新全域安裝的 CLI,不一定會更新 SDK 的執行階段。如果你設定了自訂執行檔路徑,也請更新該執行檔。
如果模型目錄可正常使用,但未列出你手動設定的模型 ID,CLI 和 Codex Desktop 仍會沿用原有的自動處理方式,即使 Daybreak 已開啟也一樣。模型未列在目錄中,本身不會導致請求無法成功。
資安模型可能會另行逐步開放,供你在模型選擇器中選用。開放後,已使用支援版本的使用者無須再次下載,即可看到新開放的模型。重新開啟模型選擇器或重新啟動 Codex,即可重新整理清單。
在互動式 CLI 中啟用 Daybreak
使用慣用的驗證方式啟動 Codex。
若要開啟 Daybreak,請輸入
/daybreak。Codex 會顯示
Daybreak on. Applies to new turns.這會套用至目前的對話串,並儲存為新工作階段的預設設定。
若要關閉 Daybreak,請再次執行相同命令(
/daybreak)。
在無互動介面的 CLI 中啟用 Daybreak
無互動介面的工作流程通常透過指令碼、排程工作或 CI 中的 codex exec 執行,不使用互動式使用者介面。這裡不會顯示「啟用 Daybreak」(/daybreak)的互動式提示。你可以改用以下方式:
針對特定 CLI 執行啟用 Daybreak:在每個需要減少拒絕回應的指令中加入
-c daybreak=true。例如,你可以輸入:
codex exec -c daybreak=true "Review the changes in this repository."
保留現有的提示詞與其他指令選項。在每次需要使用 Daybreak 的呼叫中加入此設定,包括指令碼、排程工作與 CI 設定中的指令。
讓新的 CLI 工作階段與執行預設使用 Daybreak:在 Codex 載入的設定檔中加入
daybreak=true。預設的使用者設定檔為
~/.codex/config.toml。如果自動化流程設定了CODEX_HOME,請改用$CODEX_HOME/config.toml。將此設定放在最上層,不要放在[features]等區段內。請在自動化流程實際執行的環境中進行變更。更新筆記型電腦上的設定,不會同步更新 CI 執行器或遠端機器上的設定。
此設定也適用於使用同一份設定檔的新互動式工作階段。恢復或分支建立的工作階段會保留已儲存的 Daybreak 選項;新的預設設定不會取代該選項。
請注意,命令列設定會在該次呼叫中覆寫已儲存的設定。因此,你可以在設定檔中保留
daybreak = true,並在單次執行時使用-c daybreak=false。
透過代理連線至推論供應商時啟用 Daybreak
你可以在 Codex CLI 中使用 Daybreak,同時透過現有的代理伺服器傳送推論請求。Codex 會另外查詢模型目錄,確認你的專案有哪些模型支援 Daybreak。
開始前,請確認 Codex CLI 中已設定可正常運作的代理供應商,並備妥 OpenAI API 金鑰,其所屬專案必須具備 Daybreak 與所需模型的存取權;此外,也需要使用 Codex CLI v0.167.0。OpenAI 的 Daybreak 專案存取權說明文件
更新代理供應商設定:開啟 ~/.codex/config.toml,找到代理伺服器對應的 [model_providers.<id>] 區段。將下方範例的最後兩行加入該區段。保留現有的供應商 ID、代理伺服器 URL 與驗證設定。
[model_providers.proxy]name = "Proxied with Cyber"base_url = "https://<your-proxy>/v1"model_catalog_url = "<https://chatgpt.com/backend-api/codex/models>"capabilities.cyber_access_programs = true
如果設定檔中已有 [model_providers.<id>.capabilities] 區段,請將 cyber_access_programs = true 放入該區段,並將 model_catalog_url 保留在上一層的供應商區段中。Codex 設定參考文件設定目錄查詢的驗證方式:依據 CLI 使用的憑證,選擇對應的選項。
如果 Codex 使用 OpenAI API 金鑰,請保留步驟 1 中的 OpenAI 目錄 URL。使用已啟用 Daybreak 的專案所屬金鑰執行 Codex,讓它能直接向目錄進行驗證。
如果 Codex 使用代理伺服器的憑證,請將 model_catalog_url 設為代理伺服器上目錄路由的完整 URL。將該路由設定為執行以下操作:
使用平常的代理伺服器憑證驗證 CLI 請求。
使用已啟用 Daybreak 的專案所屬 OpenAI API 金鑰,將請求轉送至 https://chatgpt.com/backend-api/codex/models。
將目錄回應傳回 Codex。
啟用 Daybreak:使用代理供應商啟動新的 Codex CLI 工作階段。選取符合 Daybreak 使用資格的模型,然後輸入 /daybreak 以啟用。
如果無法使用 Daybreak,請先檢查目錄查詢。即使目錄請求失敗,推論仍可能成功。請確認請求送達 OpenAI 時使用的是預期專案的金鑰,且該專案具備 Daybreak 與所選模型的存取權。
透過 TypeScript SDK 啟用 Daybreak
透過用戶端設定傳入 Daybreak 設定:
import { Codex } from "@openai/codex-sdk";
const codex = new Codex({
config: { daybreak: true },
});
const thread = codex.startThread();
const result = await thread.run("Review the changes in this repository.");
console.log(result.finalResponse);
使用 daybreak: false 即可關閉 Daybreak,並採用一般的拒絕行為。請保留現有的驗證設定。
透過應用程式伺服器或 Python SDK 啟用 Daybreak
1. 從 model/list 讀取所選模型的 availableAccessPrograms.cyber 值,然後在 turn/start 參數中設定 cyberAccessProgram。
a.若使用主系列模型,且帳號具有 Daybreak Blue 存取權:
{ "cyberAccessProgram": "daybreakBlue" }
b.若使用資安模型,且帳號具有 Daybreak Red 存取權:
{ "cyberAccessProgram": "daybreakRed" }
c.若要採用一般的拒絕行為:
{ "cyberAccessProgram": "standard" }
2. 每個需要使用此選項的回合都必須包含這項設定;請勿以為省略參數就會關閉 Daybreak。直接連線至應用程式伺服器的用戶端,必須在初始化時啟用 experimentalApi 功能,才能使用此參數。
3. Python SDK 的低階 CodexClient 可傳入相同參數:
from openai_codex.client import CodexClient
with CodexClient() as client:
client.initialize()
thread = client.thread_start()
turn = client.turn_start(
thread.thread.id,
"Review the changes in this repository.",
params={"cyberAccessProgram": "daybreakBlue"},
)
client.wait_for_turn_completed(turn.turn.id)
4. 此範例假設所選模型可使用 Daybreak Blue。Python 用戶端預設會啟用實驗性 API 功能。僅儲存對話串偏好設定,並不會為應用程式伺服器的回合選定存取方案。
如果你在這些變更之前新增了本機模型目錄
如果先前使用 API 金鑰登入時,未顯示你預期的模型,你可能曾在 config.toml 中使用 model_catalog_json 新增本機目錄。Codex 會使用該本機檔案,而非自動取得的目錄,因此你的模型清單可能會過時。當你的環境支援自動取得目錄後,請依下列步驟切換回來:
開啟
config.toml。若使用 Codex CLI,請開啟~/.codex/config.toml(若已設定CODEX_HOME,則開啟$CODEX_HOME/config.toml)。在 Codex Desktop 中,前往設定 > 組態,然後選取開啟 config.toml。暫時停用本機目錄。在
model_catalog_json那一行的開頭加上 #,儲存檔案,然後使用相同的帳號或 API 金鑰重新啟動 Codex。請保留組織要求使用的所有目錄網址。確認你的存取權。在 CLI 中啟動
codex,然後在工作階段內輸入/daybreak。在桌面版中,開啟進階模型選擇器並開啟 Daybreak。如果你具有 Daybreak Red 存取權,請確認預期的資安模型有出現在清單中,而且你可以使用它傳送請求。保留可正常運作的設定。如果檢查成功,請刪除你停用的那一行並儲存檔案。如果檢查失敗,請移除
#、儲存檔案,然後重新啟動 Codex,以還原先前的設定。
排解 CLI 中的請求遭拒問題
使用與自動化流程相同的憑證、模型和設定,執行一項具代表性的作業。
如果無法使用 Daybreak,請確認以下事項:
你的帳號或 API 專案具有 Daybreak 存取權。
所選模型支援 Daybreak。
在互動式 CLI 中,請確認 Daybreak 已開啟。當 Daybreak 可用但未開啟時,互動式 CLI 可能會顯示拒絕訊息:
Daybreak is currently off. If you’re doing authorized security work, turn it on and try your request again.提示訊息會詢問
Turn on Daybreak for your next request?並提供Enable Daybreak或Not now選項。選取啟用 Daybreak,為下一次請求開啟此功能,然後重新送出請求。請注意,遭拒的請求不會自動重試;你必須重新送出請求。即使 Daybreak 已開啟,某些請求仍可能遭拒。
選取暫時不要,讓 Daybreak 保持關閉。
若使用自動化流程,請確認
daybreak=true確實傳入了實際執行的 Codex 處理程序,且未被其他命令列設定覆寫。
在 Codex Security CLI 中使用 Daybreak
Codex Security CLI 使用 @openai/codex-security 進行安全掃描。其存取計畫選項與上述一般 Codex CLI 範例中的選項不同。
若使用 API 金鑰驗證,請使用已啟用 Daybreak 的 API 專案所屬金鑰,並明確選取該專案獲准使用的計畫。若要使用 Daybreak Blue:npx @openai/codex-security scan . --auth api-key --cyber-access-program daybreak_blue
只有在專案獲准使用 Daybreak Red 時,才能使用 daybreak_red;若要使用標準安全防護措施,則使用 standard。選取計畫並不會授予該計畫或其他模型的存取權。
如需驗證與掃描選項的詳細資訊,請參閱 Codex Security CLI 參考文件。
在 Codex Security SDK 中使用 Daybreak
Codex Security TypeScript SDK(@openai/codex-security)可從應用程式或開發工具執行安全掃描。它與上述一般用途的 Codex SDK 是不同的 SDK。
請使用已獲核准的帳戶或 API 專案所屬憑證。部分網路安全請求與受保護的掃描結果需要 Trusted Access for Cyber 存取權。安裝 SDK 或選取模型並不會授予 Daybreak 存取權。
如需支援的驗證方式、設定與掃描範例,請參閱 Codex Security SDK 指南。
