Skip to content

Repository files navigation

Theme Inject

English | 简体中文

一个面向 Windows 版 Codex 的独立主题与宠物管理器。

Theme Inject 会通过 Chromium DevTools Protocol(CDP)把运行时注入到 Codex renderer 中,并在 Codex 内提供主题面板、主题库、背景配置、高级皮肤、AI 主题工作台和宠物库。除了自定义 Codex 的外观,你还可以导入社区宠物、生成自己的动画宠物,并把配套宠物与主题一起分享。

仍在开发版本中,功能、界面和兼容性都可能继续调整。Bug 仍在修复中,欢迎反馈问题。

你的 Star 就是我更新的动力。

AI 主题工作台

项目能做什么

  • 自动启动并连接 Windows 版 Codex。
  • 在 Codex 里显示“主题”按钮和实时编辑面板。
  • 支持侧边栏、对话、输入区、弹窗、代码块、终端等区域的主题覆盖。
  • 支持颜色、字体、圆角、透明度、模糊和终端配色调整;布局由主题运行时自动约束。
  • AI 主题不会注入或强行改变 Codex 原生侧边栏宽度,默认侧边栏基准为 300px,避免主题超出界限。
  • 支持全屏统一背景,也支持内容区和侧边栏分别配置背景。
  • 支持本地背景图、主题导入、主题导出、复制、删除和即时切换。
  • 支持高级皮肤:Logo、侧栏水印、Hero 图、头像、动作图标、首页卡片图标、装饰层和组件表面等。
  • 支持兼容 OpenAI 协议的 AI 主题生成,可从文字或参考图生成主题草稿和图片资源;没有参考图时也会自动生成默认资源。
  • 支持主题包检查点、失败资源续跑、实时请求日志和资源级别的重新生成。
  • 提供独立宠物库,可预览、导入、导出、编辑和安装 Codex V1/V2 及社区宠物包。
  • 支持 AI 生成宠物基础形象和 9 个标准动作,并提供逐动作提示词、动作调优、后台生成与断点续跑。
  • 主题可以绑定配套宠物;导出主题时会携带宠物,导入时不会覆盖宠物库中的同名条目。
  • 可在高级页检查 GitHub Release、下载并校验更新,再安全替换程序和重启。
  • 主题面板会检测系统语言,使用 JSON 语言包自动显示简体中文或英文界面。

新增与改进

  • 新增宠物库:兼容 Codex V1/V2、社区根目录 ZIP 和单层目录 ZIP,可预览 9 个标准动作、修改名称和介绍、导入导出并安装到 Codex。
  • 新增 AI 宠物生成:基础形象和动作生成在同一页面的两个 Tab 中独立完成;支持上传宠物参考图、直接上传基础形象、逐动作提示词和 AI 智能生成动作提示词。
  • 完善宠物生成恢复:基础形象先确认再生成动作,生成窗口可关闭并在后台继续,失败后保留检查点和已完成动作。
  • 优化宠物图像处理:固定 192x208 单格尺寸,统一主体大小、中心点和基线,增加多级切图、绿幕残留清理、无损 WebP 和过小动作自动重试。
  • 增加主题宠物绑定:配套宠物会随主题 ZIP 导入导出,本地已有同 ID 宠物时不会被覆盖。
  • 新增 GitHub 更新:支持检查正式 Release、下载进度、取消、SHA-256 校验、安装重启和失败回滚;开发目录构建不会自动替换自身。
  • 重做 AI 主题工作台:支持文字需求、参考图分析、界面语言选择、生成请求日志,以及主题生成与已有主题编辑两种工作模式。
  • 完善图片资源流程:可生成背景、Hero、Logo、头像、装饰和首页卡片图标,支持最多 4 路并发、单项重新生成、候选结果预览与覆盖应用。
  • 增加检查点和失败恢复:生成中断后保留已完成资源,再次提交相同需求时从缺失项继续;切换主题时会清理旧的 staging 状态。
  • 优化预览与内存占用:使用本地资源服务和缩略图加载预览,生成期间不反复刷新 Codex 主 DOM,并提供手动刷新预览 DOM 的入口。
  • 扩展高级皮肤能力:补充动作图标、首页卡片图标、可拖动装饰层、组件表面和动态画布特效,改善标题栏、左右侧栏、对话、代码块和终端的主题适配。
  • 改善可用性与性能:修复生成中断、装饰编辑、资源进度、图标图集和主题切换问题,降低动态特效与对话切换带来的渲染开销。
  • 完善开发与发布流程:开发构建支持双槽位重建、自动重启和重新注入;GitHub Actions 可自动测试、构建 Release 并打包示例主题。
  • 新增并更新 11 个可导入的示例主题,覆盖动漫、影视、品牌、角色和趣味视觉风格。

主题预览

下列主题包均可直接下载 ZIP,并在“主题库”中导入。预览图来自主题实际应用效果。

