惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog
Stack Overflow Blog
Stack Overflow Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
M
MIT News - Artificial intelligence
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
WordPress大学
WordPress大学
博客园_首页
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Visual Studio Blog
L
LINUX DO - 最新话题
S
Security @ Cisco Blogs
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Help Net Security
Help Net Security
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
The GitHub Blog
The GitHub Blog
Schneier on Security
Schneier on Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
Jina AI
Jina AI
雷峰网
雷峰网
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
V
V2EX
N
News and Events Feed by Topic
V2EX - 技术
V2EX - 技术
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
P
Proofpoint News Feed
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
O
OpenAI News
P
Proofpoint News Feed
H
Help Net Security
S
Securelist
Vercel News
Vercel News
Hacker News: Ask HN
Hacker News: Ask HN
博客园 - 三生石上(FineUI控件)

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
从 cursor 、 Claude code 迁移到 codex,30 分钟快速上手 codex 常用技巧
听风是风 · 2026-05-17 · via 博客园_首页

一、背景

之前公司一直使用的 cursor 和 Claude code,但因为 cursor 企业订阅后续取消了 request 计费模式,无论是个人还是企业用户都是按量计费,导致现在 20$ 最多也只能用一天;而 Claude code 也因为 IP 变动频繁造成封号,最终采购了 codex,本文也是基于之前使用 cursor 和 Claude code 习惯,帮助大家快速将 AI 相关配置迁移过来。

二、Claude code 快速迁移

codex 对于 Claude code 专门做了配置入口,我们可以在 设置 -- 常规 -- 从其它 AI 应用导入工作内容,选择导入后支持将 Claude code 的 skill、插件、agent.md 以及最近 30 天的聊天记录直接迁移过来;未来是否会支持 cursor 暂不确定,cursor 的迁移暂时得手动处理。

图1

三、从 cursor 视角完成迁移

3.1 配置账号级别指令 (全局指令)

codex 的指令效果和 cursor 的 rule 作用类型,它的作用是告知 AI 在问答时必须遵循的规则,它可能是项目规范,细化到某个技术的要求等等,我们可以直接在 设置 -- 个性化 -- 自定义指令 添加你希望 codex 遵循的个人规则,这里分享下我的规则。

## 1. 编码前先确认

不要私自假设。先说明假设、权衡和不确定点;有争议时由我决策。
如果我要求先讨论方案,不要修改代码,直到方案确认无疑问后再开始实现。

## 2. 最小改动

只用解决问题所需的最少代码。不添加投机性功能,不为单次使用建立抽象。
只改必须改的地方,不顺手优化、重构或改动无关代码,保持现有风格。

## 3. 分步执行

复杂任务先确认技术方案,再按步骤执行;每完成一步先汇报并等待确认后继续。
简单任务可自主迭代,直到验证通过。

## 4. 优先参考现有实现

实现前先找现有业务或模块作为参考,尽量复用已有模式;不明确时先问我。

这个执行会在 codex 会话启动时自动注入到上下文中,所以一般不推荐这个文件包含过多复杂的指令;俗话说的好,指令越多那就等于没指定,所以一般这里存放你希望跨项目且 codex 必须遵守的重要指令。

另外,以上执行的修改等同于修改 ~/.codex/AGENTS.md,修改方式不同,但本质是同一个文件。

3.2 配置项目级别指令

顾名思义,这个 rule 只会在对应项目上下文提问时,自动注入到对话上下文,codex 的做法和 Claude code 相同,我们只用在项目根路径新建 AGENTS.md 文件即可,比如 codex 在修改这个项目时必须遵守的技术规范等等。

而我们 notta 项目是一个 monorepo 仓库,因此也不适合项目根路径创建一个 AGENT.md,合适的做法是在不同项目创建属于它自己的项目级别指令,比如:

图2

3.3 配置项目级别 Skills

