首页 › tips-tricks › Codex免API:白嫖订阅八个闸门

导语

如果你还在为 OpenAI API key 充值、再拿它喂编码工具,那你可能白花钱了。OpenAI 自家的开源终端编码 agent Codex CLI(Apache-2.0 协议,仓库 github.com/openai/codex)有一个被国内开发者普遍忽略的入口:直接用你的 ChatGPT Plus / Pro / Business / Edu / Enterprise 订阅登录,跑代码、改仓库、跑命令,全部走订阅额度,完全不需要单独的 API key,也不走 API 计费。装上 codex → 选 Sign in with ChatGPT 就行。

但问题来了——绝大多数人装完只会敲一句 codex "帮我改个 bug",连它三层安全闸门、PR 自审、云端 best-of-N 这些核心能力都没摸到。这轮情报我挖了 Codex CLI 的 8 个隐藏开关,每个都能直接抄、立刻省事省钱,而且国内基本没人系统讲过。


开关一:别买 API 了,用 ChatGPT 订阅登录(价格差)

这是最大的信息差。很多人以为 Codex CLI 必须配 API key,于是充了值才发现额度飞快。

操作步骤:

# macOS / Linux 一键安装
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# 或:npm install -g @openai/codex / brew install --cask codex

codex          # 启动后选 "Sign in with ChatGPT"

真正需要 API 计费的只有一种情况:大批量非交互跑批(见开关七的 cloud exec),那时切 API key 才更划算。


开关二:三层安全闸门,大多数人只开了一层(认知差)

你印象里"Codex 会问我要不要执行"——那只是最外层。它其实是沙箱和审批两个独立维度叠加,组合出完全不同的安全姿态。

沙箱模式(sandbox_mode) 决定它能碰什么:

取值 行为
read-only 只读探查,不改文件、不跑命令,等你批 plan(咨询模式)
workspace-write(默认) 工作目录内自由读写+跑命令;碰目录外或联网才停下来问
danger-full-access 全机器 + 网络放开,不问。仅在你信任仓库和任务时慎用

审批策略(approval_policy) 决定何时停:

取值 行为
untrusted 几乎每步都问
on-failure 失败才问
on-request(默认) 按需问
never 不问(配合沙箱才有意义)
granular 见开关三,按类别细控

怎么用:陌生仓库先用 read-only 探一遍(让它先看懂代码、产出 plan,一个字都不改);确认方向对了,再升到 workspace-write 让它动手。两种模式都能在交互会话里随时切换,不必退出重启。

flowchart TD
    A[收到任务] --> B{信任这个仓库吗?}
    B -- 陌生/不信任 --> R[read-only 探查<br/>只读 + 出 plan]
    R --> C{plan 看着靠谱?}
    C -- 否 --> A
    C -- 是 --> W[workspace-write 执行<br/>目录内自由动手]
    W --> D{需要联网/跨目录?}
    D -- 是 --> P[弹出审批确认]
    D -- 否 --> E[自动完成]
    P -->|批准| E
    B -- 高度信任 + 离线脚本 --> F[danger-full-access<br/>不问, 谨慎]
    F --> E
    style R fill:#e8f4ff,stroke:#1f6feb
    style W fill:#fff4e8,stroke:#d97706
    style F fill:#ffe8e8,stroke:#dc2626

开关三:granular 审批——只放行你要的那一类 prompt

默认审批是"一刀切问/不问"。但 Codex 支持把不同类别的审批各自独立开关,写进 ~/.codex/config.toml:

approval_policy = { granular = {
  sandbox_approval    = true,   # 沙箱升级请求允许弹出
  rules               = true,   # execpolicy 规则命中的命令允许弹出
  mcp_elicitations    = false,  # MCP elicitation 直接拦掉
  request_permissions = false,
  skill_approval      = false   # skill 脚本执行要问
} }

开关四:execpolicy 规则 + 内联单元测试(最隐蔽的安全特性)

这是整篇里 99% 国内用户没听过的功能。你可以在配置层旁的 .codex/rules/ 目录里写命令规则,精确控制哪些命令能在沙箱外跑:

# 每次跑 `gh pr view` 前先问我
[[rules]]
pattern    = ["gh", "pr", "view"]
action     = "prompt"
justification = "查看 PR 需要批准"

# 这些是"内联单元测试",加载时校验规则是否真的命中
match    = ["gh pr view 7888", "gh pr view --repo openai/codex"]
not_match = ["gh pr --repo openai/codex view 7888"]   # pattern 必须是精确前缀

