
HoRain云小助手个人主页 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧让大家从底层了解C把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘一起解密网络协议在运行中协议的基本运行机制《docker容器精解篇》全面深入解析 docker 容器从基础到进阶涵盖原理、操作、实践案例助您精通 docker。《linux系列》本专栏主要撰写Linux干货内容从基础到进阶知识由抽象到简单通俗易懂帮你从新手小白到扫地僧。《python 系列》本专栏着重撰写Python相关的干货内容与编程技巧助力大家从底层去认识Python将更多复杂的知识由抽象转化为简单易懂的内容。《试题库》本专栏主要是发布一些考试和练习题库涵盖软考、HCIE、HRCE、CCNA等目录⛳️ 推荐专栏介绍一、用 AGENTS.md 给 Codex 写入职文档为什么需要它写什么内容配置的层级结构二、会话管理跨天延续大型任务问题背景基本用法实例什么时候该导出三、与 VS Code 集成安装与登录BYO 模式未订阅 ChatGPT 的用户四、CI/CD 集成Codex 在流水线里能做什么GitHub Actions 示例实例五、提示词技巧技巧一给出足够的上下文技巧二复杂任务分两步走实例技巧三用 ask 模式先摸清代码库实例技巧四用否定指令划定边界实例技巧五先要计划再开始执行小结完成基础安装和第一次对话之后Codex 真正的价值在于将其嵌入日常开发工作流。本文覆盖五个进阶方向项目配置、会话管理、编辑器集成、CI/CD 自动化和提示词技巧帮助你让 Codex 理解你的项目、记住你的约定、在流水线里自动干活。一、用 AGENTS.md 给 Codex 写入职文档AGENTS.md 是写给 Codex 的项目说明书放在项目根目录每次启动时自动加载整个会话期间持续生效。为什么需要它Codex 默认对你的项目一无所知。它不知道你用的是 App Router 还是 Pages Router不知道数据库操作要统一走哪个文件也不知道哪些文件是碰不得的。如果每次对话都要重新交代背景效率会非常低而且容易出错。AGENTS.md 让这些信息一次写入、持续生效省去重复交代的麻烦。写什么内容一份有效的 AGENTS.md 通常包含四类信息项目概述、技术栈、重要约定和禁止事项。以下是一个完整的示例# AGENTS.md ## 项目概述 这是一个基于 Next.js 14 Prisma PostgreSQL 的 SaaS 应用。 使用 App Router不使用 Pages Router。 ## 技术栈 - 前端Next.js 14, React 18, TailwindCSS, shadcn/ui - 后端Next.js API Routes, Prisma ORM - 数据库PostgreSQL 15 - 认证NextAuth.js ## 重要约定 - 所有数据库操作必须通过 lib/db.ts 中的 prisma 实例 - API 路由错误统一用 lib/api-error.ts 处理 - 环境变量在 .env.local 中参考 .env.example ## 禁止事项 - 不要修改 prisma/schema.prisma除非我明确要求 - 不要删除任何现有测试 - 生产环境的 .env 文件不要碰「禁止事项」这一节尤其重要。Codex 在执行任务时会主动推断哪些文件需要修改没有明确边界的情况下它可能动到你不希望它碰的地方。把红线写清楚比出问题后再补救要省事得多。配置的层级结构AGENTS.md 支持三层嵌套优先级从低到高排列。越靠近当前目录的文件优先级越高。同一目录下AGENTS.override.md 存在时同级的 AGENTS.md 会被跳过。层级路径作用范围优先级全局层~/.codex/AGENTS.md跨项目通用约定低项目层repo/AGENTS.md仓库级规范中覆写层repo/services/payments/AGENTS.override.md子目录特殊规则高全局层适合写那些在所有项目里都成立的约定例如# ~/.codex/AGENTS.md ## 全局约定 - 安装依赖时优先使用 pnpm - 修改 JavaScript 文件后始终运行 npm test - 新增生产依赖前先请求确认配置完成后可以用以下命令验证加载是否正确codex --ask-for-approval never Summarize the current instructions.二、会话管理跨天延续大型任务会话管理功能允许你把当前对话状态导出到文件下次直接恢复不需要重新铺垫背景。问题背景Codex 的上下文窗口是有限的。处理一个跨越多个文件、需要分阶段推进的大型任务时如果中途关掉终端或者切换到别的事情再回来时上下文就断了——Codex 不记得之前讨论过什么、做过哪些决策。导出会话可以解决这个问题让你在任意时间点恢复到之前的对话状态。基本用法以下是与会话管理相关的常用命令实例# 在对话中途随时导出当前会话/export session-2024-01-15.json# 下次继续时恢复/load session-2024-01-15.json# 直接恢复最近一次会话最常用codex resume --last# 查看所有已保存的会话ls ~/.codex/sessions/什么时候该导出不需要每次对话都导出。以下几种情况值得保存场景说明跨天进行的多阶段任务任务分多天进行且中间有明确的阶段划分保存后下次可以直接从上次断点继续重要的架构决策和 Codex 讨论出了一个重要的架构决策后续任务需要基于这个决策继续推进复杂的调试过程调试复杂 bug已经排除了若干方向不想下次从头再来三、与 VS Code 集成Codex 官方提供 VS Code 扩展安装后可以在编辑器内直接发起对话不用切换到终端。安装与登录安装步骤如下第一步打开扩展市场Cmd/Ctrl Shift X。第二步搜索「Codex」或「OpenAI Codex」安装官方插件。第三步首次使用需要登录 ChatGPT 账号。第四步侧边栏出现 Codex 图标后即可使用。安装完成后可以使用以下快捷键快速操作快捷键功能Alt G将选中代码发送到 Codex带上当前文件上下文Cmd Shift P打开命令面板输入 Codex 查看全部可用命令BYO 模式未订阅 ChatGPT 的用户如果你已经在 CLI 里配置了自己的 API KeyAnthropic、OpenAI 或其他兼容提供商可以用免费 ChatGPT 账号登录 VS Code 插件。插件会自动复用 CLI 的模型配置不强制使用 ChatGPT Plus。适用场景说明已有 API Key 但不想额外订阅 ChatGPT直接使用自己的 API Key无需额外付费订阅希望 VS Code 和 CLI 使用一致的模型插件自动复用 CLI 配置两端体验完全一致四、CI/CD 集成Codex CLI 支持以无头模式运行不需要人工交互适合接入自动化流程。Codex 在流水线里能做什么以下是无头模式下 Codex 在 CI/CD 中的常见用途用途说明典型触发时机自动更新 CHANGELOG每次合并主分支后自动根据提交记录更新 CHANGELOG.md合并到 main 分支后生成 API 文档根据代码变更自动生成或同步 API 文档代码推送后自动代码审查在 PR 流水线里自动跑代码审查并留下注释PR 创建或更新时GitHub Actions 示例以下工作流在每次推送到 main 分支时自动让 Codex 根据最新提交更新 CHANGELOG.md实例# 文件路径.github/workflows/codex-changelog.ymlname: Auto Update Changelogon:push:branches: [main]jobs:update-changelog:runs-on: ubuntu-lateststeps:- uses: actions/checkoutv4- name: Setup Node.jsuses: actions/setup-nodev4with:node-version: 22- name: Install Codex CLIrun: npm install -g openai/codex- name: Run Codex Taskenv:OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}CODEX_QUIET_MODE: 1run: |codex exec --full-auto 根据最新 commits 更新 CHANGELOG.md- name: Commit changesrun: |git config --local user.email actiongithub.comgit add CHANGELOG.mdgit commit -m chore: update changelog [skip ci]git push配置中有两个关键点需要特别注意配置项作用说明CODEX_QUIET_MODE: 1抑制交互式输出避免流水线因等待交互输入而卡住--full-auto无头模式运行让 Codex 在无人值守的情况下直接执行不等待确认在 CI 里使用时建议在项目根目录的 AGENTS.md 里明确限定 Codex 在自动模式下允许修改的文件范围防止因提示词理解偏差导致意外改动。五、提示词技巧Codex 的输出质量很大程度上取决于你怎么提问。以下五条技巧针对新用户最常遇到的问题每条都配有具体示例。技巧一给出足够的上下文Codex 没有读心术。「修复 bug」这种指令会让它瞎猜结果往往不是你想要的。以下是对比示例不推荐写法推荐写法「修复 bug」「用户登录时报错 TypeError: Cannot read properties of null报错发生在 src/auth/login.ts 第 42 行这个函数负责验证 JWT token帮我找出并修复这个问题」有效上下文包含三个要素要素说明示例具体现象报错信息或具体表现TypeError: Cannot read properties of null涉及位置文件和行号src/auth/login.ts 第 42 行代码职责这段代码原本的功能验证 JWT token技巧二复杂任务分两步走对改动范围较大的任务先让 Codex 分析和列出方案确认没问题再执行。一步到位看起来更快但遇到方向偏差时代价更大。实例# 第一步只分析不修改codex 分析 src/api/ 目录的代码质量列出主要问题不要修改任何文件# 第二步确认方案后再执行codex 好按你说的方案先处理错误处理问题其他的我来 review 后再说技巧三用 ask 模式先摸清代码库ask模式是只读模式适合在动手之前先理解现有代码的结构和逻辑。搞清楚再改比改完再回头理解要省时间。实例# ask 模式不会触发任何文件修改 codex -a ask 这个项目是如何处理用户认证的梳理完整的认证流程理解清楚后退出当前会话重新以可编辑模式启动# 可编辑模式需要确认 codex -a auto # 全自动执行谨慎使用 codex -a full-auto推荐工作流ask ↓ 理解代码结构 ↓ 确定修改方案 ↓ 重新启动 Codex ↓ 进入可编辑模式 ↓ 执行修改注意CLI 中已不再支持使用/approvals在运行过程中切换权限模式需要在启动时通过-a参数指定。桌面客户端仍支持会话内切换。技巧四用否定指令划定边界告诉 Codex 不要碰什么和告诉它要做什么同等重要。尤其是涉及多个相关文件的重构任务边界不清容易产生不必要的连带修改。实例# 明确划定不要修改的范围codex 重构 utils/date.ts 中的日期格式化函数不要修改函数签名不要改变测试文件技巧五先要计划再开始执行对于没有把握的任务先让 Codex 列出它打算怎么做。这一步几乎不花时间但能让你在早期发现方向偏差避免在错误路径上走太远。# 先要计划 codex 你打算怎么实现这个功能先列出步骤不要执行 # 确认计划合理后再推进 codex 计划没问题开始执行第一步小结这五个方向覆盖了从「项目配置」到「日常操作」再到「自动化」的完整路径。刚开始不需要全部用上建议按顺序来先写好 AGENTS.md 让 Codex 理解你的项目再逐步把它融入 VS Code 工作流和 CI/CD 流程。提示词技巧在日常使用中慢慢积累比一次性记住更有效。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