zhulin025/Codex-QQ-Skin

GitHub: zhulin025/Codex-QQ-Skin

一款为 Codex/ChatGPT 桌面端提供复古 QQ 风格皮肤和个性化主题生成的桌面定制工具。

Stars: 402 | Forks: 34

# Codex 皮肤生成器(内置沉浸式女友) 一套面向 Codex/ChatGPT 桌面端皮肤生成器(内置QQ皮肤)。 1、支持 Mac & Windows 系统:提供 macOS App 与原生 C# Windows 安装器。 2、支持自定义皮肤:既可选择任意图片生成背景皮肤,也可用 Codex 深度皮肤助手从一句主题关键词生成完整分层皮肤。 3、皮肤库管理器 4、Codex token 统计 5、QQ 等级系统 6、内置自动检测版本升级 7、深度皮肤定制助手 skill ## Codex 成长中心 - QQ 模式右侧上方默认显示本机 Codex token:今日、近 7 天、历史累计、七日趋势、活跃天数和连续活跃天数。 - 根据活跃日和每日总 token 档位计算成长值,以 QQ 经典的星星、月亮、太阳、皇冠显示等级。 - 点击右上角“资料”可恢复 Codex 原生输出/来源面板,再点“成长统计”即可返回。 - 统计直接读取本机 `~/.codex/sessions` 与 `archived_sessions`,使用增量缓存;不需要额外账号,不读取 API Key,不上传 prompt 或 token 数据。 - 默认按“总用量”展示并让缓存输入参与成长,等级行右侧可开启“净用量”开关查看排除缓存后的数据;fork、子 Agent 继承历史和重复 token 事件会去重。 - 当前日志没有稳定账号 ID,因此这里明确显示“本机统计 / 本机 Codex 等级”,不是 OpenAI 官方账单或账号云端等级。 ## 最新版本 2.6.3 - **雨夜可读性:** 用户菜单与设置页在霓虹雨夜主题下不再出现白底浅字;设置页回退 Codex 原生浅色样式。 - **雨声音效开关:** 独立开关移到右上角皮肤切换旁(「🌧 雨声 / 🌧 静音」)。 - **更新可取消:** macOS / Windows 安装器下载更新时可点「取消下载」。 Windows 用户请从 [GitHub Releases](https://github.com/zhulin025/Codex-QQ-Skin/releases) 下载 `ChatGPT QQ Skin Setup 2.6.3.exe`。 ## 2.6.2 亮点 - **内置霓虹雨夜皮肤:** 与大黄蜂一样随安装器打包;安装后出现在「自定义」皮肤库,可一键切换。任务 idle 疏雨、运行中霓虹雨、完成后短时闪电风暴。 - **Windows 一键入口:** 安装器新增「应用内置霓虹雨夜皮肤」,与「应用内置大黄蜂皮肤」并列。 - **雨夜性能优化:** 天气层限分辨率与帧率、降低粒子密度,并去掉昂贵的全屏混合与毛玻璃,尽量不影响 Codex 使用流畅度。 ## 2.6.1 亮点 - **Codex 26.721 兼容:** 识别首页新增的 `home-banners` 结构,按 DOM 自动切换布局,修复 QQ / 自定义皮肤下「新建任务」面板空白。 - **原生模式清理:** 切换到原生皮肤或 reinject 时不再残留 QQ 企鹅头像与侧栏 profile。 - **旧版兼容:** 没有 banners 的旧版 Codex 仍走原来的首页注入路径。 ## 2.6.0 亮点 - **伙伴房间:** 右下角 Codex 伙伴升级为会随任务状态、时间与互动变化的桌面房间;电脑、书架、台灯和盆栽都可打开 GitHub 热门项目盲盒。 - **项目盲盒:** 机器人先从书架抽书,再随机展示热门 GitHub 项目的名称与中文简介;支持收藏、打开仓库、换一本和减少同类推荐。 - **本地成长:** 每连续发现 5 个项目解锁一件房间摆件;收藏、偏好、发现次数和摆件进度只保存在本机。 - **可靠交互:** 盲盒按钮使用独立 `pointerup + click` 双通道,适配 Electron 对标准点击事件的偶发吞噬。 - **安全数据源:** 项目列表只读取 GitHub 公共仓库搜索结果,每 6 小时缓存一次;项目简介自动翻译为中文,翻译失败时使用中文兜底,不上传 Codex 对话或本机统计。 ## 效果预览 ### 任务详情 Codex QQ Skin 任务详情界面 ### 新建任务 Codex QQ Skin 新建任务界面 ## 安装 安装前请确保官方 Codex/ChatGPT 桌面端至少成功启动过一次,并完全退出 Codex。项目不要求另行安装 Node.js。 ### Windows:原生安装器(推荐) 1. 从 [GitHub Releases](https://github.com/zhulin025/Codex-QQ-Skin/releases) 下载 `ChatGPT QQ Skin Setup 2.6.3.exe`。 2. 双击运行,点击“一键安装并启动”。 3. 点击“应用内置大黄蜂皮肤”或“应用内置霓虹雨夜皮肤”,可直接安装并切换到随安装器打包的深度预设;它们也会出现在自定义皮肤库中。 4. 深度皮肤助手区域会显示“安装”“更新”或“已安装”;按提示完成后,直接在 Codex 中用一句主题关键词生成深度皮肤。 5. 如只需自定义背景,仍可点击“上传图片生成皮肤”,选择 PNG、JPEG 或 WebP 图片。 6. 右上角可随时切换 `原生 / QQ / 自定义` 三种模式。 Windows 安装器不会修改 ChatGPT/Codex 官方安装目录或 `app.asar`。它仅通过监听 `127.0.0.1` 的 Chromium DevTools Protocol 注入样式。当前 EXE 未进行商业代码签名,首次运行可能出现 Windows SmartScreen 提示,请只从本仓库的正式 Release 下载并核对 SHA-256。 ### 安装方式 1:通过终端安装 1. 在 GitHub 项目页点击 **Code → Download ZIP**,下载后解压。 2. 打开“终端”,依次执行: cd ~/Downloads/Codex-QQ-Skin xattr -dr com.apple.quarantine . chmod +x ./*.command scripts/*.sh ./scripts/install-qq-skin-macos.sh 如果项目不在 `~/Downloads/Codex-QQ-Skin`,请输入 `cd` (末尾保留空格),将解压后的项目文件夹拖进终端窗口,然后按回车,再执行后面三条命令。 `xattr` 命令用于移除 GitHub 下载文件的 macOS 隔离标记。请只对确认来自本项目官方仓库的文件执行该命令,不需要使用 `sudo`。 ### 安装方式 2:使用 APP 一键安装(普通用户推荐) 1. 前往 [GitHub Releases](https://github.com/zhulin025/Codex-QQ-Skin/releases),下载最新版本的 `Codex QQ Skin.app.zip`。 2. 解压后将 **Codex QQ Skin.app** 拖入“应用程序”文件夹。 3. 双击打开 APP,首次点击“一键安装并启动”。 4. 安装完成后,以后直接双击 APP 即可启动 QQ 皮肤版 Codex,不需要打开终端或手动修改文件权限。APP 只会自动升级到严格更新的版本;相同版本不会重复更新,也不会从本地较高版本降级。 5. 打开「皮肤库」即可看到内置的「大黄蜂 · Cybertron」与「霓虹雨夜 · Storm Codex」,与自行上传的自定义皮肤一样切换使用。 由于当前 APP 未使用 Apple Developer ID 签名和公证,首次打开时可能出现“无法验证开发者”或“Apple 无法检查是否包含恶意软件”。请确认 APP 下载自本项目的官方 GitHub Release,然后按以下步骤放行: 1. 打开“系统设置”。 2. 进入“隐私与安全性”。 3. 向下滚动到“安全性”,会看到关于 `Codex QQ Skin.app` 的提示。 4. 点击“仍要打开”。 5. 输入 Mac 登录密码或使用 Touch ID。 6. 再次点击“打开”。 这个安全确认通常只需完成一次,之后可以像普通 APP 一样直接双击打开。不要关闭 macOS 的整体安全保护,也不需要使用终端执行 `chmod` 或 `xattr`。 ### 安装方式 3:双击命令文件 1. 在 GitHub 项目页点击 **Code → Download ZIP**,下载后解压。 2. 完全退出 Codex。 3. 双击 `Install Codex QQ Skin.command`。 4. 等待安装完成,然后使用桌面上生成的 `Codex QQ Skin.command` 启动主题版 Codex。 如果 macOS 提示“Apple 无法验证”: 1. 先右键 `Install Codex QQ Skin.command`,选择“打开”,然后再次确认。 2. 如果仍被拦截,请打开“系统设置 → 隐私与安全性”,在安全提示处点击“仍要打开”并完成身份验证。 3. 如果系统没有显示“仍要打开”,请改用上面的“安装方式 1”,通过 `xattr` 命令移除隔离标记后安装。 运行引擎会安装到 `~/.codex/codex-qq-skin-studio`,主题和运行状态保存在 `~/Library/Application Support/CodexQQSkin`。 ## 深度皮肤助手 在 macOS App 或 Windows 安装器中找到“Codex 深度皮肤助手”区域。即使 Skill 已经安装,该区域也不会隐藏,而会明确显示“已安装”和使用提示;如有内置新版则显示“更新”。安装或确认状态后回到 Codex,直接输入: 用 Codex 深度皮肤助手生成一个钢铁侠主题皮肤 Skill 默认自动生成两张内部参考图、背景与透明分层素材,随后创建 `.codexskin`、安装、应用并验证真实 Codex 界面。用户也可以附带参考图,或明确说“先看方案”“不要应用”“保留但不要切换”。完整设计与实现约定见 [深度皮肤 2.5.0 规划](./docs/deep-skin-2.5.0-plan.md)。 ## 效果特点 ### 2.0 三模式皮肤 - `原生`:完整恢复 Codex 官方界面与颜色。 - `QQ`:使用固定的蓝银 QQ 2007 外框、左侧栏、三栏布局、右侧摘要托盘和 Codex 伙伴,不受用户图片配色影响。 - `自定义`:保留 Codex 原生界面结构,根据用户图片自动生成配色、焦点和新建任务页构图。 - 三种模式可在右上角即时切换。每次切换都会完整重建目标模式的布局、颜色和装饰,不会遗留上一套皮肤的侧栏颜色或面板状态。 - 上传过多套自定义皮肤后:在 **macOS App → 皮肤库** 里按行管理(应用 / 重命名 / 删除);Codex 里点「自定义」旁的 ▾ 可快速切换最近几套自定义皮肤。 - 自定义图片背景会统一做模糊与淡遮罩,保证对话文字可读;人物及普通照片仍可在新建任务构图中完整显示。 - 38px 深蓝标题行与 29px 蓝银工具行组成一体化复古标题区。 - 左上企鹅与动态任务标题避开 macOS 交通灯,不随窗口宽度拉伸。 - 右上三颗控件直接复用 Codex 原生按钮的 SVG、尺寸与点击行为,不再绘制多余的关闭按钮。 - 自动打开 Codex 原生左侧栏与固定摘要,形成左侧项目、中间对话、右侧摘要的三栏布局。 - 右上默认显示本机 Codex 成长中心;点击“资料”可无损切回真实“输出 / 来源 / 进度 / 子代理”。右下 Codex 伙伴继续提供打开宠物、终端、提示音三个快捷按钮,并显示任务状态与本周剩余用量。 - 伙伴房间里的电脑、书架、台灯和盆栽会打开 GitHub 热门项目盲盒;机器人先执行抽书动作,再展示项目名称和中文简介。 - 盲盒支持收藏、打开 GitHub、换一本与“以后少推荐这种”;连续发现 5 个项目会解锁房间摆件,全部偏好与进度仅写入浏览器本地存储。 - 左下显示 QQ 风格企鹅头像、当前用户名和绿色在线状态。 - Codex 完成任务时播放“咳嗽”提示音,需要授权时播放另一组急促“滴滴”声;伙伴卡可一键静音。 - 项目、任务、每轮对话、代码块与输入框使用蓝银旧式面板样式。 - 设置页保持原生双栏结构,进入设置时自动收起任务伙伴卡。 - 一键验证、一键暂停和一键恢复官方外观。 ## macOS 系统要求 - macOS(Apple Silicon 或 Intel)。 - 已安装官方 Codex/ChatGPT 桌面端,并至少正常启动过一次。 - 建议窗口宽度不小于 `1180px`,三栏模式才能完整显示。 - 安装前退出 Codex,避免应用正在保存配置。 项目不要求单独安装 Node.js。运行时会验证并使用官方 Codex 应用内签名的 Node.js。 ## 日常使用 安装后可以使用仓库入口: - `Start Codex QQ Skin.command`:启动复古主题。 - `Customize Codex QQ Skin.command`:导入自己的背景图。 - `Verify Codex QQ Skin.command`:检查签名、运行时、注入结果并截图。 - `Restore Codex QQ Skin.command`:停止主题并恢复官方外观。 - `Install Menu Bar.command`:安装可选的 SwiftBar 菜单栏入口。 终端对应命令: ./scripts/start-qq-skin-macos.sh ./scripts/doctor-macos.sh --require-live ./scripts/pause-qq-skin-macos.sh ./scripts/restore-qq-skin-macos.sh --restore-base-theme --restart-codex ## 更换背景图 最简单的方式是打开 `Codex QQ Skin.app`,点击“上传图片,生成我的皮肤…”。选择图片后,2.0 会在本机自动完成主色、明暗、视觉焦点、安全留白、背景构图与任务页模式分析,并立即切换到生成的“自定义”皮肤。图片不会上传到网络。 右上角提供三个独立选项: - `原生`:完整恢复 Codex 官方界面。 - `QQ`:固定的稳定版 QQ 复古皮肤,始终使用内置素材和布局。 - `自定义`:在 Codex 原生界面结构上应用用户图片;人物与普通照片在新建任务页优先完整显示,超宽画面按照视觉焦点和安全区铺满;只有成功导入图片后才可选择。 自定义图片不会覆盖 QQ 皮肤。三种模式可以随时切换,最近一次选择会保存在本机。 ./scripts/load-image-theme-macos.sh --file /绝对路径/你的图片.png \ --appearance light \ --safe-area center \ --task-mode off 重新执行启动脚本即可应用。QQ 标题栏、三栏布局和伙伴卡不会被替换。 ## 任务提示音 提示音默认开启,音量约为 48%。完成提示音使用耳聆网页面标注为 CC0 的“QQ系统消息提示音”,其他提示音由 Web Audio 在本地实时合成: - 任务从“运行中”切换到完成:播放两段短促“咳咳”声。 - 新出现命令或操作授权卡片:播放四段急促“滴滴”声,同一张授权卡片只提醒一次。 - 首次打开皮肤并与窗口交互,或网络从离线恢复在线:播放两段“敲门”声。 - 手动点击停止任务、切换任务、热更新皮肤不会误报完成。 - 在右侧「Codex 伙伴」卡片点击「🔊 提示音」可静音,设置会保存在本机;同一排还可打开 Codex 原生宠物和切换终端面板。 - 伙伴卡右下读取 Codex 原生周用量,显示“本周剩余 XX%”;原生用量提示暂时消失时保留最近一次真实读数,从未读取到数据时显示“--”。 自定义主题也可以在 `theme.json` 中调整: "sound": { "enabled": true, "volume": 0.48, "completed": "cough", "approval": "alert", "online": "knock" } `completed` 还可设为 `didi`,`approval` 和 `online` 也可设为 `didi`,`volume` 范围为 `0..1`。首次使用时需要先在 Codex 窗口内点击或按键一次,以满足 Chromium 的音频播放规则。 咳嗽声的来源、页面许可声明和文件校验值见 `[assets/audio/qq-system-cough.LICENSE.md](assets/audio/qq-system-cough.LICENSE.md)`。 ## 验证与开发 npm test ./scripts/doctor-macos.sh npm run build:app `npm run build:app` 会在 `release/` 生成同时支持 Apple Silicon 与 Intel 的 `Codex QQ Skin.app`。正式 Release 同时提供: - macOS:`Codex QQ Skin.app.zip`(可在本机 Mac 用 `npm run build:app` 生成) - Windows:`ChatGPT QQ Skin Setup 2.6.3.exe`(需 Windows CI / Windows 电脑构建,Mac 无法直接生成) 请只从本仓库的 [GitHub Releases](https://github.com/zhulin025/Codex-QQ-Skin/releases) 下载。设置 `DEVELOPER_ID_APPLICATION` 环境变量后会使用对应证书签名;公开分发前还需使用 Apple 公证服务处理最终 ZIP/DMG。 测试覆盖注入 payload、图片元数据、主题切换、项目盲盒数据缓存与交互、UTF-8 配置往返、回环 CDP 限制、清理恢复和官方签名检查。 ## 目录结构 assets/ 外框、企鹅、CSS 与 renderer 注入代码 presets/ 经典 Codex QQ、大黄蜂、霓虹雨夜等内置预设 scripts/ 安装、启动、验证、换图、暂停和恢复脚本 skills/ 可由安装器一键安装的 Codex 深度皮肤助手 menubar/ 可选 SwiftBar 菜单插件 tests/ macOS 自动化回归测试 仓库保留 macOS 稳定版和 Windows x64 预览版共享的皮肤代码;两套系统分别使用 Shell/Swift 和 PowerShell 运行层。 ## 工作原理与安全边界 Codex QQ Skin 通过仅监听 `127.0.0.1` 的 Chromium DevTools Protocol,把 CSS、透明外框和少量非交互装饰注入 Codex renderer。侧栏、对话、输入框、输出和来源依然是 Codex 原生 DOM。 - 不写入官方安装目录。 - 不修改 `app.asar` 和应用签名。 - WebSocket 只接受经过校验的 loopback Codex 页面端点。 - 调试端口开启期间,不要运行来源不明的本机程序。 - 恢复脚本会停止 watcher、移除注入并恢复保存的外观配置。 ## 来源说明 本项目使用并改造了 [Codex Dream Skin](https://github.com/Fei-Away/Codex-Dream-Skin) macOS 源码,包括回环 CDP 启动器、renderer 注入器、主题配置保护、签名验证和恢复流程。 在此基础上,本仓库重新实现了 QQ 复古双层标题栏、三栏自动布局、原生摘要对齐、Codex 伙伴卡、QQ 在线用户卡、响应式窗框和相应测试。 ## 商标与素材声明 - Codex、ChatGPT 与 OpenAI 名称及相关权利属于其权利人。 - QQ 与腾讯名称及相关权利属于其权利人。 - 本仓库企鹅为 AI 生成的非官方复古风格素材,不代表腾讯或 QQ 官方图标授权。 - `codex-pet.png` 与复古外框仅作为本项目的界面装饰素材。 - 商业分发前请自行完成商标、素材和当地法律审查。 ## License [MIT License](./LICENSE)
标签:Cutter, MITM代理, UI定制, 使用统计, 桌面应用, 皮肤生成器, 自定义脚本