[开源] 给 Codex / WorkBuddy 换肤:不只是换背景,是把整个界面重构成 2007 年的 QQ

安好 2026-07-19 16:21 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出



先上图,左边是原生 Codex,右边还是它——只是穿上了 2007 年 QQ 的皮肤。注意看:变的不只是背景,侧边栏、聊天框、按钮、配色是整套换掉的。一键换上,一键恢复,不改应用任何文件。


起因是刷到闲鱼有人把 Codex 皮肤标价 199,抖音上也一堆教程,自己也想给天天盯着的 Codex 换个样子。玩了一圈市面上的方案后,发现我想要的其实更进一步:



  • 不只是换张壁纸,而是把整个界面(侧边栏、输入框、卡片、按钮质感)都变成另一副样子——比如变成 2007 年的 QQ、或者 Windows XP 的 Luna 蓝;

  • 最好不止 Codex 能换;

  • 主题还能打包分享给别人,甚至让 AI 照一张参考图直接做出来


没找到完全满足的,于是折腾了个开源的 CodeDrobe。现在 Core / Desktop / Skills 全开源,主题商店也上线了,目前已经支持 Codex、WorkBuddy、QoderWork、TRAE SOLO 四款主流 AI 编程工具,适配器协议开放,加个 adapter 就能接新应用。



和"换背景"不太一样的地方


市面上不少换肤方案的思路是一张背景壁纸 + 自动适配配色,Codex 的 UI 骨架基本没动。CodeDrobe 走的是另一条路:


AI 读一份应用的实时 DOM 快照,照着真实结构现场生成整套 CSS——侧边栏、会话区、输入框、按钮、卡片全部重做。所以 QQ 2007 能做出经典蓝聊天框,Windows XP 能做出 Luna 蓝标题栏 + Start 按钮 + My Documents 面包屑,而不只是换个桌面背景。


好处是抗更新:Codex 界面结构变了,重新读一遍 DOM 再生成就行,不用手动改一堆选择器。


槽点先自己说:让 AI 读 DOM 现场适配,挺费 token 的 ^-^。但换来的是主题深度和不会一更新就集体阵亡。


核心:一个统一的开放格式 .codedrobe-theme


这是整个项目的地基:



  • 一个文件 = 一个主题。JSON 清单 + CSS + 内嵌图片,发给朋友、上传商店、导入应用,都是这一个文件。

  • 一个包适配多个应用。同一套视觉,targets.codextargets.workbuddy 各带一份 CSS,装哪个应用用哪份。

  • 规则写死在 JSON schema 里。主题声明自己依赖哪些界面节点,装前做兼容性预检,不兼容明确报错,而不是糊一层错位的样式上去。

  • 零 JavaScript。主题包只有声明式配置、CSS 和图片,拒绝外部 url()@import,上限 30MB。是"数据",不是"程序"。



实现原理(给同好看)


不改 app.asar,不替换可执行文件,不碰签名。底层是只绑定 127.0.0.1 的 Chromium DevTools Protocol 注入可恢复的 CSS


采集 DOM 快照是只读且做了隐私过滤的——不读文本内容、输入值、URL query/hash、链接和媒体地址,只采语义 class、稳定选择器候选、元素尺寸这些结构信息。


安全边界:注入前 DOM 预检 → 注入后自动验证 → 失败自动回滚;登录态、会话历史、项目数据一律不动,随时一键恢复原生。


三种用法



  • 小白 → Desktop(macOS / Windows):内置主题商店,浏览、搜索、一键应用,运行中的应用直接热切换不用重启,随时一键恢复。

  • 开发者 → Core CLInpm i -g @codedrobe/core,然后 apply / verify / restore / pack / dom snapshot 一行命令一个动作。Desktop 底层调的就是它。

  • 创作者 → Skill:给编码 Agent 一张参考图,说"照这个给 Codex 和 WorkBuddy 各做一套主题",它会读实时 DOM、生成整套 CSS、打包、真机换上截图验证。做好还能发布到商店。


# CLI 换肤
npm install --global @codedrobe/core
codedrobe apply --app codex --theme ./qq-2007.codedrobe-theme
codedrobe apply --app workbuddy --theme ./qq-2007.codedrobe-theme
# qoderwork、traework 同理,同一个主题包直接换 --app 即可
codedrobe restore --app codex

