跳转到内容

如何制作自定义皮肤扩展

Turbo 的皮肤扩展就是 Chromium 主题扩展:只改窗口配色与背景图,不含脚本、不申请权限。格式与 Chrome / Edge 主题相同,可在本机加载调试,也可打包成 .crx 分享。

想先换配色、不必自己做扩展时,用标题栏 换肤 即可;也可从标题栏 主题 入口打开 Edge 主题商店。详见 一键换肤

准备什么

  • 一台已安装 Turbo 的电脑(Windows 或 macOS)
  • 文本编辑器(用于编辑 manifest.json
  • PNG 图片(标题栏、工具栏、新标签页背景等,按需准备)

建议先建一个空文件夹,例如 my-turbo-theme/

my-turbo-theme/
  manifest.json
  images/
    frame.png
    toolbar.png
    ntp.png

图片不是每一项都必须有。没有图时,浏览器会用 colors 里的纯色填充对应区域。

编写 manifest.json

主题扩展的核心是 "theme" 字段,不要写 backgroundcontent_scriptspermissions 等普通扩展项。

下面是一份可直接改的示例(Manifest V3):

json
{
  "manifest_version": 3,
  "name": "我的 Turbo 皮肤",
  "version": "1.0.0",
  "description": "自定义标题栏、工具栏与新标签页配色",
  "theme": {
    "images": {
      "theme_frame": "images/frame.png",
      "theme_toolbar": "images/toolbar.png",
      "theme_ntp_background": "images/ntp.png"
    },
    "colors": {
      "frame": [37, 99, 235],
      "frame_inactive": [100, 116, 139],
      "toolbar": [241, 245, 249],
      "tab_text": [15, 23, 42],
      "tab_background_text": [71, 85, 105],
      "bookmark_text": [30, 41, 59],
      "ntp_background": [248, 250, 252],
      "ntp_text": [15, 23, 42],
      "omnibox_background": [255, 255, 255],
      "omnibox_text": [15, 23, 42],
      "toolbar_button_icon": [51, 65, 85]
    },
    "properties": {
      "ntp_background_alignment": "center",
      "ntp_background_repeat": "no-repeat"
    }
  }
}

颜色一律为 RGB 数组,取值 0255,例如 [37, 99, 235] 是蓝色。商店里的旧主题也常用 Manifest V2,Turbo 同样可以加载。

常用字段

图片 theme.images

路径相对扩展根目录。推荐 PNG。

作用
theme_frame标题栏 / 窗口外框背景(常横向平铺)
theme_toolbar工具栏、书签栏,以及当前标签一带的背景
theme_tab_background未选中标签的背景
theme_ntp_background新标签页背景图
theme_ntp_attribution新标签页上的作者署名小图(可选)

未列出的图片键(如无痕窗口外框)一般可省略,浏览器会回退到默认绘制。

颜色 theme.colors

作用
frame / frame_inactive活动 / 非活动窗口外框
toolbar工具栏底色,也是当前(激活)标签的底色;当前标签与工具栏连成一块。Turbo 还会让地址栏尽量与此同色
tab_text当前标签上的文字颜色
tab_background_text未选中标签上的文字颜色
bookmark_text书签栏文字
ntp_background / ntp_text新标签页底色与文字
omnibox_background / omnibox_text地址栏底色与文字
toolbar_button_icon工具栏按钮图标着色

无痕窗口另有 frame_incognito 等键,需要时再加。

属性 theme.properties

常用取值
ntp_background_alignmentcentertopbottomleftright
ntp_background_repeatno-repeatrepeatrepeat-xrepeat-y
ntp_logo_alternate01,切换新标签页默认徽标深浅

着色 theme.tints(可选)

用 HSL 三个 01 的小数给按钮、外框等做整体染色。不熟悉可先不写,只靠 colors 和图片就够做出完整皮肤。

在 Turbo 里加载预览

  1. 打开 chrome://extensions(或 菜单 → 扩展程序 → 管理扩展程序)。
  2. 打开右上角 开发者模式
  3. 点击 加载已解压的扩展程序,选中 my-turbo-theme 文件夹。
  4. 安装成功后外观会立刻切换。改 JSON 或换图后,回到管理页点该扩展的 刷新

TIP

主题扩展出现在扩展列表里,但没有工具栏图标,这是正常的。卸下或禁用该扩展即恢复之前的外观。

更完整的开发者入口说明见 扩展开发

打包成 .crx

调试满意后,可在扩展管理页点击 打包扩展程序,选择主题文件夹。成功后得到:

  • .crx — 安装包,可拖进 Turbo 窗口安装,或发给别人
  • .pem — 私钥,请妥善保存,以后升级同一皮肤要用同一把钥匙

安装 .crx 的方式与普通扩展相同,见 扩展生态与翻译

制作建议

  • 先定 toolbar 色。 它同时决定工具栏和当前标签的底色,也会带动地址栏;图的主色尽量贴近该 RGB,并保证 tab_text 对比度够。未选中标签另用 theme_tab_background / tab_background_text
  • 标题栏图宜偏宽、可平铺。 theme_frame 在宽窗口上会重复,接缝处不要有明显色差。
  • 新标签页图不要过大。 一张过大的 PNG 会拖慢打开速度;全屏背景用压缩过的 JPEG 转 PNG、或缩小尺寸即可。
  • 同时看浅色 / 深色系统。 皮肤不会自动跟随系统深色模式;若系统是深色而皮肤是浅色,对比可能突兀。
  • 版权。 只使用你有权使用的图片与字体截图。

常见问题

加载后没有变化?
确认 manifest.json 在文件夹根目录、JSON 无语法错误,且 "theme" 字段存在。管理页若显示错误,按提示改后再刷新。

只想改颜色、不想做图?
删掉 images 整段,只保留 colors 即可做成纯色皮肤。

如何卸下自定义皮肤?
chrome://extensions 中移除或禁用该主题扩展;或打开 设置 → 外观,恢复默认配色。

能上架 Chrome 商店吗?
可以按商店规则提交主题。日常在 Turbo 里用,加载文件夹或安装 .crx 即可。标题栏 主题 入口面向 Edge 主题商店,适合直接安装现成主题,不必自己做包。

延伸阅读