<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>教程 on Codexer</title><link>https://codexer.com/categories/%E6%95%99%E7%A8%8B/</link><description>Recent content in 教程 on Codexer</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 12 May 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://codexer.com/categories/%E6%95%99%E7%A8%8B/index.xml" rel="self" type="application/rss+xml"/><item><title>Codex CLI 高手之道：从第一周踩坑到第二周起飞</title><link>https://codexer.com/posts/2026-05-12-codex-cli-workflow-mastery/</link><pubDate>Tue, 12 May 2026 10:00:00 +0800</pubDate><guid>https://codexer.com/posts/2026-05-12-codex-cli-workflow-mastery/</guid><description>&lt;h2 id="两个开发者同一把刀"&gt;两个开发者，同一把刀&lt;/h2&gt;
&lt;p&gt;想象两个场景。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;场景 A&lt;/strong&gt;：小王装了 Codex CLI，兴奋地敲下第一个命令。他花了半小时调试 Prompt，终于让它改了一个文件。第二天又花了二十分钟重新描述项目背景，因为上次的会话上下文丢了。一周下来，他觉得&amp;quot;AI 编程好像也就那样&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;场景 B&lt;/strong&gt;：老张也装了 Codex CLI。他先用十五分钟写了一个 30 行的 AGENTS.md，然后开了三个 worktree，让 Codex 同时跑着三个任务。任务间隙他去喝了杯咖啡，回来后发现 Codex 已经把单元测试修好了。下午他 &lt;code&gt;/goal&lt;/code&gt; 存了一个探索性任务，第二天早上 &lt;code&gt;codex resume --last&lt;/code&gt; 接着干，连背景都不用重讲。&lt;/p&gt;
&lt;p&gt;同样的工具，天壤之别的体验。&lt;/p&gt;
&lt;p&gt;这，就是 Codex CLI 的真相：&lt;strong&gt;你花在配置上的前两个小时，决定了你后面两百个小时的效率。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一个改变一切的文件agentsmd"&gt;一个改变一切的文件：AGENTS.md&lt;/h2&gt;
&lt;p&gt;如果你只从本文带走一件事，那就是这个：&lt;strong&gt;在项目根目录写一个 AGENTS.md&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Codex CLI 在每次会话启动时都会读这个文件。Claude Code 也会读（它读的是 CLAUDE.md——你可以把其中一个软链接到另一个）。把 AGENTS.md 当成&lt;strong&gt;活文档&lt;/strong&gt;来维护：每一次你纠正了 Codex 两次以上的行为，就应该变成一条规则写进去。&lt;/p&gt;
&lt;p&gt;一个能打的 AGENTS.md 长这样：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# AGENTS.md
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## 技术栈
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Python 3.12, FastAPI, SQLAlchemy 2.x async
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; pytest + anyio，不用 unittest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Ruff 做 lint，Black 格式化，mypy --strict
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## 不要做
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 不要写&amp;#34;复述代码&amp;#34;的注释
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 不要 import unittest.mock — 用 pytest fixtures
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 不要在 src/legacy/ 下创建新文件
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 运行 alembic upgrade 之前必须先跟我确认
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## 要做
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 每个新文件顶部加 &lt;span style="color:#e6db74"&gt;`from __future__ import annotations`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 改完代码后跑 &lt;span style="color:#e6db74"&gt;`make test path=&amp;lt;文件&amp;gt;`&lt;/span&gt; 而不是全量测试
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 新 API 端点统一放在 src/api/v2/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;三条黄金法则：&lt;/p&gt;</description></item><item><title>让 AI 住进你的终端：Codex CLI 上手指南</title><link>https://codexer.com/posts/codex-cli-guide/</link><pubDate>Tue, 12 May 2026 01:00:00 +0800</pubDate><guid>https://codexer.com/posts/codex-cli-guide/</guid><description>&lt;h2 id="一扇新的大门"&gt;一扇新的大门&lt;/h2&gt;
&lt;p&gt;想象这样一个场景：你盯着终端，脑子里有个功能想要实现，但还没想好怎么动手。你敲下一句话描述需求，然后——一个 AI 在你的电脑上开始工作。它翻看项目文件，理解代码结构，写出实现，甚至帮你跑测试。&lt;/p&gt;
&lt;p&gt;这不是科幻。&lt;strong&gt;Codex CLI&lt;/strong&gt; 把这个场景变成了日常。&lt;/p&gt;
&lt;p&gt;今年早些时候，OpenAI 悄无声息地开源了一个重磅项目：一个能在你本地终端里运行的 AI 编程助手。它不是云端服务，不是浏览器插件，而是一个实实在在的命令行工具——安装后，它就能直接读你的代码、写你的文件、执行你的命令。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="它到底是什么"&gt;它到底是什么？&lt;/h2&gt;
&lt;p&gt;简单说，Codex CLI 是一个&lt;strong&gt;本地运行的编码智能体（Coding Agent）&lt;/strong&gt;。和你在网页上跟 ChatGPT 聊天不同，它直接住在你的电脑里。&lt;/p&gt;
&lt;p&gt;它能做什么？&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📖 &lt;strong&gt;读懂你的项目&lt;/strong&gt;：自动扫描目录结构，理解代码之间的关系&lt;/li&gt;
&lt;li&gt;✍️ &lt;strong&gt;帮你写代码&lt;/strong&gt;：根据自然语言描述生成、修改、重构代码&lt;/li&gt;
&lt;li&gt;🔧 &lt;strong&gt;操作文件系统&lt;/strong&gt;：创建文件、移动目录、改配置&lt;/li&gt;
&lt;li&gt;🧪 &lt;strong&gt;跑命令和测试&lt;/strong&gt;：在终端里执行命令，看结果，根据结果调整&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;沙箱模式&lt;/strong&gt;：危险操作先在隔离环境里试，确认没问题再放行&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;用一句话概括：&lt;strong&gt;它是一个能动手的 AI，不只是动嘴。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="三步开箱"&gt;三步开箱&lt;/h2&gt;
&lt;p&gt;安装过程出乎意料地简单。不管你用哪个系统，基本就是一行命令的事：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 如果你用 npm（跨平台）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install -g @openai/codex
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 或者 macOS 用户用 Homebrew&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install --cask codex
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;装完后敲 &lt;code&gt;codex&lt;/code&gt;，选择登录方式就行。最方便的是直接用 ChatGPT 账号——Plus、Pro 甚至免费额度都能用。如果你有 API Key，也支持。&lt;/p&gt;
&lt;p&gt;启动后会进入一个交互界面，你可以直接打字告诉它你要做什么，它会一步步执行，每一步都让你确认。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="不只是终端"&gt;不只是终端&lt;/h2&gt;
&lt;p&gt;Codex 的野心显然不止于命令行。同一个工具，有四张面孔：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;形态&lt;/th&gt;
 &lt;th&gt;怎么用&lt;/th&gt;
 &lt;th&gt;适合谁&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;CLI&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;终端里敲 &lt;code&gt;codex&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;后端开发、DevOps、脚本小子&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;IDE 插件&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;VS Code / Cursor / Windsurf&lt;/td&gt;
 &lt;td&gt;日常写代码的开发者&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;桌面应用&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;终端里敲 &lt;code&gt;codex app&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;喜欢 GUI 的用户&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Web 版&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;chatgpt.com/codex&lt;/td&gt;
 &lt;td&gt;不想装任何东西，直接用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;同一个账号、同一套能力，随便切。这种&amp;quot;一次登录，处处可用&amp;quot;的设计，是它和市面上其他 AI 编程工具拉开差距的地方。&lt;/p&gt;</description></item></channel></rss>