# 装 Skill 让 AI 做主题
npx skills add CodeDrobe/skills --skill codedrobe-theme --global --agent codex --yes

一个彩蛋


CodeDrobe 本身是 vibe coding 出来的——Core、Desktop、官网、首发主题全是和 AI 结对写的。给 AI 应用换肤的工具出自 AI 之手,算是 AI 给自己做了个衣柜。官网和主题商店全程跑在 Cloudflare 上(Workers + D1 + R2),0 台服务器。


## 开源地址


Github: GitHub - CodeDrobe/skills: Agent Skills for theming AI desktop apps: reference image → reversible Codex/WorkBuddy skin → verify, repair, publish. | 给 AI 桌面应用换肤的 Agent Skills:参考图 → 可逆皮肤 → 验证、修复、发布。 · GitHub


想听听大家的意见



  1. 现在支持 Codex、WorkBuddy、QoderWork、TRAE SOLO,下一个最值得适配的 AI 桌面应用是哪个?(评论区点名,我看呼声)

  2. 适配器协议 / 主题包 schema / 安全边界还有哪些坑没考虑到?

  3. 有做主题的欢迎投稿商店,想写新应用适配器的欢迎提 PR,我们还有个 codedrobe-adapter-dev Skill 能让 AI 帮你写适配器。


欢迎试用、开喷、提 Issue。

最新回复 (7)
  • yeluo001 07-19 16:24
    1


    1. AI 桌面应用



    opencode desktop,官方的新ui感觉有点丑

  • 小铎爷 07-19 17:07
    2

    哦,要是有办法把制作好的皮肤直接发给朋友去覆盖式安装就好了,不用额外安装主题之外的内容

  • 安好 楼主 07-19 17:19
    3

    可以呀,把做好的主题打包成 codedrobe-theme 文件就可以让别人导入安装了

  • 安好 楼主 07-19 17:21
    4

    可以的,安排,应该也是 Chromium 实现的

  • ehzyil 07-19 17:33
    5

    看到这个qq主题下载了workbuddy



    # CLI 换肤
    npm install --global @codedrobe/core
    codedrobe apply --app codex --theme ./qq-2007.codedrobe-theme
    codedrobe apply --app workbuddy --theme ./qq-2007.codedrobe-theme


    应用主题的时候需要先下载到本地


    PS C:\Users\49502> codedrobe apply --app workbuddy --theme ./qq-2007.codedrobe-theme
    [codedrobe] ENOENT: no such file or directory, stat 'C:\Users\49502\qq-2007.codedrobe-theme'
    PS C:\Users\49502> npx --yes @codedrobe/core@latest theme download qq-2007
    {
    "action": "theme-download",
    "slug": "qq-2007",
    "themeId": "qq-2007",
    "version": "0.1.0",
    "displayName": "QQ 2007 · 蓝色记忆",
    "targets": [
    "codex",
    "workbuddy"
    ],
    "sizeBytes": 1325308,
    "sha256": "633a92b85ba7c8eb3a2f72a4cae19d96821ee23e02f84382389092d9f285dc2d",
    "convertedFromLegacy": false,
    "output": "C:\\Users\\49502\\.codedrobe\\themes\\qq-2007-0.1.0.codedrobe-theme",
    "storeUrl": "https://codedrobe.app/themes/qq-2007",
    "next": "codedrobe apply --app <app-id> --theme C:\\Users\\49502\\.codedrobe\\themes\\qq-2007-0.1.0.codedrobe-theme"
    }

    PS C:\Users\49502> codedrobe apply --app workbuddy --theme C:\\Users\\49502\\.codedrobe\\themes\\qq-2007-0.1.0.codedrobe-theme
  • dim gg 07-19 17:34
    6

    不错,我昨晚刚好在git上看了几个皮肤,哈哈哈,今天你就发出来了,

  • 小铎爷 07-19 17:36
    7

    哦哦,是我没说清楚,就是想着朋友的电脑上只装workbuddy和这个主题,不用装制作theme的这个您开发的软件。

* 帖子来源Linux.do
返回