关于 local-codex
用于把编码任务委派给本地 OpenAI Codex CLI Agent 的技能,支持执行代码生成、审查和登录状态检查。通过 ChatGPT OAuth 认证,并提供可配置的安全沙箱选项。
主要功能
- 01委派代码生成、重构和审查
- 02检测并选择 Codex CLI 可执行文件
- 03检查缓存的登录状态
- 04支持单次执行和会话恢复
适用场景
- 01通过 Codex 生成或重构代码
- 02在只读沙箱中审查代码
- 03运行非交互式编码任务
- 04检查 Codex 登录状态
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ daymade/ claude-code-skills --skill local-codex安装后在 Claude Code 中输入/local-codex确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/oauth-guide.mdscripts/codex_wrapper.pytest_codex_wrapper.py详细介绍
本地 Codex
使用已授权 ChatGPT 账号的 OAuth 访问权限,将编码任务委派给本地 OpenAI Codex CLI Agent。
适用场景
- 用户想通过 Codex 生成、重构或审查代码
- 用户想运行
codex exec执行非交互式任务 - 用户想使用 Codex 的 GPT-5.5 Agent 能力
- 用户提到“codex”“运行 codex”或“委派给 codex”
身份验证(ChatGPT OAuth)
重要:通过选定的凭据存储使用 ChatGPT OAuth。此工作流中不要设置 OPENAI_API_KEY 或传递 API 密钥。 身份验证路径须与账号的额度及额外 Credit 政策分开;OAuth 并不保证长时间运行的任务不会消耗额外 Credit。
- 确认实际的
CODEX_HOME和凭据存储;桌面应用和 CLI 可以共享凭据。 - 登录、切换账号或恢复令牌之前,请阅读 OAuth 指南,并遵循其中的恢复方案。独立授权应使用全新的空存储;明确授权的单所有者转移应予以保留;并分别验证实际访问权限和现有进程是否已采用新凭据。
- 执行原生命令查询额度之前,请阅读刷新令牌的所有权;名义上只读的查询也可能刷新凭据。
- 如需依据额度在另一个已授权账号上继续执行,在进行大量任务之前,请使用已用额度检查;缓存的登录信息或新建的默认文件不能代替此检查。
Codex CLI 路径
此技能按以下顺序自动检测 Codex CLI:
CODEX_BIN环境变量(如果已设置)——显式覆盖。若路径不可执行,将明确报错, 而不是悄悄回退到另一个构建版本(否则,封装程序测量的结果将无法归因)。which codex——封装进程的 PATH 中排在最前的可执行文件,包括通过 nvm 安装的 npm 全局版本(~/.nvm/versions/node/*/bin/codex)。此查找不会执行交互式 shell 的 别名或函数。/Applications/ChatGPT.app/Contents/Resources/codex——ChatGPT.app 内附带的版本, 仅作回退选项。它的版本与桌面应用同步,可能与 npm 构建版本不同,因此特意将其列在最后。
如果设置了无效的 CODEX_BIN,封装程序将以状态码 1 退出,并返回
{"error": "CODEX_BIN not executable", "path": <value>}——错误信息中包含无效值;
此情况下不会输出 searched_paths(因为没有执行其他搜索步骤)。如果 PATH 和应用包中都没有 codex,封装程序将以状态码 1 退出,并在 searched_paths 中列出实际的搜索顺序。
无论最终使用哪个二进制文件,都应通过对实际运行的二进制文件执行版本查询来确认其行为。无关 shell 中的 codex --version 可能会解析到另一个入口;如果最终回退使用的是应用内附带的版本,那么引用该结果就会对应到错误的构建版本。请使用封装程序状态输出中的 codex_path 字段:
"<codex_path from status output>" --version
使用此封装程序之前,请先确认用户常用的 CLI 入口。如果该入口是 shell 函数或启动器,且会提供网络/身份验证上下文,请通过所属 shell 调用它,不要悄悄替换成检测到的二进制文件。在 macOS zsh 上,可使用 /bin/zsh -lic 'command -v codex; codex --version' 检查,然后在相同的 shell 模式中运行 codex。有限时长的超时应作用于 shell 进程:gtimeout … codex 会解析可执行文件,无法调用 shell 函数。附带的 Python 封装程序不会复现 shell 初始化过程,也不支持所有原生标志;需要这些能力时,请直接调用原生 CLI。
使用模式
1. 基本 exec(单项任务)
python3 scripts/codex_wrapper.py exec "<prompt>" [<workdir>] [<model>] [<sandbox>] [<timeout>]
示例:
python3 scripts/codex_wrapper.py exec \
"Write a Python function to calculate fibonacci" \
/tmp \
gpt-5.5 \
workspace-write \
300
2. 代码审查
python3 scripts/codex_wrapper.py review [<workdir>] [<model>] [uncommitted:true] [<timeout>]
示例:
python3 scripts/codex_wrapper.py review \
/path/to/repo \
gpt-5.5 \
true \
300
3. 检查缓存的登录信息
python3 scripts/codex_wrapper.py status
请使用缓存登录信息检查解读此结果。 如需执行已授权账号的实际访问检查,请遵循该指南中的验证流程。
参数和结果
命令参数、默认值和 JSON 字段由
scripts/codex_wrapper.py 中的 main()、
exec_codex()、review_codex() 和 check_auth_status() 定义。请使用这些定义,
而不是另建参数或输出字段表。
安全注意事项
- 对于分析/审查任务,使用
sandbox=read-only(不写入文件) - 对于代码生成,使用
sandbox=workspace-write(写入工作目录) - 仅在明确需要时使用
sandbox=danger-full-access(完全系统访问权限) - 在 git 仓库之外运行时,始终使用
--skip-git-repo-check - 对于一次性任务,使用
--ephemeral(不保留会话)
会话管理
对于多步骤任务,Codex 支持恢复会话:
# First step
codex exec --json "Step 1..."
# Later, use the session ID reported by that first invocation:
codex exec resume "${CODEX_SESSION_ID:?Set the session ID from the first invocation}" "Step 2..."
该封装程序目前运行单次 exec。对于多步骤工作流,请使用原始 codex exec 命令。
临时调用不会保留会话以供之后恢复。
仅在确认最近记录的会话就是目标会话后,才使用 --last。
限制
- 远程登录可以通过另一台机器上的浏览器进行设备授权;请遵循 OAuth 指南,而不是要求远程主机上安装桌面应用。
- 使用所选二进制文件的诊断功能前,请先检查
doctor --help;如果支持,请使用完整报告查看端点/修复方案详情,而不是使用--summary。请解读未通过的检查,而不只是汇总退出代码,并阅读输出的 JSON 架构,不要假定其键与旧版本构建相同。 - Shell 环境继承遵循所选构建的
shell_environment_policy;请检查生效的配置。不要在提示词中放入凭据。 - 大型文件操作可能需要延长超时时间