跳转到文档正文
Codex Skin

Codex 皮肤安全与兼容

了解主题包边界、Helper 与官方 Codex 身份校验、失败回滚,以及 Codex 更新后的兼容处理

Codex Skin 是独立第三方项目,并非 OpenAI 产品。它通过范围受限的本地事务修改 ChatGPT 桌面应用中受支持的 Codex 界面,不会改动官方安装包,也不声称控制 Chat、Work、网页版、CLI 或 IDE 扩展。

本页解释面向用户的信任边界。组件与事务的技术设计请查看系统架构

产品作用范围

当前 Paid Alpha 支持 macOS 与 Windows。两个平台分别验证,不能用一端的结果替代另一端证据。

皮肤只负责已经验证的 Home、对话与 composer 区域。原生 Sites、Scheduled、Plugins、设置与右侧工具区域会继续使用匹配的官方 light 或 dark palette。Helper 会在应用固定皮肤规则前重新识别当前 route,不会因为 Codex 复用了容器,就把原生工具页当作聊天页。

Codex Skin 不会编辑 Codex .appapp.asar、WindowsApps 包、官方代码签名或其他系统保护安装路径。

组件之间如何建立信任

用户路径由不同部分组成:

部分负责内容
网站主题目录、登录、设备批准、结账、账户与主题交付授权
插件识别受支持任务,独立保留六位 ID,调用固定 wrapper 并解释结构化结果
Bootstrap选择固定发布版本,完成校验与自检,再原子激活外部 Helper
Helper执行一次有限 Apply、Switch、Status 或 Restore 事务,然后退出
主题包为一套已发布皮肤提供声明过的结构化数据与本地图片

公开插件仓库包含 MIT License 下的插件、Skills、wrappers、Helper、Bootstrap、Restorer、允许公开的合同、测试与发布文档。网站源码、客户数据、私钥、Production 配置、商业主题包、源 artwork、权利记录与未发布资产继续保留在 Private。

这条分界很实际:主题包不能重新定义签名 Helper 可以做什么。

主题包只包含数据与图片

已发布主题包含版本化白名单字段,以及声明过的本地 PNG、JPEG 或 WebP 资源。进入 staging 前,引擎会核对 manifest、文件清单、路径、MIME、大小限制、包 digest 与 detached signature。

主题包不能提供:

  • 任意 CSS 或 JavaScript
  • Shell 或 PowerShell 命令
  • 自带 selector 或 adapter 代码
  • 远程执行 URL
  • 路径穿越、符号链接或未声明文件

固定实现位于签名 Helper 中,由它使用允许的数据来完成换肤。主题包 data-only 不等于本机完全不运行代码,而是目录内容不能把自己变成可执行程序。

Helper 供应链

插件会固定 release-tagged Bootstrap launcher 及其平台 SHA-256。Bootstrap 只接受固定的公开 GitHub Releases 来源,核对签名 descriptor、平台、文件大小、SHA-256 与 Helper 自检,再原子更新外部 current pointer。

descriptor 使用 Ed25519,并绑定预期 Helper binaries。签名、平台、大小、hash、发布 profile、自检或激活结果不一致时,候选版本不会成为 current。激活失败后,之前验证过的 Helper 与 recovery engine 仍然保留。

当前 Production Paid Alpha 报告 Plugin 0.1.0-paid-alpha、Helper .17、Bootstrap .16https://codexskin.ai。它通过 GitHub prerelease 分发,并非 stable/latest。

Paid Alpha 的 Apple Developer ID/notarization 与 Windows 公开代码签名属于上线后优先事项,因此操作系统可能显示 Gatekeeper 或 SmartScreen 提示。Codex Skin 不会要求移除安全属性、关闭 Gatekeeper 或 Defender,也不会伪装 Publisher。

官方 Codex 身份与 loopback

熟悉的进程名或一个可访问端口并不足够。主题操作前,Helper 会核对官方 Codex 应用身份、当前进程与 profile、loopback CDP listener,以及固定 adapter 所需的 renderer 结构与能力。

受控会话只通过 127.0.0.1 等 loopback 地址连接,不会开放通用网络控制入口。进程身份、profile、listener 或所需界面无法确认时,操作会 fail closed。

