先看结论
Codex++ 仓库已归档;新需求先用受支持的官方扩展,旧安装先确认改动和恢复条件,不靠反复打补丁维持关键工作。
维护状态:这是历史项目
项目 GitHub 页面显示仓库于 2026-08-15 归档并只读。v1.0.0 发布页把它称为本地 tweak/runtime 层的首个稳定版,但这不构成对归档后客户端的支持保证。适合研究旧实现或处理已有安装,不适合作为新手的默认扩展方案。
- 使用旧代码前需要确认具体 commit、操作系统、应用版本和恢复手段,不能只写“最新版”。
- 历史 SECURITY 文档仍有 alpha 阶段维护措辞;不要据此推断归档后还会获得安全更新。
先走官方扩展
官方扩展不要求把 Codex++ 注入应用。它们仍可能执行代码或访问服务,目录收录不代表无需审查。
- 在当前支持的 ChatGPT/Codex 桌面或网页 Plugins 入口查看能力包;Codex CLI 使用 /plugins。先阅读来源、包含内容及权限,不直接批准连接外部服务。
- 仅需重复执行某套说明时,先设计一个 instruction-only Skill,即不包含脚本的流程说明;它仍是指导,不是系统隔离。
- 审阅 Plugin 的连接器、MCP(让模型调用外部工具的协议)和 Hook(特定事件触发的代码)。安装后新开会话,认证与工具审批分别确认。
- 先用虚构资料做一次小任务。API Key 登录的 Plugin 支持范围与订阅登录可能不同;以官方入口显示的能力为准。卸载 Plugin 也不等于自动断开相关连接器。
按需求选扩展方式
| 需要完成的事 | 优先路径 | 应检查什么 |
|---|
| 重复使用三步文档审查规则 | 本地 Skill | 指令范围、是否带脚本、输出格式 |
| 为团队安装流程与服务连接 | 官方 Plugin | 来源、连接器认证、工具审批和数据去向 |
| 研究旧桌面 UI 注入机制 | 只读学习 Codex++ 源码 | 固定版本、加载进程、恢复条件 |
| 让现有坏掉的补丁环境恢复可用 | 停用或退出补丁方案 | 实际启动路径、备份版本和 watcher 状态 |
应用文件与加载链发生了什么
- 历史实现修改 app.asar 入口以加载 loader,再从用户目录加载 runtime 与 tweaks;这不是单独增加一份提示词文件。
- macOS 路线涉及应用资源完整性信息与重新签名。不同文档对默认签名方式说法不一致,不能照一条“默认安全”的结论处理系统警告。
- 旧 Windows Store 路线使用可写应用副本与单独启动器;改动目标不是原受保护目录。
- watcher 会参与更新后的重新打补丁。暂停一个 tweak、停止 watcher、恢复官方应用是不同动作,不要混为一次恢复。
识别已有安装的目录
以下是项目 README 描述的历史默认位置,用于在本机定位,不是要求收集或上传完整目录。存在 Linux 数据路径不等于证明对应桌面版本受支持。
| 平台或内容 | 历史默认位置 |
|---|
| macOS 数据根目录 | ~/Library/Application Support/codex-plusplus/ |
| Windows 数据根目录 | %APPDATA%/codex-plusplus/ |
| Windows Store 可写应用副本 | %LOCALAPPDATA%/codex-plusplus/store-apps/ |
| Linux 数据根目录 | $XDG_DATA_HOME/codex-plusplus/;未设置时 ~/.local/share/codex-plusplus/ |
| 根目录中的运行时、扩展、扩展数据 | runtime/、tweaks/、tweak-data/ |
| 根目录中的日志与备份 | log/、backup/ |
不要只凭扩展名称判断风险
快捷键、界面美化、终端增强和浏览器增强只是用途名称,不是权限等级。renderer 在 preload 上下文运行;“只改 UI”不代表代码被关在无权限沙箱中。
- 阅读入口文件、依赖、网络目标、文件访问、进程启动和自动更新逻辑,而不是只看商店介绍。
- scope 明确写 renderer、main 或 both。详细 manifest 文档指出,省略 scope 的现有加载行为可能进入两侧,不能沿用“默认 renderer”的假设。
- permissions 中有部分原生桥接能力受到运行时检查,但声明列表不是对所有本地代码的全面安全隔离。
审阅第三方代码的最小清单
- 确认仓库所有者、固定 commit 和实际下载内容一致;本项目与 OpenAI 无官方隶属关系。
- 看入口、依赖和安装器是否修改应用、读取文件、访问网络或启动进程;逐项接受必要权限,不给全盘或全局放行。
- 确认资料使用范围和恢复路径。单独工作区或新建用户不自动等于系统级隔离;公司受管设备先遵守组织策略。
- 看到签名警告、来源变化或未知二进制时停止;不要为了完成试验执行远程脚本管道、--force 或关闭系统保护。
不安装补丁也能完成的源码练习
这是纸面代码审阅,不是已运行的插件。新建两个普通文本文件即可;不把它们放入实际 tweaks 目录、不运行 dev 或入口文件。示例仓库名为虚构占位符。
- 将下面 manifest 保存为练习用 manifest.json,将下一节代码保存为 index.js。
- 检查 main 是否指向 index.js,scope 是否明确为 renderer,四个必填字段是否齐全。
- 静态阅读 start:它只注册设置页,并把固定文本交给 root.textContent;检查代码中没有联网、读取文件或启动命令。
- 参考结论应为“声明 renderer、入口 index.js、启动时注册页面,预期展示 Hello from the review demo.”。这证明你读懂了示例,不证明它兼容某个当前客户端。
{
"id": "com.example.codexpp-review-demo",
"name": "Review Demo",
"version": "0.1.0",
"githubRepo": "example-owner/codexpp-review-demo",
"description": "Fictional source-review exercise; do not install.",
"scope": "renderer",
"permissions": ["settings"],
"main": "index.js"
}
入口示例:注册页面,不执行外部操作
项目 Writing Tweaks 使用 start(api) 和 stop() 生命周期;设置页方法为 api.settings.registerPage。这里没有监听器、定时器或额外进程;实际扩展若创建这些资源,需要在停止时清理。
- validate-tweak 用于检查扩展结构;dev 会把本地扩展接入运行环境,不是纯文本检查。归档项目的开发试跑应另做版本与权限评估。
- 结构验证通过不等于代码安全、启动成功或适配当前 UI。
module.exports = {
start(api) {
api.settings.registerPage({
id: "main",
title: api.manifest.name,
render(root) {
root.textContent = "Hello from the review demo.";
}
});
},
stop() {}
};
固定 commit 能说明什么
项目分发文档描述:Store 条目固定经审阅的 commit SHA,安装时核对下载的 manifest;固定版本有助于定位实际代码,但不等于 OpenAI 审核或安全保证。
Goal 不需要靠 Codex++ 才存在
OpenAI 已提供 /goal 的官方说明,用于持续朝可验证目标推进;实际入口与开关取决于客户端支持。历史 Goal tweak 的界面用途不能当作官方命令的来源。
- 需要目标工作流时先查官方手册和当前客户端帮助,不通过修改应用解锁。
- 长任务仍会消耗模型用量,并可能执行获准的工具。为任务设置停止条件与人工确认点,不用“持续运行”绕过审批。
按证据选择最小恢复
| 现象 | 先区分 | 最小动作与检查 |
|---|
| Tweaks 菜单不见 | loader 未加载,或设置界面结构已改变 | 不继续安装更多扩展;核对版本与本地状态,不能仅凭菜单推定停用 |
| 单个扩展后异常 | 扩展代码问题,或整个补丁不兼容 | 先 safe-mode;分别检查启动与加载状态 |
| 损坏或签名报错 | 应用资源、签名或系统来源检查 | 停止强制修补,保留资料后恢复可信官方应用 |
| 升级后重复修补失败 | 官方更新与 watcher 反复修改 | 停止叠加 repair,按版本对应卸载/恢复路径退出补丁方案 |
| Windows 观察不一致 | 原版与可写副本的快捷方式不同 | 核对启动目标;不改受保护目录 |
适合谁看
- 已有 Codex++ 安装,升级后无法启动或看不到 Tweaks。
- 想复用工作流、连接服务或修改界面,尚未分清三种扩展方式。
- 希望阅读 tweak 源码,了解桌面补丁的加载机制,而不是把它当官方功能。
操作步骤
- 先写清需求:重复使用一套说明选 Skill;安装组合能力或连接服务看官方 Plugin;只有改桌面界面才涉及本项目的历史研究。
- 新使用者按“先走官方扩展”一节选择受支持入口,不为学习本文而安装 Codex++。已有安装者先保存工作、正常退出相关应用,记录应用版本、操作系统和扩展版本,不收集账号凭据。
- 检查来源、安装路径和启动器,并在本地保留必要的 tweak 源码与自有资料。备份中可能有会话、日志或私密配置,不上传全文;不要覆盖已有备份。
- 只需要判断单个 tweak 是否引起异常时,在可信的已有 CLI 上按命令示例的暂停分支执行 safe-mode;它修改加载状态,不等于恢复官方应用文件。
- 要退出整个补丁方案,先核对安装版本的卸载说明和备份兼容性,再选择普通 uninstall。若备份与当前应用版本不一致或恢复失败,停止强制修补,从官方渠道重新取得受支持客户端。
- 验收分三项:实际打开的是预期官方应用;启动与正常退出不再报错;扩展加载状态与预期一致。已有 watcher、连接器或独立工具也要分别确认,不能只看菜单是否消失。
命令与示例
仅供已有、来源可信且版本已核对的 codexplusplus CLI 使用。
状态查询:
codexplusplus status
这是项目 README 提供的状态入口。只在本机查看;不粘贴完整路径、配置或日志。
诊断名称不能证明绝对只读;doctor/debug 的实现与输出范围应按所装版本另行审阅。
修改操作:每次只选一个分支,不整段执行。
暂停全部 tweaks(保留文件):
codexplusplus safe-mode
退出补丁方案(先确认备份和版本):
codexplusplus uninstall
只有故障已定位、代码已复核且决定重新启用时,才考虑:
codexplusplus safe-mode --off
不要把 uninstall --purge 用作普通修复;它会删除用户数据和备份。
需要解决的问题
- 应用更新后扩展菜单消失,但不能据此认定扩展代码已经停止加载。
- 出现应用损坏、签名或启动错误;尚不清楚是官方客户端、补丁还是单个 tweak 引起。
- 在 Windows 上启动了原版或可写副本中的另一份应用,观察结果不一致。
先理解这些
- tweak 是修改应用行为的本地代码。Codex++ 通过注入 loader(加载入口),让运行时在应用启动时加载这些代码;它不是 OpenAI 官方 Plugin。
- 归档意味着仓库处于只读状态,不能把旧发布页上的“稳定版”当成后续兼容性或安全维护承诺。
- 界面选择器、应用资源和签名都可能受客户端更新影响。菜单不见、某次启动成功或一次诊断通过,都不足以证明环境已恢复。
遇到困难时
- safe-mode 后仍有启动错误:不要据此断言账号或模型出问题;停用 tweak 不会撤销应用补丁,转向恢复官方客户端。
- 系统提示签名、损坏或来源风险:不关闭防护、不移除隔离标记、不强行重签来掩盖警告;保留工作后走可信恢复渠道。
- Windows 恢复后仍打开旧副本:逐一核对快捷方式目标,不凭应用名称判断;不要手改受保护的 Store 安装目录。
- 卸载备份过期或恢复失败:不要强制覆盖新版应用,也不要先 purge 仅存备份;保留必要资料后重装官方客户端。
- 需要排错协助:只提供操作系统、应用与扩展版本、经脱敏的错误名称及发生阶段,不提交完整配置、历史会话或日志。