Skills 简单理解就是给 AI 阅读的 sop 文档,我们可以将工作中重复性高预期明确的事情封装成 skills,具体 skill 如何写这里不展开,最简单的方式是使用 skill creator 的系统级别 skill 来让 AI 创建。

之前 cursor 的 skill 都在 .cursor/skills 目录下,将 cursor 的 skills 迁移过来非常简单,我们只用将 .cursor 改成 .agents即可,skills 目录不用做任何修改,之后重启 codex 即可,如图:

图3

图4

3.4 个人级别 skills

与指令相同,skills 也支持配置个人(账号)级别,这种 skill 无论在哪个项目都可以生效,它的目录如下,与项目级别存放地址不同:

// 个人级别
~/.codex/skills/notta-figma
~/.codex/skills/notta-i18n
~/.codex/skills/notta-spec

// 项目级别
.agents/skills/notta-figma/SKILL.md
.agents/skills/notta-i18n/SKILL.md
.agents/skills/notta-less-guard/SKILL.md

3.5 配置 MCP

如果我们将 codex 理解一个内置大模型的 AI 黑盒,MCP 的作用就是让这个盒子能和外界通信,比如阅读 Google doc 文档,拉取 linear bug 信息;codex 配置 mcp 也很简单,在 设置 -- MCP 服务器 可添加和编辑 mcp,比如我非常喜欢 kiro 的 spec 工作流,所以添加了如下配置,如图:

图5

其中工作目录决定这个 MCP 的作用范围,比如截图是 codex 根路径,那就是个人级别 MCP,如果需要对特定项目生效,再次增加项目路径即可。

3.6 开启记忆 memories

与 cursor 、Claude code 一样,codex 同样支持开启 memories,我们可以在 设置 -- 个性化 -- 记忆 -- 启动记忆,之后 codex 会在和你日常沟通中自动提取重要的记忆,记忆是账号级别,也就是跨项目跨对话。

codex 的 memories 类似一个外置的 RAG,比如某个话题之前 AI 犯错过,但对你非常重要,一般 AI 会主动记录记忆,那么下次相同问题讨论 AI 会主动接入记忆避免犯错。

如果你希望迁移 cursor 的 memories,最简单的方式让 codex 阅读 cursor memories 后直接写入自身的记忆文件,一般情况我们不需要手动维护 memories,记忆记录在 ~/.codex/memories 目录下。

3.7 使用 codex 插件

简单来说,插件是 skill、mcp 和 rule 的集合体,比如 linear 插件,它内置了访问 linear 的 mcp,也提前定义了一些处理 linear 的一些 skill 或者指令;比如我们做前端开发阅读让 AI 阅读 figma 设计稿就需要配置 figma mcp,但更简单的办法是直接安装 codex figma 插件,这样 mcp 以及一些 skill 直接会内置,配置上更为简单。

我们能在 codex 左上角的插件中找到你可能需要的插件,点击安装即可。

四、一些 codex 小技巧

4.1 给予 codex 更高权限

默认情况下,codex 使用默认权限,一般项目的修改,读取 codex 自动会帮你完成,但在一些删除以及一些越权操作,codex 会主动询问你,但如果你希望 codex 自动完成所有事情,不要提问,可以考虑使用完全访问权限,但一般不太推荐,万一删了什么你不知情就很麻烦。

图6

4.2 配置项目快捷命令

我们 codex 右上角可以配置一些快捷项目脚本命令,比如快速启动本地服务等等,添加标题描述,项目命令,后续点击启动 codex 会唤醒终端执行命令,这一点还是挺便捷的。

图7

4.3 使用 codex 内置浏览器

使用项目启动本地项目后,我们可以使用 command + shift + b唤醒内置浏览器能力,然后手动输入地址就能在 codex 里直接访问项目;比较智能的是,如果你本地已经起了服务,这里也会展示项目,点击后就能访问。

图8

更强大的是,我们能开启注释能力,然后直接选择 dom 后输入 prompt ,直接和 codex 对话,这对于 UI bug 修复和缩小问题会非常方便,codex 能直接拿到 dom 信息以及文本信息,对于代码定位会更加精确。

