Skip to content

Codex

10/25/2026

https://github.com/openai/codex

1. 安装 ​

yaml
npm i -g @openai/codex

2. 使用 ​

codex

3. 查看使用量 ​

3.1 安装 ​

npx @ccusage/codex@latest

3.2 查看 ​

ccusage-codex daily

ccusage-codex monthly --json

4. 安全机制 ​

Settings、.codex/config.toml 或 CLI 中进行精细化调整。 [1, 2, 3]

5. 1. 沙盒模式(限制文件与网络访问) ​

通过限制 Codex 的环境读写权限,保护系统安全: [1]

  • read-only (只读): 最高安全级别,仅允许读取,完全禁止写入和网络访问,适合安全审计或探索陌生代码库。
  • workspace-write (工作区写入): 平衡模式,允许在当前工作区(如项目目录)内修改文件。
  • danger-full-access (完全访问): 解除所有限制,拥有全系统读写及网络权限,仅在受控环境中使用。 [1]

6. 2. 审批策略(控制人工确认频率) ​

决定 Codex 在执行命令时是否需要停下来等您确认: [1]

  • on-request (按需审批): 默认策略,AI会根据任务风险评估是否中断并请求您的批准。
  • on-failure (失败时审批): 信任但验证,所有命令自动执行,只有失败时才弹窗询问。
  • untrusted (严格审批): 保守策略,除非动作被确认为完全安全,否则频繁请求确认。
  • never (从不审批): 关闭交互确认,适合自动化 CI/CD 流水线。 [1]

7. 3. 如何配置和修改权限 ​

  • 在 GUI/编辑器(如 VS Code)中: 可直接在 AI 聊天界面输入 / 调出菜单,或在 App Settings 中一键切换权限模式。
  • 在配置文件中: 可在 ~/.codex/config.toml 文件顶部全局修改:
  • toml
text
sandbox_mode = " **danger-full-access**"
approval_policy = " **never**"
  • 請謹慎使用程式碼。
  • 项目级约束: 您可以在项目根目录编写 AGENTS.md,预设具体项目的安全边界、禁止操作和验证要求,让 Codex 自觉遵守。 [1, 2, 3]

8. 配置 ​

8.1 Apikey ​

auth.json

yaml
{
  "auth_mode": "apikey",
  "OPENAI_API_KEY": "sk-a0ae1b799c684c61e4666f25547738d32e5543182358a1161f63632f74bb4695"
}

config.yaml

json
model_provider = " **custom**"
model = "gpt-6.1-sol"
review_model = "gpt-6.1-sol"
model_reasoning_effort = "xhigh"
disable_response_storage = true
network_access = "enabled"
windows_wsl_setup_acknowledged = true

 **[model_providers.custom]
name = "custom"
wire_api = "responses"
base_url = "https://sub2api.1postpro.com"
experimental_bearer_token = "sk-a0ae1b799c684c61e4666f25547738d32e5543182358a1161f63632f74bb4695"**

8.2 login ​

auth.json

