Skip to content

Repository files navigation

WorkBuddy Theme Manager

给 WorkBuddy 一键换皮肤的跨平台桌面应用,也是一个供 Agent 开发主题、社区共同维护主题库的开放协议。

Theme Manager 提供主题预览、ZIP 导入、GitHub 在线同步、一键应用、主题移除和恢复原生主题。它只在当前 WorkBuddy 会话中注入一个受控的 <style>,不会修改 WorkBuddy.appWorkBuddy.exeapp.asar、签名、账号或对话数据。

已收录主题

2026 AI 产品大会

2026 AI 产品大会主题设计预览

王者荣耀风格

王者荣耀风格主题设计预览

英雄与萌宠主题

阿轲 · 绯青之刃 安琪拉 · 烈焰魔导
阿轲主题预览 安琪拉主题预览
负鼠 · 子夜窗语 孙悟空 · 凌霄圣影
负鼠主题预览 孙悟空主题预览
小乔 · 糖果物语 瑶 · 林间秘境
小乔主题预览 瑶主题预览

普通用户:可视化换肤

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 后再安装。

开发与构建 Theme Manager

需要 Node.js 20+:

cd theme-manager
npm install
npm start

构建当前平台安装包:

npm run dist

也可以分别运行 npm run dist:macnpm run dist:win。GitHub Actions 会在 macOS 和 Windows 原生 Runner 上生成对应安装包,避免本机跨平台构建工具链差异。

macOS 签名与公证

本地钥匙串需要安装 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_LINKMAC_CSC_KEY_PASSWORDAPPLE_IDAPPLE_APP_SPECIFIC_PASSWORDAPPLE_TEAM_ID。普通 Pull Request 构建会显式关闭签名与公证,仅用于安装包结构验证;manager-v* Tag 的正式发行工作流才使用上述 Secrets。

应用 Logo 使用 assets/icon.png

Agent:创建并帮用户换好主题

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 --restore

Windows 用户请使用 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。示例主题中的品牌名称、角色概念和商标归各自权利人所有;投稿和再发布素材前请自行确认适用权限。

致谢

About

Create, validate, preview, switch, and safely apply runtime themes for the WorkBuddy Electron desktop app.

Topics

Resources

Contributing

Stars

18 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages