Windows 專用的開源 Codex 帳號切換器,使用原生 DPAPI 保護最多 10 個登入 session。
本程式是非官方社群工具,與 OpenAI 無關;在審查 Lampese/codex-switcher v0.2.8 後
獨立建立,沒有複製其程式碼。
- 所有已儲存帳號只包含 DPAPI
CurrentUser密文。 - 沒有寫死的密碼,亦不提供可攜式憑證匯出。
- 沒有 LAN server、proxy、telemetry、updater、scheduled task、warm-up 或 quota API。
- 不會記錄、顯示、上傳或匯出 Token。
- Codex/ChatGPT Desktop 開啟時,程式會拒絕儲存或切換。
- 使用同一目錄內的 atomic replacement;rollback 備份亦保持 DPAPI 加密。
- 官方 Codex 運作所需的目前
auth.json仍必須是明文。
DPAPI 可防止離線偷取及其他 Windows 帳戶讀取,但如果目前 Windows 帳戶或其中一個 process 已被入侵,DPAPI 不能繼續保護憑證。
主畫面會以「帳號槽位/Email/狀態/自訂 Token 刷新時間」顯示每個加密 Profile。 Email 只會由 DPAPI 解密後即時讀取及顯示,不會另外以明文保存。「操作狀態」會清楚顯示儲存、切換、 準備下一個帳號或關閉 Codex 是否成功。
- 完全關閉 Codex/ChatGPT Desktop。
- 透過官方 Codex 登入帳號 A,然後關閉 Codex。
- 開啟本切換器,在「帳號槽位」選擇
account-1,按「儲存目前帳號,準備登入下一個」。 - 程式會加密保存帳號 A,只移除本機 active
auth.json,不會執行官方 Log out 或 token revoke。 - 開啟 Codex,用驗證碼登入帳號 B;關閉 Codex 後,選擇
account-2重複上一步。 - 最後一個帳號只需按「儲存目前帳號」,毋須再準備下一個。
- 日後切換時,先關閉 Codex,選擇帳號並按「切換至所選帳號」,然後重新開啟 Codex。
已儲存 session 通常可直接切換,毋須再次輸入驗證碼;如果 OpenAI session 已過期、 被撤銷或帳號安全狀態改變,仍需重新完成官方登入。
可以按「一鍵關閉 Codex」要求 Codex 正常退出。如果仍有 background process,程式會先 詢問,只有確認後才會強制關閉;強制關閉可能令未保存輸入遺失。
在帳號列表選擇一行,按「清除所選帳號」,核對槽位及 Email 後確認。程式會刪除該
DPAPI Profile,並清除可用 account identity 或 Email 辨認為同一帳號的 encrypted
rollback backups;其他 Profile 會保留。目前正在使用的 Codex auth.json 不會被刪除,
所以清除 Profile 不等於登出目前 Codex。一般檔案刪除亦不等於硬碟 forensic secure erase。
切換離開目前帳號前,程式會先將最新 refreshed credentials 寫回該帳號的加密 Profile。
「登出目前帳號」只會移除本機 active auth.json,不會刪除已儲存的 DPAPI Profile,
亦不會向 OpenAI 發送 server-side token revoke。
「自訂 Token 刷新時間」是使用者自行設定的日期/整點小時提醒,資料保存於本機
refresh-times.json。它不是 OpenAI 提供的 token expiry、實際 refresh telemetry 或
剩餘用量;OAuth token 本身亦不包含可靠的 Codex 剩餘額度。
Self-test 只使用假憑證及 temporary directory,不會讀取真實 Codex auth.json。
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Safe-CodexSwitcher.ps1 -SelfTest先下載或 clone repository,再於 repository 目錄執行:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Install.ps1安裝程式會複製已驗證的 script 至 %LOCALAPPDATA%\NovaSafeCodexSwitcher,並建立一個
Desktop shortcut;安裝期間不會啟動切換器或讀取 Codex 憑證。
PowerShell script 未有 Authenticode 簽署。首次執行前請自行檢查 source,只從本
repository 下載,切勿使用來歷不明的重新封裝版本或網上 curl | powershell installer。
- Windows PowerShell 5.1
- Windows DPAPI
CurrentUser - Codex file-based credential cache:
%USERPROFILE%\.codex\auth.json或CODEX_HOME
如果 Codex 設定為只使用 OS credential store 而沒有 file-based auth.json,本工具不能切換。
- DPAPI:https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.protecteddata
- DPAPI security boundary:https://learn.microsoft.com/en-us/windows/win32/api/dpapi/nf-dpapi-cryptprotectdata
- Atomic replacement:https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-movefileexa
- PowerShell Windows Forms:https://learn.microsoft.com/en-us/powershell/scripting/samples/creating-a-custom-input-box