json
{
  "OPENAI_API_KEY": null,
  "auth_mode": "chatgpt",
  "last_refresh": "2026-10-23T14:10:53.493275700Z",
  "tokens": {
    "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6InFBZ2JmZ3VSbjFRTzMycU5PV0hLTnJGS01Pd1NldzFUYW1GWlBDSTc4SFEiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOlsiaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MSJdLCJjbGllbnRfaWQiOiJhcHBfRU1vYW1FRVo3M2YwQ2tYYVhwN2hyYW5uIiwiaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS9hdXRoIjp7ImFtciI6WyJ1cm46b3BlbmFpOmFtcjpnb29nbGUiXSwiY2hhdGdwdF9hY2NvdW50X2lkIjoiNjlhNTEzNzEtNWE5YS00Y2ZlLTgwNzMtNTk3ZTAyMWYzMTQ3IiwiY2hhdGdwdF9hY2NvdW50X3VzZXJfaWQiOiJ1c2VyLWZ4RDFPRURUblprQlE3UlV4UGVlU0loMF9fNjlhNTEzNzEtNWE5YS00Y2ZlLTgwNzMtNTk3ZTAyMWYzMTQ3IiwiY2hhdGdwdF9jb21wdXRlX3Jlc2lkZW5jeSI6Im5vX2NvbnN0cmFpbnQiLCJjaGF0Z3B0X3BsYW5fdHlwZSI6InBsdXMiLCJjaGF0Z3B0X3VzZXJfaWQiOiJ1c2VyLWZ4RDFPRURUblprQlE3UlV4UGVlU0loMCIsInBvaWQiOiJvcmctNVpnWFJnekJ0eXJHUGNuVjJRWEE5NXREIiwidXNlcl9pZCI6InVzZXItZnhEMU9FRFRuWmtCUTdSVXhQZWVTSWgwIn0sImh0dHBzOi8vYXBpLm9wZW5haS5jb20vcHJvZmlsZSI6eyJlbWFpbCI6ImZ0eXN6eXhAZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5hbWUiOiJcdTVmMjBcdTk2ZTgifSwiaXNzIjoiaHR0cHM6Ly9hdXRoLm9wZW5haS5jb20iLCJwd2RfYXV0aF90aW1lIjoxNzkyNDU3MTQ5OTc3LCJzY3AiOlsib3BlbmlkIiwicHJvZmlsZSIsImVtYWlsIiwib2ZmbGluZV9hY2Nlc3MiLCJhcGkuY29ubmVjdG9ycy5yZWFkIiwiYXBpLmNvbm5lY3RvcnMuaW52b2tlIl0sInNlc3Npb25faWQiOiJhdXRoc2Vzc18yVHBET3ZBZWlFSlhyUzJ5enJvd0xpckEiLCJzbCI6dHJ1ZSwic3ViIjoiZ29vZ2xlLW9hdXRoMnwxMDkwNTE4NjM4MTYwNjI4MjQ4OTkiLCJpYXQiOjE3OTI3NjQ2NTAsImV4cCI6MTc5MzYyODY1MCwianRpIjoiMzk3OWM1MGY2NWNlNDM2NThiMDQ5ZWQwYjFmOTI1MTYiLCJuYmYiOjE3OTI3NjQ2NTB9.TKPZxw0ztK4MevKbuuF5flLEe7xzi9sXuJxj2ZIE8FcZbDGYNKlZrgIY1YSH9DlJ7yMx20rHmrsd56jJ6zdJT80b5RBfaOicIdU7lqL8rkuvPPyA0ED0U_uz_IKSvfDpcGkSwpS4ncrrQuYh8QzP-SUyU33Hahh2rFMmhN07nGyK_ccp4-eigt2dRQKs0g93pSPDqm5X1BpjEDOvonnlfUK_cYilkfwmn3JPch69NOdYXqFHNHNwE2pKKtEuu3BvIWImgltrpMC8dxhlOnzOSxaZf2nWpJ20OCV_kdyOrv2tEgJz8Fp-OGhxZzgRQaZoMXUwd5RAVpes8uhmJmp-YA",
    "account_id": "69a51371-5a9a-4cfe-8073-597e021f3147",
    "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6InFBZ2JmZ3VSbjFRTzMycU5PV0hLTnJGS01Pd1NldzFUYW1GWlBDSTc4SFEiLCJ0eXAiOiJKV1QifQ.eyJhbXIiOlsidXJuOm9wZW5haTphbXI6Z29vZ2xlIl0sImF1ZCI6WyJhcHBfRU1vYW1FRVo3M2YwQ2tYYVhwN2hyYW5uIl0sImF1dGhfcHJvdmlkZXIiOiJnb29nbGUiLCJhdXRoX3RpbWUiOjE3OTI3NjQ2NDUsImVtYWlsIjoiZnR5c3p5eEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS9hdXRoIjp7ImNoYXRncHRfYWNjb3VudF9pZCI6IjY5YTUxMzcxLTVhOWEtNGNmZS04MDczLTU5N2UwMjFmMzE0NyIsImNoYXRncHRfcGxhbl90eXBlIjoicGx1cyIsImNoYXRncHRfc3Vic2NyaXB0aW9uX2FjdGl2ZV9zdGFydCI6IjIwMjYtMTAtMjNUMTI6NDc6MDMrMDA6MDAiLCJjaGF0Z3B0X3N1YnNjcmlwdGlvbl9hY3RpdmVfdW50aWwiOiIyMDI2LTExLTIzVDEyOjQ3OjAwKzAwOjAwIiwiY2hhdGdwdF9zdWJzY3JpcHRpb25fbGFzdF9jaGVja2VkIjoiMjAyNi0xMC0yM1QxNDoxMDo0NS42Mzc0ODkrMDA6MDAiLCJjaGF0Z3B0X3VzZXJfaWQiOiJ1c2VyLWZ4RDFPRURUblprQlE3UlV4UGVlU0loMCIsImdyb3VwcyI6W10sIm9yZ2FuaXphdGlvbnMiOlt7ImlkIjoib3JnLTVaZ1hSZ3pCdHlyR1BjblYyUVhBOTV0RCIsImlzX2RlZmF1bHQiOnRydWUsInJvbGUiOiJvd25lciIsInRpdGxlIjoiUGVyc29uYWwifV0sInVzZXJfaWQiOiJ1c2VyLWZ4RDFPRURUblprQlE3UlV4UGVlU0loMCJ9LCJpc3MiOiJodHRwczovL2F1dGgub3BlbmFpLmNvbSIsIm5hbWUiOiJcdTVmMjBcdTk2ZTgiLCJyYXQiOjE3OTI3NjQ2MzgsInNpZCI6ImF1dGhzZXNzXzJUcERPdkFlaUVKWHJTMnl6cm93TGlyQSIsInN1YiI6Imdvb2dsZS1vYXV0aDJ8MTA5MDUxODYzODE2MDYyODI0ODk5IiwiaWF0IjoxNzkyNzY0NjUwLCJleHAiOjE3OTI3NjgyNTAsImp0aSI6IjdmNWExMzBkNjM5NzRjYjk5YjY3Nzk1NWE0MDhiNjE5IiwiYXRfaGFzaCI6IkJkd2RUWm83SWo5UGp4UmJiNVE0TEEifQ.mTzif-mX7D0P8ot_xJWgElRAREgGpYO08gBjofVTRRF1LXpUFVehAcuRzCMhptR9PekJwPX5WBOdwpmkbpo_apATASqH-2Rp_uJhlQPuh13Nwdki_f09MB1PLOihkWDLsF2RoOebWf8Ml06KGPTyC66phQT1WDDA4MTQvf9Mykq_cAJTOTiG-H6RgJPbjiB19RSxs0a6pgn0pfQYOR6S-a9nFzpMABvkTk8dh-hDda3W52pGNJ9KYpgUkbkGeyp1wewEYrnncn3OuKDUIWX0u_iRsZow-Ztu5t7giQ3wF7DJ0vFizGceywlUYb3bCKASFivxp5UONs__eNdTHQXeXw",
    "refresh_token": "rt.1.AAC1cQrWiMgZPWnkCrMi2Es18NJSFhWo5XGIAILmKQpSYM39KFG_trh6imhBYGSXBdmey4l119xew2w82rNaeQqXd8qIK4spWn7Pf53MaJHrmHBwNhWBFR6nKVVqtqlY-tyrVFTrddc8Jt9P2hoD2qZgC1AHjz0xHIYJvtqyhUqKejTGXsM-sFotyW0r2sE"
  }
}

config.yml

yaml
model_provider = "openai"


[model_providers.custom]
name = "custom"
wire_api = "responses"
base_url = "https://chatgpt.com/backend-api/codex"
requires_openai_auth = true
supports_websockets = true