Codex 轻量初始化
只建立能提高安全性、可执行性和验收质量的最小基线;不把个人模型偏好、插件清单、密钥、绝对路径或复杂工作流伪装成通用初始化。
选择模式
GLOBAL_SETUP:只在新装或重整 Codex 时执行一次
- 使用于全局
config.toml、globalAGENTS.md、profile 或客户端健康需要建立基线的场景。 - 执行
scripts/audit-codex-init.sh,先取得只读快照。脚本会原样调用codex doctor(运行时权限/健康信息)并另列配置文本;不联网、不写入、不读取配置中的密钥字段或转储完整环境。输出含本机路径、Doctor 摘要和 Git 状态,分享前先审阅。 - 变更前说明将修改的文件和理由;涉及更新 CLI、安装插件/MCP、认证、联网、提交、发布或放宽权限时,等待用户明确确认。
- 保留用户已有的有效配置;不因初始化删除 MCP、插件、
AGENTS.md、项目 trust 或历史偏好。
PROJECT_ONBOARDING:每个项目首次接入时执行一次轻量检查
- 不重做全局配置,也不复制全局
AGENTS.md。 - 只确认项目的运行时、包管理器/锁文件、最小验证命令、目录边界和验收条件;先实测,再把真实结果写入项目
AGENTS.md。 - 需要新建项目
AGENTS.md时只写项目事实,不复制 全局模板。
通用 global AGENTS.md
GLOBAL_SETUP中,若用户要求新建或替换通用 globalAGENTS.md,读取 global-agents-template.md。- 模板仅适合无既有全局规则的用户;它不包含人名、模型、MCP、插件、路径、项目命令或私人工作方式。
- 目标文件已经存在时,先比较并给出最小 diff;除非用户明确要求,不覆盖原文件。
六项最小基线
1. 先体检,再决定是否升级
- 运行
codex --version、codex doctor与codex --strict-config --help;记录 CLI 与 Desktop App 分别是什么版本,不能混称。 - 若版本落后,只报告版本和官方更新路径
codex update;不自动升级。先确认安装来源、更新影响与回滚条件。 - 用
codex doctor的运行时输出确认 approval/sandbox;配置文件文本只是补充快照,不能替代运行时证据。 - 若
doctor或严格配置检查失败,先修复该问题,再添加任何优化。
2. 默认最小权限,不默认“全自动”
- 交互式开发的推荐基线是
approval_policy = "on-request"与sandbox_mode = "workspace-write";审查使用read-onlyprofile。 - 可选地建立
review、dev、deep三个 profile:只为权限边界和推理强度服务,不改模型、不塞环境变量。 - 不把
never、danger-full-access、--dangerously-bypass-approvals-and-sandbox、自动安装插件或 MCP 当作初始化默认值。 - 仅对用户已检查且信任的项目设置
trust_level = "trusted";未知仓库先保持未信任。
3. 让 AGENTS.md 分层且短
- 全局
~/.codex/AGENTS.md只保存跨项目、长期有效的协作偏好、安全边界和工具路由。 - 项目根
AGENTS.md只保存项目事实:启动/测试/格式化命令、目录边界、验收条件和不可违反的约束。 - 把长教程、历史记录和偶发排障移到项目文档;
AGENTS.md只保留执行时需要的内容。不要复制粘贴同一规则到全局和项目两处。 - 如果用户同时使用 Claude Code,先确认其既有同步规范;不能仅写 Codex 私有记录。
4. 让项目可复现地启动
- 发现项目语言、包管理器、锁文件、版本声明和现有 CI;先读取,再执行安装。
- 记录一个已在本机跑通的最小验证命令(例如
test、lint、typecheck或项目自己的合同检查),并说明所需运行时版本。 - 不在初始化阶段替换包管理器、重写锁文件或安装“全家桶”依赖;缺失依赖时报告精确命令,获授权后执行。
5. 把请求写成可执行任务合同
- 每个非琐碎任务写清:目标、范围/不改什么、验收命令或人工验收点、交付物。
- 高风险、跨模块或目标含糊时,先调查并给计划;单文件、低风险任务直接实施。
- 模板是提示,不是流程工具。禁止为每个小修改建立 issue、分支、worktree 或复杂文档。
- 可复用提示:
目标:…;范围:…;不改:…;验收:…;交付:…。
6. 固定“实施—验证—交接”,不把口头结论当完成
- 先建立基线或复述目标和验证方式;实施后运行针对性验证和必要的人工检查。
- 报告实际改动、验证证据、未验证项和需要用户决定的外部动作。
- 代码变更至少审查 diff;失败不得静默忽略。最多做三次低风险针对性修复,再带着证据停下报告。
交付格式
输出下面四段,保持简短:
- 体检结论:通过、警告、阻断项。
- 拟做变更:文件、最小 diff、理由;未获授权的操作列为待确认。
- 验证证据:实际运行的命令与结果,不以推测替代。
- 使用方式:推荐 profile、项目首个任务提示和下一步人工决策。
反模式
❌ 把某台机器的模型、MCP、插件、trust_level 和绝对路径复制给所有人。
✅ 先体检;只建立安全权限、分层指令、可运行验证和可追溯交接四类基础。
❌ 以“提高效率”为由开启无审批、全盘写入或自动升级。
✅ 用 review profile 做调查和审查;开发用 dev,只有确实需要时用更高推理强度的 deep。
参考
- 需要查看依据或更新本 Skill 时,读取
references/sources.md。 - 出现冲突时,安全与配置语义以当前官方文档和本机
codex --help为准。