mcpField
L
local-codex

local-codex

github.com/daymadeAgent 工作流1.5k342 次安装今天更新
代码仓库

关于 local-codex

用于把编码任务委派给本地 OpenAI Codex CLI Agent 的技能,支持执行代码生成、审查和登录状态检查。通过 ChatGPT OAuth 认证,并提供可配置的安全沙箱选项。

主要功能

  1. 01委派代码生成、重构和审查
  2. 02检测并选择 Codex CLI 可执行文件
  3. 03检查缓存的登录状态
  4. 04支持单次执行和会话恢复

适用场景

  1. 01通过 Codex 生成或重构代码
  2. 02在只读沙箱中审查代码
  3. 03运行非交互式编码任务
  4. 04检查 Codex 登录状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/daymade/claude-code-skills --skill local-codex

安装后在 Claude Code 中输入/local-codex确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
oauth-guide.md
scripts/
codex_wrapper.py
test_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:

  1. CODEX_BIN 环境变量(如果已设置)——显式覆盖。若路径不可执行,将明确报错, 而不是悄悄回退到另一个构建版本(否则,封装程序测量的结果将无法归因)。
  2. which codex——封装进程的 PATH 中排在最前的可执行文件,包括通过 nvm 安装的 npm 全局版本(~/.nvm/versions/node/*/bin/codex)。此查找不会执行交互式 shell 的 别名或函数。
  3. /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;请检查生效的配置。不要在提示词中放入凭据。
  • 大型文件操作可能需要延长超时时间

评论

支持 Markdown