我给 Windows 版 Codex 做了一个主题注入器
我给 Windows 版 Codex 做了一个主题注入器:让 AI 编程工具也能长成你喜欢的样子
如果你每天都要长时间打开 Codex 写代码、跑任务、看终端,那你大概率也会遇到一个小小的遗憾:
工具很好用,但界面不一定是你想要的样子。
深色、浅色、背景图、侧边栏、输入区、代码块、终端配色、Logo、首页 Hero、头像、图标、装饰层……这些东西如果都能自己调,甚至能让 AI 帮你生成一整套主题,会不会更有意思?
于是我做了一个项目:Theme Inject。
它是一个给Windows 版 Codex注入自定义主题的独立启动器。项目地址:
- GitHub:https://github.com/codecnmc/codex-theme-inject
项目仍在开发中,如果你觉得这个方向有意思,欢迎 Star、试用、提 Issue。你的反馈会直接影响它后面能长成什么样。
它解决了什么问题?
Codex 本身是一个很强的 AI 编程工具,但在视觉个性化上留给用户的空间并不算大。
Theme Inject 想做的事情很直接:
不改 Codex 安装包,不动 app.asar,不污染原始配置,只在运行时把主题能力注入进去。
它通过 Chromium DevTools Protocol,也就是 CDP,连接到 Codex renderer,然后注入一套主题运行时。你打开 Codex 之后,会看到一个主题入口,可以在里面实时修改界面风格、切换主题、导入导出主题包,甚至用 AI 生成一套完整皮肤。
简单说,它不是给你一张静态壁纸,而是给 Codex 加了一套可编辑、可保存、可分享的主题系统。
先看效果
主题库可以直接管理、切换、导入、导出主题:
皮肤配置可以控制 Logo、Hero 图、头像、侧栏水印、装饰层等高级资源:
也可以做成更有辨识度的主题:
核心亮点
1. 独立启动器,不修改 Codex 本体
Theme Inject 是一个独立的 Windows 启动器。
它不会修改:
- Codex 的
app.asar - Codex 安装目录
~/.codex配置
它做的是运行时注入:启动 Codex 时带上调试端口,然后通过 CDP 把主题运行时注入到页面里。
这样做的好处是边界比较清晰。你不需要手动改安装包,也不需要担心把 Codex 原始文件改坏。遇到显示异常,关闭 Codex 后重新启动即可恢复。
2. 不只是换背景,而是覆盖完整工作区
很多主题工具只能换一张背景图,Theme Inject 的目标更进一步:让 Codex 的主要工作区都能被主题覆盖。
目前支持的区域包括:
- 左侧导航栏
- 对话区
- 输入区
- 弹窗
- 代码块
- 终端
- 标题栏
- 右侧边栏
- 空白首页
颜色、字体、圆角、透明度、模糊、阴影、终端 ANSI 色都可以配置。主题运行时还会做布局约束,尽量避免主题把 Codex 原本的结构撑坏。
3. 全屏背景和分区背景都支持
背景不只有一种玩法。
你可以选择:
- 全屏统一背景
- 内容区背景
- 左侧导航背景
- 纯色背景
- 渐变背景
- 本地图片背景
每个背景区域还可以单独调:
- 图片焦点
- 适应方式
- 透明度
- 表面遮罩
- 模糊
- 饱和度
这意味着你既可以做一个干净的工作主题,也可以做一个非常个性化的沉浸式主题。
4. 高级皮肤:让 Codex 真的变成你的工作台
Theme Inject 里有一套高级皮肤能力,不只是调 token。
你可以配置:
- 品牌 Logo
- 侧栏水印
- 首页 Hero 图片
- Hero 徽章
- 头像
- 输入区装饰
- 角落贴纸
- 动作图标
- 首页快捷卡片
- 最多 16 个装饰层
- 标题栏、侧栏、内容区、卡片、输入区、浮层等表面样式
这套能力非常适合做个人专属 Codex、团队主题、动漫主题、游戏主题、品牌主题,或者任何你想每天打开都能开心一点的界面。
最有意思的部分:AI 主题工作台
Theme Inject 里我做了一个 AI 主题生成工作台。
你可以输入一句主题需求,例如:
做一个偏未来科技感的深色主题,带蓝绿色霓虹光,输入区要清爽,终端要适合长时间看代码。也可以上传参考图,让视觉模型先分析参考图,再根据不同资源用途生成背景、Hero、Logo、头像、装饰、卡片图标等资源。
AI 工作台支持:
- 兼容 OpenAI 协议的模型服务
- 文字生成主题
- 参考图生成主题
- 图片资源生成
- 单个资源重新生成
- 只重新生成配色
- 请求日志查看
- 失败资源续跑
- 主题包检查点
- 生成完成后继续手动微调
如果某些图片生成失败,已经完成的资源不会丢。你用相同需求再次生成时,它可以从缺失资源继续补,不需要整套主题重跑。
生成期间也不会频繁刷新 Codex 主 DOM,而是先进入 staging 预览区;你可以在合适的时候刷新预览、微调、保存为新主题。
这部分是我自己最喜欢的功能,因为它让主题创作从“手动调几十个配置项”变成了“先用 AI 起稿,再自己精修”。
主题包可以导入、导出、分享
Theme Inject 的主题包是 ZIP 格式,根目录至少包含:
theme.json也可以包含:
custom.css preview.png assets/导入后主题会进入主题库,点击卡片就能立即切换。导出时会把主题配置和引用的本地图片资源一起打包,方便分享给别人。
仓库里也提供了示例主题包,可以下载后直接导入体验:
- 团子大家族主题
- 雨姐主题
- ikun 主题
- 高达主题
安全和边界我也做了考虑
因为这是运行时注入工具,所以我尽量把风险边界做清楚。
Theme Inject 不会修改 Codex 本体文件,也不会在你没点击生成时主动请求 AI 服务。
另外:
- 自定义 CSS 默认禁用,只有显式启用并信任后才会执行
- 主题 ZIP 导入会做大小、路径和扩展名校验
- 主题资源引用会校验,避免残缺或越界路径
- API Key 不会写入主题 JSON、ZIP 或诊断日志
- Windows 下 AI Key 会使用当前用户 DPAPI 加密保存
- 日志会记录请求阶段、模型、状态和耗时,但不会记录完整 Key
当然,它目前仍是开发版本,Codex 后续更新也可能导致部分选择器或界面结构需要适配。如果你追求绝对稳定,可以等等更成熟的版本;如果你喜欢折腾,那现在就很适合上车试试。
使用方法
- 关闭所有正在运行的 Codex 窗口。
- 运行
theme-inject.exe。 - Theme Inject 会带着 CDP 参数启动 Codex。
- 进入 Codex 后,点击右下角的“主题”按钮。
- 在面板里选择主题、调整颜色、背景、皮肤,点击“应用”保存。
再次运行 Theme Inject 时,如果已经有实例在运行,它会通知已有实例打开主题面板。
为什么要做这个?
AI 编程工具正在变成很多开发者每天停留时间最长的软件之一。
当一个工具只是偶尔打开,它好不好看可能没那么重要;但当它变成工作台,视觉体验、信息层次、颜色舒适度、个性化表达就会开始影响心情和效率。
Theme Inject 想证明一件事:
开发工具也可以有自己的气质。
它可以严肃、简洁、克制,也可以热闹、个人、带一点中二。你可以把它调成最适合自己长时间工作的样子,也可以把喜欢的作品、角色、团队品牌变成每天打开 Codex 时第一眼看到的界面。
如果你也喜欢 Codex,也想让它更像自己的工作台,欢迎来试试 Theme Inject。
项目地址:
- GitHub:https://github.com/codecnmc/codex-theme-inject
觉得有用的话,点个 Star 就是最大的支持。
