Codex 入门到精通!不会编程,也能让 AI 自己干活:AGENTS.md + Git Worktree + MCP 实战
1. 零基础也能让 Codex 自己干活从打开项目到提交的完整链路Codex 是 OpenAI 推出的编码智能体能读懂整个项目、按你的指令改代码、跑测试、汇报结果。它和普通聊天式 AI 最大的区别在于它直接操作你本地的文件系统能读能写能执行命令。适合谁适合完全不会编程、但手头有真实项目要维护的人也适合想把自己从重复劳动里解放出来的开发者。你不需要背语法只需要把「要做什么、不能碰什么、做到什么程度算完成」讲清楚。我见过太多人卡在第一步装好了 Codex打开真实项目时手就开始抖。怕它乱改、怕它删文件、怕它把依赖升级到跑不起来。这篇教程只做一件事——把「打开项目 → 定义规则 → 隔离任务 → 扩展能力 → 验证结果」这条链路完整跑通。全程用可复制的配置和命令你跟着敲就行。核心工具组合是三个AGENTS.md给 Codex 立规矩Git Worktree让多个任务互不干扰MCP在需要时接入外部系统。这三个东西配合起来Codex 才能从「玩具」变成「能交付的助手」。下面按顺序拆开讲每一步都有可复制的片段和验证方法。先明确一个心态不要一上来就装一堆插件和 Skill。先拿一个能一眼看出结果的小问题练手比如按钮错位、文案写错、表格超出屏幕。跑通一个完整任务你自然知道自己缺什么。功能不是越多越好够用最重要。2. TaoToken 前置准备给 Codex 配好模型入口与密钥Codex 本身是客户端它需要一个模型服务来驱动。TaoToken 提供统一的 API 入口兼容 OpenAI 风格的调用方式你可以在一个地方管理密钥、切换模型、查看用量。对零基础用户来说这比自己去折腾多个平台的账号要省事得多。你需要准备三样东西Base URL、API Key、Model ID。这三件套是后面所有配置的基础缺一不可。Base URL 填https://taotoken.net/api注意这里不加任何查询参数。API Key 在控制台生成Model ID 根据你实际要用的模型填写。具体操作路径先访问官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册账号然后进入控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 创建 API Key。创建时给它起个能认出来的名字比如「codex-local」方便以后区分。生成后立刻复制保存页面刷新后就看不到了。如果你不确定该用哪个模型可以先到模型对话页面 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 试几句感受一下不同模型的响应风格。编码任务通常需要较强的推理能力选一个在代码场景下表现稳定的即可。密钥管理页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 随时可以回来查看或吊销。这里有个容易踩的坑很多人把 Key 直接写进代码文件然后提交到 Git这是大忌。正确做法是写进环境变量或本地配置文件并且把配置文件加进.gitignore。后面配置片段里我会标清楚哪些文件不能提交。3. 可复制配置AGENTS.md 模板 Worktree 命令 MCP 片段这一节是全文的核心所有片段都可以直接复制。先讲 AGENTS.md它是放在项目根目录的规则文件Codex 每次进入项目都会先读它。相当于给项目留了一份长期说明书下次继续工作时不用重新解释一遍。一个合格的 AGENTS.md 至少覆盖五件事目标、复现条件、修改范围、禁止事项、验收标准。下面是我实测下来比较通用的模板你可以按项目情况改# AGENTS.md ## 项目概览 - 技术栈React TypeScript Vite - 包管理器pnpm - 测试命令pnpm test - 构建命令pnpm build ## 工作规则 1. 修改前先阅读相关测试文件理解现有行为。 2. 不要擅自升级依赖版本不要改动 package.json 中的依赖声明。 3. 不要修改接口定义和数据库 schema除非任务明确要求。 4. 完成后必须运行现有测试并报告通过/失败数量。 5. 涉及 UI 改动时检查 375px 和 1440px 两个宽度下的表现。 ## 禁止事项 - 禁止大段删除原有代码如需重构先说明理由。 - 禁止提交任何包含密钥的文件。 - 禁止修改 .env、.env.local 等环境配置文件。 ## 验收标准 - 测试全部通过。 - 只修改与任务相关的文件。 - 最后列出改动文件清单、测试结果、未验证项。把这份文件放在项目根目录文件名就是AGENTS.md。Codex 会自动读取。你可以用一句话验证它有没有生效新开一个对话让它读完 AGENTS.md 后回答「现在要做什么、哪些不能做、下一步该做什么」。如果它能说清楚说明规则已经加载。接下来是 Git Worktree。它的作用是给另一个任务单独复制一套工作环境让 Codex 可以同时干活又不会影响你正在改的代码。前提是项目已经用 Git 管理。初始化命令如下# 确认当前在 Git 仓库中 git status # 创建一个新的工作区分支名为 feature/login-fix git worktree add ../myproject-login-fix -b feature/login-fix # 查看所有工作区 git worktree list # 进入新工作区 cd ../myproject-login-fix这样你就有了两套独立的环境原来的目录继续做你手上的事新目录交给 Codex 处理另一个任务。两个任务互不干扰改完各自提交。用完以后可以清理# 回到主目录 cd ../myproject # 移除工作区分支保留 git worktree remove ../myproject-login-fix最后是 MCP 配置。MCP 是 Model Context Protocol用来让 Codex 接入外部工具和系统。只有当你需要连接团队自己的服务时才考虑它。配置文件通常放在项目根目录或用户配置目录格式是 JSON。下面是一个通用片段{ mcpServers: { filesystem: { command: npx, args: [-y, modelcontextprotocol/server-filesystem, /path/to/allowed/dir] }, custom-api: { command: node, args: [./mcp-servers/custom-api.js], env: { API_BASE_URL: https://taotoken.net/api, API_KEY: ${TAOTOKEN_API_KEY} } } } }注意API_KEY用的是环境变量引用不要写死。filesystem这个 server 只允许访问指定目录避免 Codex 越界操作。配置改完重启 Codex 客户端生效。4. 验证请求从需求到提交的完整跑通步骤配置写好了怎么确认真的能用这一节给你一套可复制的验证流程。找一个能一眼看出结果的小问题比如登录页在 iPhone Safari 上唤起键盘后按钮被遮挡。按下面的步骤走。第一步打开项目权限先选「Ask for approval」。然后发一句只读指令先不要修改任何文件只读取项目规则、登录页相关代码和现有测试 告诉我最可能涉及哪些文件。如果它列出了页面入口、组件、样式文件、测试位置和可能原因说明它读懂了项目。如果连登录页在哪都没找到让它继续查别急着放开写权限。第二步把任务说清楚。不要只说「帮我修一下登录页」那样它可能顺手重构组件、升级依赖最后一个小问题牵出二十多个文件。正确的提示词长这样目标修复 iPhone Safari 唤起键盘后登录按钮被遮挡。 仅修改登录页相关文件不升级依赖、不改接口、不调整桌面端布局。 完成后运行现有测试并检查 375 像素和 1440 像素宽度下的页面。 最后列出改动文件、测试结果和未验证项。第三步等它回复「修复完成」后打开 Diff 检查。重点看三样有没有修改无关文件、有没有动依赖和配置、有没有大段删除原来的代码。遇到看不懂的修改直接问它「这里为什么要改有没有改动更少的方案」第四步让它跑测试然后你实际打开页面检查手机和电脑端。确认按钮正常、页面没有错位、没有新增报错而且只修改了必要文件。这一步不能省AI 说完成不等于真的可以交付。第五步把这次总结出的规则补进 AGENTS.md。比如「涉及 UI 改动必须检查移动端」下次就不用再交代一遍。长期项目还可以加两份记录STATUS.md写「现在做到哪、接下来做什么」CHANGELOG.md写「已经改了什么」。它们不是 Codex 要求的固定文件但能让你下次继续时不用重新解释整个项目。验证成功的标志很简单新开一个对话Codex 读完 AGENTS.md、STATUS.md、CHANGELOG.md 后能准确说出当前任务、禁止事项和下一步。做到这一步项目就具备了连续工作的基础。5. 常见报错排查401、local proxy failed、reading choices、OAuth配置过程中最容易卡在几个报错上。这一节按真实报错逐条对照给你可操作的排查方向。401 Unauthorized最常见的原因是 API Key 没填对或已失效。先检查三件套是否完整——Base URL 是https://taotoken.net/apiKey 是从控制台复制的最新值Model ID 拼写正确。如果 Key 里有多余空格或换行也会导致 401。建议把 Key 放进环境变量用${TAOTOKEN_API_KEY}引用避免手抄出错。改完重启客户端。local proxy failed这个报错通常出现在客户端尝试走本地代理但代理没起来的时候。检查你的配置文件里有没有多余的 proxy 设置把它删掉让请求直连 Base URL。如果你在环境变量里设了HTTP_PROXY或HTTPS_PROXY先临时清空再试。另外确认 Base URL 没有写成带路径的形式正确写法就是https://taotoken.net/api。reading choices 相关报错这类错误一般是响应格式不符合预期常见于 Model ID 填错或模型不支持当前调用方式。回到模型对话页面确认你要用的模型名称然后检查配置里的 Model ID 是否完全一致。如果用的是自定义 MCP server检查它返回的 JSON 结构是否符合协议要求字段名大小写敏感。OAuth 相关报错如果你用的是需要 OAuth 授权的客户端比如某些 IDE 插件报错通常意味着授权流程没走完或 token 过期。先退出登录清除本地缓存的凭证文件重新走一遍授权。注意 OAuth 回调地址要和客户端配置里的一致端口被占用也会导致失败。排查通用思路先确认三件套Base URL Key Model ID完整且正确再看网络请求是否直连最后检查客户端版本是否过旧。如果用了 CC Switch、Cline MCP 或 Codex 的auth.json确保这三件套在对应配置文件里都写全了。auth.json里通常长这样{ baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, model: your-model-id }改完任何配置都记得重启客户端很多「改了没生效」的问题都是没重启导致的。6. 长期编码与 Agent 场景把重复流程固化下来当你跑通了第一个任务接下来要考虑的是怎么让这套流程可持续。核心思路是把重复操作固化减少每次重新交代的成本。如果你经常做「读取规则 → 修改代码 → 运行测试 → 检查页面 → 汇报结果」这一套可以把它保存成固定流程。以后再改注册页、支付页直接调用不用每次重新写提示词。这就是 Skill 的用法。但记住顺序先跑通一个真实任务再考虑做 Skill。没跑通就做做出来的流程大概率是错的。需要连接 GitHub、网盘等外部服务时再安装对应插件。只有需要接入团队自己的工具和系统时才考虑 MCP。MCP 的配置片段在第 3 节已经给了按需增删 server 即可。不要一次性把所有 server 都加上出问题时很难定位是哪个引起的。对于长期编码和 Agent 类任务建议用 Coding Plan 来管理用量和模型选择入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。它能帮你把编码场景的调用单独规划避免和其他任务混在一起。如果你主要用 Claude 系列模型做编码Claude Code 的接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有针对性的配置说明。最后给一个实用建议每次任务结束后花两分钟更新 STATUS.md 和 CHANGELOG.md。这两份文件看起来不起眼但它们是项目能连续工作的关键。下次打开项目Codex 读完就知道上下文你也不用重新解释一遍。真正好用的 Codex不只是帮你写代码而是能把「找到问题 → 完成修改 → 自动检查 → 交付结果」完整跑通。做到这一步你才可以放心把更大的任务交给它。