English | 简体中文
一个面向 Windows 版 Codex 的独立主题与宠物管理器。
Theme Inject 会通过 Chromium DevTools Protocol(CDP)把运行时注入到 Codex renderer 中,并在 Codex 内提供主题面板、主题库、背景配置、高级皮肤、AI 主题工作台和宠物库。除了自定义 Codex 的外观,你还可以导入社区宠物、生成自己的动画宠物,并把配套宠物与主题一起分享。
仍在开发版本中,功能、界面和兼容性都可能继续调整。Bug 仍在修复中,欢迎反馈问题。
你的 Star 就是我更新的动力。
- 自动启动并连接 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 团子大家族 浅色 |
![]() |
樱花校园、柔和粉白配色与团子装饰组成的治愈系主题,在明亮背景下兼顾代码和正文可读性。 |
| 雨姐主题 浅色 |
![]() |
草莓、蝴蝶结和蕾丝元素构成的粉色甜美风格,包含人物 Hero、头像与多处装饰资源。 |
| ikun 深色 |
![]() |
深色舞台氛围结合蓝橙篮球元素,配有定制人物背景、头像、卡片图标和角落装饰。 |
| 卢本伟 深色 |
![]() |
深紫电竞舞台搭配亮蓝强调色,以人物 Hero、扑克牌和咖啡元素构成高辨识度工作区,并配有完整的定制功能图标。 |
| 恶搞之家 深色 |
![]() |
深夜郊区与动画客厅构成的美式卡通风格,使用低干扰深色面板保持内容清晰。 |
| 肯德基 浅色 |
![]() |
经典红白品牌配色、暖色餐厅灯光和炸鸡元素,整体明亮活泼并配有专属功能图标。 |
| 麦当劳 深色 |
![]() |
深红、金黄与汉堡薯条元素组成的暖色主题,半透明深色工作面板突出前景内容。 |
| 耄耋 深色 |
![]() |
以圆润橘猫近景为主视觉,结合暖木色背景和低饱和深色面板,氛围安静柔和。 |
| 圆头与耄耋 深色 |
![]() |
荒漠科幻动画风格,青蓝天空、黄色防护服与红色折椅形成强烈对比,辨识度鲜明。 |
| 猪猪侠 深色 |
![]() |
红金英雄视觉与流光背景结合,使用角色化图标、装饰和半透明卡片营造热烈动感。 |
主题库和皮肤配置界面:
| 主题库 | 高级皮肤配置 |
|---|---|
![]() |
![]() |
效果设置支持圆角、边框、透明度、模糊、饱和度和阴影调整,也可以启用流星、下雨、下雪、星光、萤火虫和花瓣等动态特效:
- 关闭所有正在运行的 Codex 窗口。
- 运行
theme-inject.exe。 - Theme Inject 会带着 CDP 参数启动 Codex。
- 进入 Codex 后,点击右下角的“主题”按钮。
- 在面板里选择主题、调整颜色/背景/皮肤,点击“应用”保存。
- 需要宠物时,进入“宠物库”导入宠物,或通过“新建宠物”生成自己的宠物。
再次运行 Theme Inject 时,如果已有实例在运行,会通知已有实例打开主题面板。
打开“AI 生成主题”后,可以在同一个工作台中填写主题需求、选择界面语言、粘贴或上传参考图、配置图片资源和查看请求日志。
- 参考图会先由视觉模型分析,随后按资源用途分配到背景、Hero、Logo、头像、装饰和卡片图标等生成任务;没有参考图时使用纯文字生成,并自动补齐必要资源。
- “资源”标签页可以单独生成或覆盖某一个资源,不需要重新生成整套主题;“只重新生成配色”不会改动已有图片资源。
- 图片最多支持 4 路并发。生成期间不会刷新 Codex 主 DOM,生成完成后点击“刷新预览 DOM”才查看和调整静态预览,降低 renderer 内存压力。
- 生成失败时会保留已经完成的资源;使用相同需求再次生成可以从缺失资源继续。从 A 主题切换到 B 主题时,工作台会清理旧 staging 资源和进度状态。
- 预览资源使用受控的本地 staging 服务和缩略图兜底,不会把整批原图直接复制到预览 DOM。
基础模型、生图模型、API 地址和 Key 在“高级 → AI 生成”中配置。AI 请求可能产生第三方 API 费用,请确认模型服务商的计费方式。
宠物库可以管理 Codex 原生格式和社区宠物包,也可以从参考图或文字描述创建自己的动画宠物。
| 生成基础形象 | 配置并生成动作 | 预览和调优动作 |
|---|---|---|
![]() |
![]() |
![]() |
- 支持 Codex V1
1536x1872和 V21536x2288WebP 图集。 - 兼容运行文件位于 ZIP 根目录或单层子目录的社区宠物包;缺少版本字段的 V1 市场包会按图集尺寸自动识别。
- 导入时会检查路径、大小、清单、图集尺寸和运行文件,修改名称和介绍时会保留社区包的其他字段。
- 安装到 Codex 前会再次校验;同 ID 宠物已存在时先备份,安装失败时恢复旧版本。
- 从 Theme Inject 宠物库删除宠物不会删除 Codex 已安装的副本。
安装完成后,请在 Codex 的“设置 → 宠物”中选择该宠物。Theme Inject 不会绕过 Codex 设置自动切换当前宠物。
- 在“基础形象”中填写角色描述,可添加最多 6 张参考图;没有宠物参考图时会复用 AI 主题工作台参考图,再没有则使用文字描述。
- 生成并确认唯一一张基础形象,或者在“动作生成”中直接上传已有基础图。
- 为 9 个标准动作分别补充提示词,也可以让 AI 生成单项或全部动作提示词。
- 使用统一图片并发生成动作;基础形象、尺寸、中心点和角色身份在所有动作中保持锁定。
- 预览动作后加入宠物库;不满意的单项动作可用新提示词和参考图重新生成,不会改变其他动作。
9 个标准动作包括待机、向左/向右拖动、欢迎挥手、悬停反馈、任务失败、等待输入、任务处理中和检查结果。帧数和触发条件由 Codex 固定,Theme Inject 会按真实触发语义生成完整循环。
生成任务可以在关闭宠物窗口后继续运行。中断、接口失败或切图失败时会保留基础形象和已完成动作,下次进入宠物创建页可以继续补齐。
新生成宠物使用 9 行 V1 图集;已有 V2 社区宠物仍可导入、导出和安装。
在宠物库中可以将一个宠物绑定到当前主题。导出主题时,配套宠物的 pet.json 和 spritesheet.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- 旧版完整说明:docs/original-readme.md
- 主题重构与兼容记录:docs/theme-refactor-todo.md
- 宠物生成与管理分支汇总:docs/宠物生成与管理分支变更汇总.md

















