给 WorkBuddy 一键换皮肤的跨平台桌面应用,也是一个供 Agent 开发主题、社区共同维护主题库的开放协议。
Theme Manager 提供主题预览、ZIP 导入、GitHub 在线同步、一键应用、主题移除和恢复原生主题。它只在当前 WorkBuddy 会话中注入一个受控的 <style>,不会修改 WorkBuddy.app、WorkBuddy.exe、app.asar、签名、账号或对话数据。
| 阿轲 · 绯青之刃 | 安琪拉 · 烈焰魔导 |
|---|---|
![]() |
![]() |
| 负鼠 · 子夜窗语 | 孙悟空 · 凌霄圣影 |
![]() |
![]() |
| 小乔 · 糖果物语 | 瑶 · 林间秘境 |
![]() |
![]() |
从 GitHub Releases 下载:
- macOS(Apple Silicon / Intel):
.dmg或.zip - Windows 10/11 x64:安装版
.exe或免安装便携版.exe
打开 Theme Manager 后即可预览并应用内置主题。第一次换肤时,应用会解释原因并征得确认,然后重启一次 WorkBuddy;之后在同一会话中可以热切换。点击“恢复原生主题”即可撤销。
主题卡片上的“移除”可以删除用户安装的主题,或在本机隐藏内置主题。隐藏内置主题不会修改已签名的应用包;需要找回时,点击主题库右上角的“恢复已隐藏主题”。正在使用的主题需要先切换到其他主题或恢复原生主题。
Theme Manager 会以单实例运行,并自动接管旧版命令行换肤工具留下的主题守护进程,避免多个守护进程同时注入 CSS 导致主题来回闪烁。
macOS 正式发行包使用 Developer ID Application 签名、Hardened Runtime 和 Apple 公证,并把公证票据 Staple 到应用中。Windows 发行包尚未配置代码签名证书,首次下载时仍可能出现 SmartScreen“未知发布者”提示。
点击“导入主题包”,选择 .zip。应用会检查文件类型、体积、路径、Manifest、CSS 作用域和本地素材,再原子化安装。压缩包只能包含一套主题,详见 贡献指南。
点击“同步社区主题”。应用会读取本仓库的 workbuddy-theme/registry.json,只下载有更新的版本,并验证每个文件的大小和 SHA-256 后再安装。
需要 Node.js 20+:
cd theme-manager
npm install
npm start构建当前平台安装包:
npm run dist也可以分别运行 npm run dist:mac 或 npm run dist:win。GitHub Actions 会在 macOS 和 Windows 原生 Runner 上生成对应安装包,避免本机跨平台构建工具链差异。
本地钥匙串需要安装 Developer ID Application 证书。推荐把公证凭据保存在钥匙串 Profile;以下命令会安全提示输入 App 专用密码,不要把密码写进命令:
xcrun notarytool store-credentials "workbuddy-notary" \
--apple-id "你的 Apple ID" \
--team-id "你的 Team ID"
export APPLE_KEYCHAIN="$HOME/Library/Keychains/login.keychain-db"
export APPLE_KEYCHAIN_PROFILE="workbuddy-notary"
cd theme-manager
npm run dist:mac -- --universal构建结束后可运行:
codesign --verify --deep --strict --verbose=2 "dist/mac-universal/WorkBuddy Theme Manager.app"
xcrun stapler validate "dist/mac-universal/WorkBuddy Theme Manager.app"
spctl --assess --verbose --type exec "dist/mac-universal/WorkBuddy Theme Manager.app"GitHub Tag 发布需要在仓库 Actions Secrets 中配置 MAC_CSC_LINK、MAC_CSC_KEY_PASSWORD、APPLE_ID、APPLE_APP_SPECIFIC_PASSWORD 和 APPLE_TEAM_ID。普通 Pull Request 构建会显式关闭签名与公证,仅用于安装包结构验证;manager-v* Tag 的正式发行工作流才使用上述 Secrets。
应用 Logo 使用 assets/icon.png。
把 workbuddy-theme 目录链接到 Agent 的 Skills 目录:
mkdir -p ~/.agents/skills
ln -s "$(pwd)/workbuddy-theme" ~/.agents/skills/workbuddy-theme然后可以直接提出:
使用 $workbuddy-theme 参考这张图创建主题,验证后帮我应用到 WorkBuddy。
Skill 不只教 Agent 写 CSS:它包含设计契约、主题校验、打包、应用、状态检查、恢复和社区投稿全流程。若 WorkBuddy 尚未运行在主题会话中,Agent 会在重启前取得明确许可;已有本地调试会话时可直接热切换。
命令行用户仍可在 macOS 使用:
node workbuddy-theme/scripts/switch-theme.mjs --list
node workbuddy-theme/scripts/switch-theme.mjs honor-of-kings
node workbuddy-theme/scripts/switch-theme.mjs --restoreWindows 用户请使用 Theme Manager,旧版 CLI 启动适配器目前仍仅支持 macOS。
主题位于 workbuddy-theme/assets/<theme-id>/:
<theme-id>/
├── theme.json
├── theme.css
├── preview.png
├── artwork.png # 可选
└── preview.html # 可选设计预览
本地验证与重建社区索引:
node workbuddy-theme/scripts/validate-theme.mjs workbuddy-theme/assets/<theme-id>
node workbuddy-theme/scripts/workbuddy-theme.mjs dry-run workbuddy-theme/assets/<theme-id>
node workbuddy-theme/scripts/build-registry.mjs
node workbuddy-theme/scripts/build-registry.mjs --check完整投稿步骤、版本规范、隐私要求和 PR 检查表见 CONTRIBUTING.md。Agent 发布流程见 community-publishing.md。
- 调试端口只绑定
127.0.0.1,不监听局域网 - 不修改或解包 WorkBuddy 安装文件
- Electron 管理器启用上下文隔离、沙箱、严格 CSP 和最小 IPC API
- ZIP 导入拒绝可执行文件、远程样式、路径穿越和超限内容
- GitHub 同步固定到 HTTPS raw-content 源并逐文件校验哈希
- 主题资源必须在主题目录内,禁止远程脚本和可执行 URL
.gitignore排除真实界面截图、运行状态、日志和环境变量文件
.
├── assets/icon.png
├── theme-manager/ # Win/Mac Electron 可视化应用
├── workbuddy-theme/
│ ├── SKILL.md # Agent 全流程
│ ├── assets/ # 社区主题源
│ ├── registry.json # Theme Manager 同步索引
│ ├── references/
│ └── scripts/
├── CONTRIBUTING.md
└── .github/workflows/
本项目是社区实验项目,与 WorkBuddy、腾讯或相关游戏品牌不存在官方关联。软件代码采用 MIT License。示例主题中的品牌名称、角色概念和商标归各自权利人所有;投稿和再发布素材前请自行确认适用权限。
- 感谢 Codexthemes
- 感谢 Linux DO 社区对本项目的推广