图9

4.4 使用 worktree 隔离代码作用域,同时处理多个任务

正常情况下,如果你有多个不相干的问题,你完全可以对于同个项目新开多个对话,然后分别提问,此时 codex 等同于用多个脑子帮你干活,但多个对话的代码改动会相互影响,在做 review 以及你理解代码变动其实没那么方便。

而 worktree 的作用是基于代码分支作为一个起点,开启多个分支副本(大家起点一模一样),且大家的修改相互不影响,也相互不可见,但你能在任务做完将变动一一合并到目标分支(当然可能会有代码冲突)。

我们可以新建一个对话,然后选择新工作树,选择你需要的目标起点分支开始对话即可,此时代码区将会产生一个副本,且不影响你目前主分支,你的所有修改都在这个工作树。

图10

简单理解,多对话窗口隔离的是对话上下文;worktree 隔离的是代码工作区。

主目录:
/Users/echo/code/notta_monorepo

工作树 A:
/Users/echo/.codex/worktrees/.../notta_monorepo-xxx

4.5 配置 subagent

Subagent 是治理对话上下文过大变的腐烂的一个方案,举个例子,你希望 AI 同时帮你修复 3 个 bug,但如果在同一对话中进行,本身 3 个互不相关的 bug 的对话信息会糅合在一起,造成上下文目标变得不清晰;而更合理的做法是,主线程调用 3 个 subagent 分别处理 bug,最终修复后分别总结信息告知主线程,主线程负责调度和最终对话汇报,bug 信息被三个隔离的 subagent 独立完成。

codex 支持项目级别和个人级别的 subagent 配置,如下:

// 项目级别
.codex/agents/code-mapper.toml

// 个人级别
~/.codex/agents/code-mapper.toml

需要注意,codex 的 skills 是在项目根路径直接新建一个 .agents 目录,而 subagent 是需要在项目根路径新建一个 .codex 目录,然后在此目录下再新建 agents 目录,创建一个 subagent 最简单的方式同样是让 AI 帮你创建。

需要注意的是,codex 的 subagent 需要你显式告知 AI 调用,它做不到像 skill 那样自动理解按需调用。

比如我们配置产品经理、开发、设计师、测试四个 subagent,然后定义一个 notta-feature-development 的 skill,在 skill 中定义何时调用这些 subagent:

当用户说“按完整研发流程做这个需求”或显式调用 `$notta-feature-development` 时:
1. 先调用 product subagent 梳理需求边界
2. 再调用 design subagent 检查 UI/交互方案
3. 再调用 developer subagent 做实现影响分析
4. 最后调用 qa subagent 产出测试范围
5. 主 agent 汇总结论并等待用户确认

之后启动这个 skill,AI 就知晓这个需求开发流中,什么阶段应该调用哪个 subagent 了。

4.6 使用引导,在不打断对话的情况下额外补充对话信息

这是一个非常常见的场景,比如你给了 codex 一个任务,但做了三分之二你发现目标跟你的理解有偏差,你希望及时纠正 AI,此时可以不结束对话,而是直接补充信息后回车发送,然后点击 引导

图11

此时 AI 对话不会中断,而是将你补充的信息即可补充到上下文中,及时纠正 AI 行为。

4.7 使用 /goal 目标驱动 codex 完成长任务

/goal 是一个目标驱动的能力,给 codex 一个目标,之后 codex 会在开发,验证,循环中不断尝试,直到最终达到目标,在此之前不会停下。

如果要使用它,需要修改配置文件,在 ~/.codex/config.toml 中增加 goals = true ,这个修改行为让 AI 完成即可。

但我个人并不太推荐这个模式,如果是做个人项目,给一个目标后等结果即可,过程也不需要太操心;但对于需求开发,需求过程其实经常会存在变动或者不稳定定,所以我还是推荐 spec 模式来推进生产需求开发,毕竟 AI 无法背责,背责的是我们人类。