主题 预览 风格与说明
高达主题
深色
高达主题预览 深蓝宇宙机库与金属机甲风格,高对比玻璃面板搭配机体图标,适合偏冷峻、科技感的工作区。
CLANNAD 团子大家族
浅色
CLANNAD 团子大家族主题预览 樱花校园、柔和粉白配色与团子装饰组成的治愈系主题,在明亮背景下兼顾代码和正文可读性。
雨姐主题
浅色
雨姐主题预览 草莓、蝴蝶结和蕾丝元素构成的粉色甜美风格,包含人物 Hero、头像与多处装饰资源。
ikun
深色
ikun 主题预览 深色舞台氛围结合蓝橙篮球元素,配有定制人物背景、头像、卡片图标和角落装饰。
卢本伟
深色
卢本伟主题预览 深紫电竞舞台搭配亮蓝强调色,以人物 Hero、扑克牌和咖啡元素构成高辨识度工作区,并配有完整的定制功能图标。
恶搞之家
深色
恶搞之家主题预览 深夜郊区与动画客厅构成的美式卡通风格,使用低干扰深色面板保持内容清晰。
肯德基
浅色
肯德基主题预览 经典红白品牌配色、暖色餐厅灯光和炸鸡元素,整体明亮活泼并配有专属功能图标。
麦当劳
深色
麦当劳主题预览 深红、金黄与汉堡薯条元素组成的暖色主题,半透明深色工作面板突出前景内容。
耄耋
深色
耄耋主题预览 以圆润橘猫近景为主视觉,结合暖木色背景和低饱和深色面板,氛围安静柔和。
圆头与耄耋
深色
圆头与耄耋主题预览 荒漠科幻动画风格,青蓝天空、黄色防护服与红色折椅形成强烈对比,辨识度鲜明。
猪猪侠
深色
猪猪侠主题预览 红金英雄视觉与流光背景结合,使用角色化图标、装饰和半透明卡片营造热烈动感。

主题库和皮肤配置界面:

主题库 高级皮肤配置
主题库界面 高级皮肤配置界面

效果设置支持圆角、边框、透明度、模糊、饱和度和阴影调整,也可以启用流星、下雨、下雪、星光、萤火虫和花瓣等动态特效:

效果设置与动态特效界面

使用方法

  1. 关闭所有正在运行的 Codex 窗口。
  2. 运行 theme-inject.exe
  3. Theme Inject 会带着 CDP 参数启动 Codex。
  4. 进入 Codex 后,点击右下角的“主题”按钮。
  5. 在面板里选择主题、调整颜色/背景/皮肤,点击“应用”保存。
  6. 需要宠物时,进入“宠物库”导入宠物,或通过“新建宠物”生成自己的宠物。

再次运行 Theme Inject 时,如果已有实例在运行,会通知已有实例打开主题面板。

AI 主题工作台

打开“AI 生成主题”后,可以在同一个工作台中填写主题需求、选择界面语言、粘贴或上传参考图、配置图片资源和查看请求日志。

  • 参考图会先由视觉模型分析,随后按资源用途分配到背景、Hero、Logo、头像、装饰和卡片图标等生成任务;没有参考图时使用纯文字生成,并自动补齐必要资源。
  • “资源”标签页可以单独生成或覆盖某一个资源,不需要重新生成整套主题;“只重新生成配色”不会改动已有图片资源。
  • 图片最多支持 4 路并发。生成期间不会刷新 Codex 主 DOM,生成完成后点击“刷新预览 DOM”才查看和调整静态预览,降低 renderer 内存压力。
  • 生成失败时会保留已经完成的资源;使用相同需求再次生成可以从缺失资源继续。从 A 主题切换到 B 主题时,工作台会清理旧 staging 资源和进度状态。
  • 预览资源使用受控的本地 staging 服务和缩略图兜底,不会把整批原图直接复制到预览 DOM。

基础模型、生图模型、API 地址和 Key 在“高级 → AI 生成”中配置。AI 请求可能产生第三方 API 费用,请确认模型服务商的计费方式。

宠物库与 AI 宠物生成

宠物库可以管理 Codex 原生格式和社区宠物包,也可以从参考图或文字描述创建自己的动画宠物。

生成基础形象 配置并生成动作 预览和调优动作
宠物基础形象生成界面 宠物逐动作生成界面 宠物动作预览与调优界面

导入、导出与安装

  • 支持 Codex V1 1536x1872 和 V2 1536x2288 WebP 图集。
  • 兼容运行文件位于 ZIP 根目录或单层子目录的社区宠物包;缺少版本字段的 V1 市场包会按图集尺寸自动识别。
  • 导入时会检查路径、大小、清单、图集尺寸和运行文件,修改名称和介绍时会保留社区包的其他字段。
  • 安装到 Codex 前会再次校验;同 ID 宠物已存在时先备份,安装失败时恢复旧版本。
  • 从 Theme Inject 宠物库删除宠物不会删除 Codex 已安装的副本。

安装完成后,请在 Codex 的“设置 → 宠物”中选择该宠物。Theme Inject 不会绕过 Codex 设置自动切换当前宠物。

