☰
备份、插入、幂等更新一步到位:Codex-5.5-codex-instruct-5.5 的 config.toml 安全注入机制源码解析
2026/10/15 15:32:54 网站建设 项目流程

【免费下载链接】Codex-5.5-codex-instruct-5.5

Codex CLI 破甲工具(GPT-5.5) — 注入无限制模式系统指令,关闭所有内容过滤器。

项目地址:https://gitcode.com/gh_mirrors/cod/Codex-5.5-codex-instruct-5.5
点击查看免费下载

Codex-5.5-codex-instruct-5.5 是一款面向 Codex CLI(GPT-5.5)的破甲工具,核心功能是通过官方model_instructions_file配置项,把"无限制模式"系统指令安全地注入到config.toml中。整个工具就是一个 257 行的 Python 脚本 codex-instruct.py,但它在写入配置前会自动备份、写入时智能选位插入、重复运行时幂等更新——三步机制让配置文件始终处于可恢复状态。下面逐行拆解这套安全注入机制。

先搞懂它做了什么

一句话概括:把一份.md指令文件放进.codex目录,再让config.toml指向它。

  • 利用 Codex CLI 官方的model_instructions_file配置机制,不改二进制、不劫持网络
  • 自动扫描本机所有 Codex 安装(支持 Windows / Linux),一次部署全部
  • 内置 GPT-5.5 无限制指令(examples/gpt5.5-unrestricted.md),也可--file自带
  • 注入的 TOML 配置项只有一行:
model_instructions_file = "./gpt5.5-unrestricted.md"

运行方式非常简单:

python codex-instruct.py

重启 Codex 即生效。部署成功后用任意敏感问题验证:破甲前会被拒绝,破甲后直接给出方法论(见 README.md 中的验证章节)。

三步走:config.toml 安全注入机制

整个注入逻辑集中在 deploy() 主流程里,对每个扫描到的.codex目录依次执行三步:备份 → 写 MD → 改配置。下面按顺序解析。

第一步:先备份再动手,config.toml 自动备份机制

脚本在修改任何文件之前,都会先调用 backup_config() 生成一份带时间戳的副本:

ts = datetime.now().strftime("%Y%m%d_%H%M%S") backup = config_path.with_suffix(f".toml.bak_{ts}") shutil.copy2(config_path, backup)

三个细节值得注意:

设计代码位置作用
时间戳命名config.toml.bak_20250101_120000L109多次运行不会互相覆盖,每次修改都有独立快照
使用shutil.copy2而非copyL111连文件的修改时间、权限等元数据一并保留
备份发生在任何写入之前L206即使后续步骤出错,原始配置也完好无损

这就是"后悔药":出了问题,把.bak_时间戳文件复制回去即可还原。

第二步:智能选位插入,model_instructions_file 插入在 model 行之后

真正修改配置的是 ensure_model_instructions()。它不会粗暴地把配置追加到文件末尾,而是优先插在model = "xxx"那一行的正下方(L142-L158):

if stripped.startswith("model ") and "=" in stripped: insert_after = i break

为什么选这个位置?因为model_instructions_file和model同属"模型行为"配置,放在model行之后既符合 TOML 的阅读习惯,也方便日后人工核对。如果文件里连model行都没有(比如全新配置),它会退化为追加到文件末尾(L154-L156),保证任何情况下都能成功写入。

注意脚本是按行处理的文本操作,而不是解析 TOML——它只动目标行,其余内容一个字符都不碰,最大限度地降低了破坏现有配置的风险。

第三步:幂等更新,重复执行一万次也不怕

这是整个机制最精髓的部分。ensure_model_instructions() 在写入前先做存在性判断,分三种情况处理:

当前状态脚本行为代码位置
配置项不存在智能插入新行L142-L158
配置项已存在,但值不同(比如你以前指向别的文件)原地更新为新值,不产生重复行L124-L140
配置项已存在且值相同什么都不做,直接跳过L132-L134

关键判断只有两行:

if "model_instructions_file" in content: # 已存在 → 走更新分支 ... if line.strip() != target_line: # 值不同才算"做了修改" modified = True

返回值changed会反映到终端输出上:要么提示"已添加",要么明确告诉你"已存在且值相同,跳过"(L214-L218)。

所谓幂等,就是无论运行几次,结果都一样——不会出现model_instructions_file重复三行的灾难现场。这也是为什么 README 里敢直接让你反复执行python codex-instruct.py。

它是怎么找到你的 .codex 目录的

find_codex_dirs() 负责自动定位所有 Codex 安装,策略分三层:

  1. 系统目录扫描
    • Windows:扫USERPROFILE、LOCALAPPDATA\OpenAI\Codex,还会遍历 C/D/E 盘下的Users目录(L59-L76)
    • Linux/macOS:扫用户主目录、/home、/root(L77-L79)
    • 每个根目录下用 glob 匹配深度 1~2 层的.codex,且必须包含config.toml才算数(L87-L93)
  2. 环境变量兜底:如果你设置了CODEX_HOME,直接采信(L98-L102)
  3. 手动指定:--codex-dir完全跳过扫描,直接指向指定目录(L242-L251)

找不到任何安装时脚本会明确报错并提示手动指定方式(L178-L181),而不是静默失败。扫描结果还会用set去重并排序,避免同一目录被部署两次(L81、L104)。

参数速查表

参数说明适用场景
--file,-f使用外部.md指令文件想换成自己的 prompt
--name,-n自定义输出文件名(不含.md),默认gpt5.5-unrestricted多套指令共存
--dry-run预览模式,只打印将要做的修改,不实际动文件第一次使用先确认
--codex-dir手动指定.codex目录,跳过自动扫描自动扫描失效时

建议第一次使用先跑一遍预览:

python codex-instruct.py --dry-run

dry-run 分支 会逐个列出每个目标目录、即将写入的 MD 路径和配置项,看完满意再去掉参数正式执行。

还原方法:如何一键恢复原始 config.toml

得益于第一步的自动备份,还原只需要两件事:

  1. 删除config.toml中的model_instructions_file行(或直接恢复config.toml.bak_时间戳备份文件)
  2. 删除~/.codex/gpt5.5-unrestricted.md,重启 Codex

备份文件就躺在原目录里,ls一下就能看到所有历史快照。

总结

Codex-5.5-codex-instruct-5.5 用最少的代码量实现了工程上很扎实的"安全注入"范式:

  • 🛡️先备份:时间戳快照 +copy2,改坏了随时回滚
  • 🎯智能插入:优先锚定model行,按行操作不破坏其他配置
  • 🔁幂等更新:存在则更新、相同则跳过,重复执行零副作用
  • 🔍多路定位:系统扫描 +CODEX_HOME+--codex-dir三级兜底

这套"备份—插入—幂等"的模式对任何需要修改配置文件的小工具都是很好的参考。项目遵循 MIT 协议(LICENSE),基于官方配置机制工作,不改二进制、不劫持网络。请知悉:无限制模式会移除内容过滤,请仅在自己的环境和授权范围内使用,风险自负。

【免费下载链接】Codex-5.5-codex-instruct-5.5

Codex CLI 破甲工具(GPT-5.5) — 注入无限制模式系统指令,关闭所有内容过滤器。

项目地址:https://gitcode.com/gh_mirrors/cod/Codex-5.5-codex-instruct-5.5
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询