这些检查不依赖单一精确版本白名单。未见过的版本在身份、能力与 marker 都通过时可以继续;已经登记过的版本如果当前检查失败,仍然会停止。

事务与回滚

Apply 与 Switch 使用下面的事务:

validate -> stage -> backup -> apply -> verify -> commit

renderer 修改发生在 validate 与 stage 之后。第一次 Apply 会把准确的 systemlightdark 选择与相关代码主题设置保存在插件 cache 之外。Helper 只对验证过的当前窗口应用皮肤,目标主题完成可见确认后才提交。

主题包校验失败时,新内容不会进入 renderer。Apply 或最终验证失败时,事务会回滚皮肤与已修改的原生外观。回滚无法确认时,Helper 会返回稳定失败并停止,不会报告成功,也不会猜测当前状态。

离线 Restore是独立恢复边界。它位于可替换插件 cache 之外,不依赖网络、登录、当前访问权、Node 或工作正常的插件 cache。

隐私边界

产品合同禁止采集或上传提示词、对话、代码、项目文件、本地绝对路径、Token、Cookie 与截图。Access Token 只保留在内存中,Refresh credential 使用 macOS Keychain 或 Windows Credential Manager,不写入普通状态文件。

为了交付、支持或付款访问,最小服务记录可以包含用户、设备、主题、版本、时间、结果与必要字节数。公开 Issue 不应包含账户、付款、提示词、源码或本地路径信息,账户与订单问题请使用联系页面

兼容性如何判断

兼容性分三步判断:

  1. 身份检查确认目标是受支持的官方 Codex 进程,并且使用同一用户 profile
  2. 能力与 marker 检查确认当前 renderer 拥有固定 adapter 所需界面
  3. Apply 后验证核对当前窗口中的目标 ID、marker、artwork、palette、route scope 与可读结果

即使普通功能仍然正常,Codex 更新也可能改变内部界面。固定合同缺失或有歧义时,新的 Apply 与 Switch 会安全停止。Codex Skin 不会猜本地化文字去点击,也不会注入半套皮肤来假装兼容。

当前主题包与恢复点会留在本地。即使新的 Apply 无法证明兼容,Restore 仍然可用。

平台路径与系统提示

Paid Alpha 的产品范围覆盖受支持 macOS 系统与 Windows x64。两个平台可以选择不同执行路径,但主题包、身份、事务、验证与 Restore 边界相同。

  • macOS 的可信跨模式切换优先使用已验证的应用内 Appearance 合同,修改前发现合同不可用时回退到一次确认的受控重载
  • Windows 的跨模式切换使用一次确认的受控重载

不要根据 macOS 结果推断 Windows 已有应用内路径,也不要把操作系统警告理解为关闭保护的许可。请保留警告,并使用文档中的发布来源或报告阻断。

更新与当前窗口边界

Apply、Switch 与 Restore 使用一次性有限 Helper。当前窗口验证完成后,Helper 会退出。Paid Alpha 没有 Guardian、controller、heartbeat、登录项、托盘应用、daemon 或后台自动重应用承诺。

一般 Apply 或 Switch 需要 20–60 秒。操作仍在运行时,请保持当前 Codex 窗口不动,直到出现明确结果。事务打开的浏览器授权页或 Pricing 页面仍然可以使用。

完全退出 Codex、重启电脑或之后的 renderer reload 会结束可见保证。下次请再次让 Codex Skin Apply。保存的 last-applied ID 只是本地历史记录,不能证明新 renderer 仍有皮肤。

Codex 更新阻止新操作时,请查看更新后的故障排查,或通过 Restore回到保存过的官方外观。

常见问题

Codex Skin 是 OpenAI 产品吗?

不是。它是面向 ChatGPT 桌面应用中受支持 Codex 界面的独立第三方项目。

主题包可以运行代码吗?

主题包不能提供可执行代码、selector 或远程命令。固定签名 Helper 会使用包中的允许数据与图片完成有限本地事务。

Codex Skin 会采集我的对话或代码吗?

产品合同禁止采集或上传提示词、对话、代码、项目文件、绝对路径、Token、Cookie 与截图。

每一个 Codex 版本都兼容吗?

项目不做全版本绝对承诺。每笔新操作都要通过身份、能力、marker 与最终可见结果检查。无法证明时,操作会停止,Restore 继续保留。