生成流程

  1. 在“基础形象”中填写角色描述,可添加最多 6 张参考图;没有宠物参考图时会复用 AI 主题工作台参考图,再没有则使用文字描述。
  2. 生成并确认唯一一张基础形象,或者在“动作生成”中直接上传已有基础图。
  3. 为 9 个标准动作分别补充提示词,也可以让 AI 生成单项或全部动作提示词。
  4. 使用统一图片并发生成动作;基础形象、尺寸、中心点和角色身份在所有动作中保持锁定。
  5. 预览动作后加入宠物库;不满意的单项动作可用新提示词和参考图重新生成,不会改变其他动作。

9 个标准动作包括待机、向左/向右拖动、欢迎挥手、悬停反馈、任务失败、等待输入、任务处理中和检查结果。帧数和触发条件由 Codex 固定,Theme Inject 会按真实触发语义生成完整循环。

生成任务可以在关闭宠物窗口后继续运行。中断、接口失败或切图失败时会保留基础形象和已完成动作,下次进入宠物创建页可以继续补齐。

新生成宠物使用 9 行 V1 图集;已有 V2 社区宠物仍可导入、导出和安装。

主题配套宠物

在宠物库中可以将一个宠物绑定到当前主题。导出主题时,配套宠物的 pet.jsonspritesheet.webp 会一起写入主题 ZIP;导入该主题时宠物也会进入宠物库,但不会覆盖本地已有的同 ID 宠物。

检查更新

在“高级”页可以检查 Theme Inject 的最新 GitHub 正式版本。发现更新后可以查看版本信息、下载进度并取消下载;只有通过 SHA-256 校验的程序包才能进入安装阶段。

安装时 Theme Inject 会先备份当前程序,再替换 EXE 并重启;新版本启动失败时会恢复旧版本。主题、宠物、AI 设置、检查点和日志都保存在独立数据目录中,不会随程序更新删除。

target 目录中的开发构建只支持检查版本,不会自动替换自身。

可选启动参数:

theme-inject --app-path <Codex 路径>
theme-inject --debug-port <端口>
theme-inject --open-panel

主题数据默认保存在:

%LOCALAPPDATA%\ThemeInject

诊断日志位于:

%LOCALAPPDATA%\ThemeInject\logs\theme-inject.log

如何编译

需要:

  • Windows
  • Rust 1.85 或更高版本

在项目根目录执行:

cargo build --release

编译完成后,程序位于:

target\release\theme-inject.exe

开发时可以使用脚本重新构建并附加:

powershell -ExecutionPolicy Bypass -File .\scripts\restart-dev.ps1

注入运行时按职责拆分在 assets/runtime/ 中,由 Rust 在编译时按顺序拼装为同一个闭包。界面语言包位于 assets/locales/

推送到 clean-version 分支时,GitHub Actions 会自动运行测试、构建 Windows Release,并分别上传程序 ZIP 与包含全部示例主题包的主题合集 ZIP;两个构件都会附带 SHA-256 校验文件。

有没有风险

Theme Inject 不会修改 Codex 的 app.asar、安装目录或 ~/.codex 配置,它是通过 CDP 在运行时注入主题脚本。

不过它仍然属于开发版本,请注意:

  • 需要以带调试端口的方式启动 Codex,可能与 Codex 后续版本存在兼容问题。
  • 它会影响当前 Codex renderer 的页面表现,遇到显示异常时可以关闭 Codex 后重新启动。
  • 自定义 CSS 默认禁用;只有你显式启用并信任后才会执行。
  • AI 生成功能可能产生第三方 API 费用,Theme Inject 不会在未点击生成时主动请求 AI 服务。
  • 主题 ZIP 导入虽然做了大小、路径和扩展名校验,但仍建议只导入可信来源的主题包。
  • 宠物 ZIP 同样会执行路径、大小、清单和图集校验,但仍建议只导入可信社区来源。
  • 程序更新会验证 GitHub Release 资产和 SHA-256;正式分发目前尚未使用 Windows Authenticode 代码签名。

如果你追求绝对稳定,建议等待后续更成熟的版本;如果你愿意一起试用和反馈,那就欢迎上车。

主题包

主题包是 ZIP,根目录至少包含:

theme.json

可选文件:

custom.css
preview.png
assets/
pets/<pet-id>/     # 可选,绑定的配套宠物
  pet.json
  spritesheet.webp

导入主题后,主题会进入主题库;点击卡片即可立即切换。导出的 ZIP 会包含主题配置、引用的本地图片资源,以及已绑定宠物的运行文件。

仓库内的示例主题包均可直接导入,完整列表、预览图和风格说明见上方“主题预览”表格。

开发验证

提交或发布前建议运行:

cargo fmt --all -- --check
cargo test
cargo clippy --all-targets -- -D warnings
node scripts/check-runtime.mjs

更多文档

About

让 Codex 长成你喜欢的样子。为 Windows 版 Codex 实时换肤,自定义背景、高级皮肤与动态特效,还能用一句话或参考图 AI 生成整套主题,无需修改 app.asar。

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages