最后更新:2026 年 10 月 13 日
Codex 额度用完怎么办?用 ChatGPT 和 GitHub 继续开发
让 ChatGPT 负责理解仓库,把模糊需求变成实施包;让 Codex 负责把实施包落到真实仓库,运行测试、创建 Pull Request,并经过部署闸门。这个分工比让一个聊天窗口包办所有事情更可靠。
重要边界:ChatGPT 的 GitHub 应用主要用于读取、搜索和分析授权仓库,并不能通过这个只读连接直接推送代码或创建 PR。OpenAI 官方建议使用 Codex 生成、编辑并直接推送代码到 GitHub。
三者分工一眼看懂
| 工具 | 适合做什么 | 不要假设它能做什么 |
|---|---|---|
| ChatGPT + GitHub | 读取授权代码、搜索文件、解释架构、在对话中生成开发计划和代码草稿。 | 通过 ChatGPT 的只读 GitHub 应用把草稿直接推回 GitHub。 |
| GitHub | 保存真实代码和交接证据:Issue、分支、PR、Review、Checks 与部署工作流。 | 代替模型,或恢复 ChatGPT/Codex 额度。 |
| Codex | 实现改动、运行命令和测试、审查 diff、提交代码,并在有权限时推送 PR。 | 在没有项目凭据、权限和批准流程时直接部署 Production。 |
1. 只给 ChatGPT 授权需要的 GitHub 仓库
在 ChatGPT 中打开 Settings,在 Apps 或 Plugins 中找到 GitHub;不同产品界面的名称可能不同。开始连接后,跳转到 GitHub 安装或授权 ChatGPT GitHub 应用,然后选择它可以访问的账户/组织和仓库。
- 打开 ChatGPT 的 Settings → Apps/Plugins → GitHub。
- 跳转到 GitHub,授权 ChatGPT 应用,并选择正确的账户或组织。
- 在 GitHub 应用的仓库设置中,只选择目标仓库,例如 owner/project;如果组织要求审批,先请求管理员批准。
- 回到 ChatGPT,用一个只读请求验证:指定仓库名称和一个已知文件路径。
- 如果仓库没有出现,先检查 GitHub App 是否安装在正确账户/组织、是否选中了该仓库,不要盲目反复重连。
仓库:acme/storefront
只读验证:
“请在 acme/storefront 中查找结账流程入口,返回相关文件路径和每个文件的作用。不要修改任何内容。”GitHub 内容是按需读取的,连接并不代表创建了一个由管理员维护的同步索引。计划、工作区、组织策略和产品界面都会影响可用能力。
2. 让 ChatGPT 产出“实施包”,不要只问一句泛泛的问题
告诉 ChatGPT 准确的仓库、用户目标、限制和验收条件。先让它检查授权仓库,再输出另一个编码代理可以执行的计划。如果还需要代码草稿,只允许它针对点名文件生成 patch 或完整文件,不要让它凭空重写整个仓库。
你现在只负责分析和规划,不要修改 GitHub 仓库。
仓库:acme/storefront
目标:用户未登录时,结账页显示登录入口;已登录流程不变。
限制:只允许修改 src/checkout/ 和对应测试;保持现有 React/TypeScript 风格。
请输出:
1. 当前实现涉及的文件和调用链;
2. 最小实现计划;
3. 每个文件的具体改动;
4. 如有必要,给出精确 patch;
5. 回归风险;
6. 测试、构建和 Preview 验收命令;
7. 需要 Codex 继续确认的问题。3. 交给 Codex 前,先把 ChatGPT 结果保存到 GitHub
只读 GitHub 连接不能作为最终写入步骤。把确认后的计划复制到 GitHub Issue,或写进已有 Issue/PR 的评论。把验收条件、文件范围、代码草稿、未决问题和准确验证命令放在一起;这就是 Codex 要读取的交接对象。
- 一个 Issue 只对应一个用户可见结果,标题要短,方便在 Codex 提示词中引用。
- 把确认后的计划和代码 patch 粘贴到 Issue 正文或评论;删除 secrets 和无关代码。
- 写清禁止修改的内容、基线分支和证明成功的命令。
- ChatGPT 生成的代码先标为 draft,等 Codex 对照真实仓库和测试检查后再采用。
## Codex 交接
目标:[一个结果]
来源:ChatGPT 于 [日期] 的分析
范围内:[文件]
范围外:[文件/行为]
计划:[编号步骤]
代码草稿:[必要时粘贴]
验收:
- [检查 1]
- [检查 2]
验证:pnpm test --filter checkout
部署:只准备 Preview;Production 需要批准4. 在同一个仓库上打开 Codex,执行交接内容
在 Codex 中连接 GitHub 并选择仓库环境;如果使用本地 Codex,就打开本地 checkout。让 Codex 先读 Issue、检查真实文件,并在仓库与草稿不一致时指出差异。计划只是输入,不是要求它盲目套用每一行生成代码。
读取 GitHub Issue #123 作为本次任务说明。
先做:
1. 检查当前分支、工作区状态和项目说明;
2. 对照真实文件审计 Issue 中的计划和 patch;
3. 如果计划与仓库不一致,先报告差异,不要猜。
确认后:
4. 创建独立分支;
5. 只修改约定范围内的文件;
6. 添加或更新回归测试;
7. 运行测试、类型检查和构建;
8. 汇报 diff、验证结果和未解决问题;
9. 未经明确批准不要合并或部署 Production。5. 让 Codex 产出可审查的 PR,再通过部署闸门
Codex 最终应该产生一个小范围分支提交和关联 Issue 的 PR。PR 展示的必须是真实 diff 和 Checks,而不是重复 ChatGPT 的计划。Preview 可以由仓库已有 CI/CD 流程触发;Production 是单独的闸门,需要项目凭据、环境配置和明确的批准或合并规则。
- Codex 先运行最小相关测试,再运行项目的 typecheck/build。
- Codex 推送分支并创建或更新 PR;PR 记录改动文件、检查结果和剩余风险。
- 如果仓库配置了 CI/CD,等待它生成 Preview,并验证真实 Preview URL 和行为。
- 人工审查和项目发布规则通过后,才让改动进入 Production。
- 部署后验证公开路由,并把结果写回 PR 或 Issue。
不要只对 Codex 说“部署”。默认说“准备 Preview,然后停止”;成功的本地 build 或合并 PR 都不等于可以部署 Production。
最短可靠版本
- ChatGPT + GitHub:读取仓库并产出计划。
- 人工:把计划保存为 GitHub Issue 或 PR 评论。
- Codex:审计计划、修改真实代码、运行检查并推送 PR。
- CI/CD 或经批准的 Codex 操作:部署 Preview、验证,再单独发布 Production。
常见问题
ChatGPT 能把生成的代码直接写进 GitHub 仓库吗?
通过 OpenAI 所说的标准 ChatGPT GitHub 应用不能。该连接主要用于读取、搜索和分析仓库;直接生成、编辑、提交和推送应使用 Codex。
ChatGPT 会自动替我创建 GitHub Issue 吗?
不要假设一定可以。最稳定的流程是人工把确认后的计划复制到 Issue,再让 Codex 读取 Issue。具体写入操作取决于当前产品界面和权限。
Codex 可以自动部署 Production 吗?
只有当仓库、环境、凭据、权限和发布策略都明确允许时才可以。教程默认只准备 Preview,Production 需要单独批准。
如果 Codex 额度用完了怎么办?
只要 ChatGPT 自己的访问和额度仍可用,它可以继续做仓库分析;但不能通过只读 GitHub 应用替代 Codex 的写入和推送职责。请查看 Usage 页面,确认账户提供的是等待、credits、reset、升级还是其他选项。