当天目标:给 Codex 接上 MCP 外部工具,在真实场景里吃掉一件重复活,并搞懂成本机制。
Codex 的稀缺价值在"造工具"和"吃重复活",不在"代写内容"
Codex 最值钱的活是:把你要手动做的、重复的工程动作自动化掉——批量改文件名、生成 CRUD 代码、跑测试、提 PR、整理 Issue。所以第 5 天就一件事:用 Codex 把你每周 X 小时的重复活吃掉。
接 MCP:让 Codex 能碰外部系统
MCP(Model Context Protocol)是让 Codex 调用外部工具(数据库、API、飞书、Playwright 浏览器等)的标准协议。配在 ~/.codex/config.toml 或项目级。
STDIO 型(本地命令启动,最常见):
toml
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"] # 需本机有 Node;没装 playwright 先 npm i -g playwright,或换成你已装好的 MCP
# 工具级审批:四档 auto / prompt / writes / approve
# writes = 只读工具免审批,写/创建/删除类触发审批(推荐默认)
[mcp_servers.playwright]
default_tools_approval_mode = "writes"
# 单个工具覆盖:这个工具每次问你
[mcp_servers.playwright.tools.browser_navigate]
approval_mode = "prompt"Streamable HTTP 型(远程服务):
toml
[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
default_tools_approval_mode = "prompt"要点:
- 四档审批:
auto(静默全批)、prompt(每次问你)、writes(只读免审、写操作弹审批,v0.144.0 起推荐默认)、approve(除非预批准否则拦截)。破坏性操作在所有档都需审批。 - 工具级 + 服务级:先用
default_tools_approval_mode定全局,再用[mcp_servers.x.tools.t] approval_mode单个覆盖。 - OAuth:远程 MCP 的认证在 v0.144.0 起 GA,跑
codex mcp login启动登录;mcp_oauth_callback_port可固定回调端口。别把 token 明文写进 config。 - 其他旋钮:
startup_timeout_sec(默认 10)、tool_timeout_sec(默认 60)、enabled_tools/disabled_tools、required(启不来就启动失败)。 - 查当前接了哪些:桌面端用
/mcp;CLI 用codex status看概况。
一个常见误解:有人以为 MCP 配置也像 Skill 那样"前 512 字符当索引"——那是 Skill 渐进披露(2% / 8000 字符)的预算,MCP server 的
instructions前 512 字符要自成一体。两回事,别混。
场景组:挑一个今天就能吃掉的重复活
下面每个场景都给完整提示词骨架(Goal / Context / Constraints / Done when),你照着填自己的项目:
场景 A · 批量重构
Goal:把
src/下所有var改成const,未重新赋值的。 Context:src/是 TS 项目,strict 模式。 Constraints:不动*.test.ts;每文件单独提交。 Done when:tsc --noEmit通过,且git diff --stat只含预期文件,CI 绿。
场景 B · 生成 CRUD + 测试
Goal:给
User实体生成 RESTful 接口 + 单元测试。 Context:用仓库现有services/模式(见 AGENTS.md)。 Constraints:不引入新依赖;沿用现有错误处理。 Done when:npm test全绿,且新增接口在/docs里有记录。
场景 C · 整理 Issue / 周报
Goal:读本周 GitHub Issues,生成一份按优先级排序的周报。 Context:仓库地址、本周时间范围。 Constraints:只列 open 状态;不改动任何 Issue。 Done when:产出 markdown 周报,且未对任何 Issue 执行写操作(用 Read-only 沙箱跑)。
场景 D · 端到端(从空目录到可验收的产物)
Goal:从空仓库做出一个能跑、能测、能提交的最小 Node 小程序。 Context:空目录
dev/Projects/hello-codex,已git init。 Constraints:只用一个文件;不引第三方依赖。 Done when:node index.js输出 "hello from codex";node test.js断言通过;git log有一条提交。
场景 E · 浏览器自动化(Playwright MCP)
这一条把 Codex 从"改你本地文件"升级到"真去开浏览器、真去点按钮"——价值大,危险也大。前面 Day 5 开头那段 Playwright MCP 配置就是为它准备的:接好后 Codex 能打开网页、登录、点击、截图、读页面结构。
Goal:用 Playwright 打开后台登录页,用测试账号登录,进"订单列表",把前 20 条订单逐个点"导出",确认都下载成功。 Context:Playwright MCP 已按本天配置接好,导航类工具(如 browser_navigate)设为
prompt审批(见上方四档表)。环境是 staging,不是生产。 Constraints:只在 staging 跑;不写任何生产数据;登录凭据从环境变量读,不写进提示词。 Done when:20 次导出都生成了文件、文件名含订单号;产出一份export-result.md记录每条结果;全程没有走到生产域名。
为什么单独拎出来讲:浏览器一旦被打开,Codex 就等于能下单、能发帖、能转账。它"跑通了"不代表"做对了"——点错一个选择器,可能把测试单下到生产。所以相关工具必须走 prompt 而不是 auto,沙箱别放开到能碰你别的账号。
场景 F · 接飞书(把产出自动发到群 / 写进表格)
Codex 的价值不只在你电脑里。把它接到你的协作工具,就能把"生成的东西"自动送到该去的地方——前提是发之前拦一道。
Goal:每天早 9 点,把昨天合入的 GitHub PR 标题和链接汇总,发到"发布同步"飞书群,同时写进团队的发布记录多维表格。 Context:你已装好飞书 CLI(lark-cli)并登录,或接了飞书 MCP;GitHub token 放在环境变量。 Constraints:只发"已合入"的 PR;不改动任何仓库文件;群名和表格 ID 写进 AGENTS.md,不写进提示词。 Done when:群里收到一条含日期和 PR 列表的消息、表格新增一行;命令退出码为 0;没有把草稿 PR 误发进去。
这条最常见的坑:Codex 跑通"发消息"不代表"发对了"。它可能在凌晨把一条还没 review 的 PR 当成已合入发出去,或者发错群。所以"往外发"的动作审批要拦一道(writes 或 approve,别 auto);更稳的做法是让它先把拟发内容写到本地文件、你过一眼再发(定时怎么配见 Day 6)。
挑一个离你最近的,今天就用四要素下给它,跑通。
成本机制:钱到底烧在哪
这是被教程集体跳过、但你最该懂的一块。
- 消耗的是"额度/credits",不是"次数"。一次任务烧多少,取决于它读了多少上下文、跑了多少轮工具调用、模型档位多高。
- 套餐决定上限:ChatGPT Plus / Pro / 团队版各挡额度不同(具体数字以你当天套餐页为准,别人晒的截图会过期,别当真);用 API key 是按 token 实时结算。
- 推理档位(reasoning effort)直接挂钩成本:档越高单次越贵但质量越高;具体档名和配置写法以你当天
codex --help/ 官方文档为准,别把档位焊死。 - 推理档位怎么选(档名以当天
codex --help为准,别焊死):日常改字符串、格式化用低档;常规改动用中档;跨文件重构、调试升到高档;长程 agentic 任务才上 Extra High。原则就一句——用刚好够的最低档,档越高越贵但越稳。 - 算不清成本就谈不上"省":你授权它消耗的每次 token、每分额度,都是你买回来的时间。用
codex status看用量,定期回看"我花了多少、省了多少小时"。
第一性原理回扣:工具价值 = 决策质量 × 上下文质量。成本机制提醒你——上下文越厚(AGENTS.md 写得好)、指令越准(Done when 写得清),单次消耗的轮数越少,单位时间成本越低。写清楚约定,本身就是省钱。
三个锦囊
- MCP 工具级审批今天就必须配,别全开。
writes是稳妥默认,高危工具单独prompt/approve。 - 今天挑一个场景跑通,用完整四要素。别"看懂了"就过,动手才有体感。
- 成本只看机制 + 用
codex status看自己用量,别人晒的数字会过期,不采信。
自测标尺(用动作验证)
- [ ] 你给自己配了一个 MCP server,且
default_tools_approval_mode设的是writes(不是全开)。 - [ ] 你用四要素跑通了至少一个真实场景,且对照 Done when 验收过。
- [ ] 你能讲清成本机制(额度非次数、档位挂钩、套餐定上限)。
- [ ] 你跑过
codex status看过自己的用量。
效率日志
| 任务 | 手动做要几分钟 | Codex 做+你验收几分钟 | 打回几次 |
|---|---|---|---|
| 场景(如批量重构) | ___ | ___ | ___ |