三个关键点让它比一般 allowlist 强:

  1. action 三档:allow(直接跑)/ prompt(每条问)/ block(直接拒)。多条规则命中时取最严格那条。
  2. match / not_match 是单元测试:规则一写错(比如正则没对上),加载阶段就报错,不用等真出事才发现。
  3. tree-sitter 拆分复合命令:这是最狠的一点。如果 Codex 想跑 bash -lc "git add . && rm -rf /",它不会把整串当成一条放行,而是用 tree-sitter 解析成两条命令分别评估,最严格结果胜出——git add 放行也没用,rm -rf / 那条会把它整体拦下来。等于堵死了"用安全命令走私危险命令"这条路。

开关五:/review 子命令——开 PR 前零成本自审

很多人不知道 Codex 自带一个只读 code reviewer。它读你的 diff、按优先级给可执行的修改建议,全程不碰工作树。

四种触发方式:

每次 /review 在 transcript 里都是独立一 turn——代码演进后你可以重跑对比,看建议有没有变化。


开关六:subagent 并行——大任务拆分,但要算清 token 账

Codex 支持 subagent workflow 把大任务拆给多个子 agent 并行干。但有个反常识的设定:它只有在你明确要求时才 spawn(比如直接说"用 subagent 并行处理这几个模块"),不会自作主张。

权衡要点:每个 subagent 各自独立调用模型和工具,token 消耗明显高于单 agent 跑同样的事。


开关七:把 Codex 当 CI 工人——exec / resume / cloud exec 三件套

这是把它从"聊天工具"升级为"自动化工人"的三个命令:

1. codex exec —— 非交互,可接脚本

codex exec "fix the CI failure"        # 跑完把最终 plan + 结果 pipe 回 stdout

最终输出能被 shell 接走,常见玩法:自动更新 changelog、给 issue 排序、PR 合并前跑编辑检查。

2. codex resume —— 续传,不丢上下文

codex resume                  # 弹出最近会话选择器(可看摘要)
codex resume --last           # 直接跳到当前目录最近那次
codex resume <SESSION_ID>     # 指定某次
codex resume --cd ../backend  # 续传时换个工作目录

续传保留原 transcript、plan history 和审批记录,你可以接着给新指令。本地会话存在 ~/.codex 下,断点续跑不用重喂上下文。

3. codex cloud exec —— 云端 best-of-N

codex cloud exec --env ENV_ID --attempts 3 "Summarize open bugs"

--attempts 1–4 让云端生成多条解;提交失败会非零退出,正好能塞进 CI/脚本判定成败。环境 ID 来自你的 Codex cloud 配置。注意:这一档走的是云端,才适合切到 API key 计价(见开关一)。

sequenceDiagram
    participant U as 你/CI
    participant L as 本地 Codex
    participant C as Codex Cloud
    U->>L: codex exec "fix CI"
    L-->>U: plan + 结果(stdout, 可接管道)
    U->>L: codex resume --last
    L-->>U: 恢复 transcript, 等新指令
    U->>C: codex cloud exec --attempts 3 "..."
    C-->>C: 并行生成 3 条解
    C-->>U: 返回最优 / 失败非零退出
    Note over U,C: 失败非零退出 → 直接接 CI 判定成败

开关八:省额度 + 省手指的隐藏配置与交互

最后这一组是"用了就回不去"的小开关:


信息差总结:你知道的 vs 别人不知道的

维度 大多数人以为 实际(信息差)
计费 必须买 API key ChatGPT 订阅登录直接吃额度,0 额外 API 费
安全 会问要不要执行 sandbox_mode × approval_policy 两层独立叠加
细控 一刀切问/不问 granular 按类别(rules/mcp/skill…)各自开关
规则 不知道有 .codex/rules/ + 内联单元测试 + tree-sitter 防走私
自审 手动让 AI 看 /review 四模式只读 reviewer,可重跑对比
并行 不会自动拆 subagent 显式触发,但更费 token
自动化 只能聊天 exec / resume / cloud exec 三件套可接 CI
额度 不知道哪里烧的 图片生成吃 3–5x 额度;环境变量默认脱敏会坑调试

行动指南(接下来你可以做什么)

  1. 今天就省钱:curl -fsSL https://chatgpt.com/codex/install.sh | sh,codex 选 Sign in with ChatGPT,把充值的 API 留给真正需要计费追踪的批量任务。
  2. 建一道安全网:在 ~/.codex/config.toml 配 sandbox_mode = "workspace-write",再在 .codex/rules/ 加一条把 npm test / pytest 设成 allow、把 rm 设成 block 的规则,用 match 单测校验。
  3. 卡 PR 质量门:下次提 PR 前先跑一次 /review 按本地分支自查,把"无障碍回归""并发安全"这类自定义措辞存成常用 prompt。
  4. 接进 CI:挑一个稳定任务(如"总结未关闭 bug")用 codex cloud exec --attempts 3 跑通,非零退出接 CI 判定。
  5. 避坑:批量出图前设环境变量走 API 计价;调试需要密钥环境变量时再开 ignore_default_excludes。

参考来源


本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入