词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
hermes dashboard)在设计上支持换肤和扩展,无需 fork 代码库。对外暴露三个层次:~/.hermes/dashboard-themes/,即可在主题切换器中看到它。manifest.json 和 JavaScript bundle 的目录,可注册标签页、替换内置页面、通过页面级插槽增强内置页面,或向命名 shell 插槽注入组件。router; 路由挂载在 /api/plugins/<name>/ 下,由插件的 UI 调用。npm run build、无需修改 dashboard 源码。本页是三者的权威参考文档。strike-freedom-cockpit 演示正是如此。参见主题 + 插件组合演示。~/.hermes/dashboard-themes/ 中的 YAML 文件。文件名无关紧要(系统使用主题的 name: 字段),但惯例是 <name>.yaml。所有字段均为可选——缺失的键会回退到内置的 default 主题,因此一个主题可以只包含一个颜色。color-mix() 从这两个颜色自动计算得出。color-mix() 从这三层颜色派生出所有兼容 shadcn 的 token(card、popover、muted、border、primary、destructive、ring 等)。覆盖三个颜色即可级联影响整个 UI。| 键 | 描述 |
|---|---|
palette.background | 最深的画布颜色——通常接近黑色。驱动页面背景和卡片填充。 |
palette.midground | 主要文字和强调色。大多数 UI 外观读取此值(前景文字、按钮轮廓、焦点环)。 |
palette.foreground | 顶层高亮色。默认主题将其设为 alpha 为 0 的白色(不可见);需要顶层亮色强调的主题可提高其 alpha 值。 |
palette.warmGlow | rgba(...) 字符串,用作 <Backdrop /> 的晕光颜色。 |
palette.noiseOpacity | 0–1.2 的颗粒叠加层倍增器。越低越柔和,越高越粗粝。 |
{hex: "#RRGGBB", alpha: 0.0–1.0} 或裸十六进制字符串(alpha 默认为 1.0)。| 键 | 类型 | 描述 |
|---|---|---|
fontSans | string | 正文的 CSS font-family 栈(应用于 html、body)。 |
fontMono | string | 代码块、<code>、.font-mono 工具类的 CSS font-family 栈。 |
fontDisplay | string | 可选的标题/展示字体栈。回退到 fontSans。 |
fontUrl | string | 可选的外部样式表 URL。在主题切换时以 <link rel="stylesheet"> 注入 <head>。相同 URL 不会重复注入。支持 Google Fonts、Bunny Fonts、自托管 @font-face 样式表——任何可链接的资源均可。 |
baseSize | string | 根字体大小——控制 rem 比例。例如 "14px"、"16px"。 |
lineHeight | string | 默认行高。例如 "1.5"、"1.65"。 |
letterSpacing | string | 默认字间距。例如 "0"、"0.01em"、"-0.01em"。 |
| 键 | 值 | 描述 |
|---|---|---|
radius | 任意 CSS 长度("0"、"0.25rem"、"0.5rem"、"1rem" 等) | 圆角 token。映射到 --radius 并级联到 --radius-sm/md/lg/xl——所有圆角元素同步变化。 |
density | compact | comfortable | spacious | 间距倍增器,以 --spacing-mul CSS 变量形式应用。compact = 0.85×,comfortable = 1.0×(默认),spacious = 1.2×。缩放 Tailwind 的基础间距,因此 padding、gap 和 space-between 工具类均按比例调整。 |
layoutVariant 选择整体 shell 布局。缺省时默认为 "standard"。| 变体 | 行为 |
|---|---|
standard | 单列,最大宽度 1600px(默认)。 |
cockpit | 左侧边栏轨道(260px)+ 主内容区。由插件通过 sidebar 插槽填充——参见 Shell 插槽。没有插件时轨道显示占位符。 |
tiled | 取消最大宽度限制,页面可使用完整视口宽度。 |
document.documentElement.dataset.layoutVariant 暴露,因此 customCSS 中的原始 CSS 可通过 :root[data-layout-variant="cockpit"] ... 定向匹配。--theme-asset-<name>),内置 shell 和任何插件均可读取。bg 插槽自动接入 backdrop;其他插槽面向插件开放。url(...)。url(...)、linear-gradient(...)、radial-gradient(...) 表达式——直接使用。"none" ——明确禁用。--theme-asset-<name>-raw(未包装的 URL)形式输出,以便插件需要将其传给 <img src> 而非 background-image 时使用。componentStyles 可在不编写 CSS 选择器的情况下重新设置各 shell 组件的样式。每个桶(bucket)的条目会成为 CSS 变量(--component-<bucket>-<kebab-property>),shell 的共享组件会读取这些变量。因此 card: 的覆盖应用于所有 <Card>,header: 应用于应用栏,以此类推。card、header、footer、sidebar、tab、progress、badge、backdrop、page。clipPath),输出为 kebab-case(clip-path)。值为纯 CSS 字符串——CSS 接受的任何内容均可(clip-path、border-image、background、box-shadow、animation 等)。colorOverrides。card、cardForeground、popover、popoverForeground、primary、primaryForeground、secondary、secondaryForeground、muted、mutedForeground、accent、accentForeground、destructive、destructiveForeground、success、warning、border、input、ring。--color-<kebab> CSS 变量一一对应(例如 primaryForeground → --color-primary-foreground)。此处设置的任何键仅对当前激活主题生效,切换到其他主题时覆盖会被清除。customCSScomponentStyles 无法表达的选择器级外观——伪元素、动画、媒体查询、主题范围内的覆盖——可将原始 CSS 写入 customCSS:<style data-hermes-theme-css> 标签注入,主题切换时清除。每个主题上限为 32 KiB。| 主题 | 调色板 | 字体排版 | 布局 |
|---|---|---|---|
Hermes Teal(default) | 深青色 + 奶油色 | 系统字体栈,15px | 0.5rem 圆角,comfortable |
Hermes Teal (Large)(default-large) | 同 default | 系统字体栈,18px,行高 1.65 | 0.5rem 圆角,spacious |
Midnight(midnight) | 深蓝紫色 | Inter + JetBrains Mono,14px | 0.75rem 圆角,comfortable |
Ember(ember) | 暖深红 + 古铜色 | Spectral(衬线)+ IBM Plex Mono,15px | 0.25rem 圆角,comfortable |
Mono(mono) | 灰度 | IBM Plex Sans + IBM Plex Mono,13px | 0 圆角,compact |
Cyberpunk(cyberpunk) | 黑底霓虹绿 | Share Tech Mono 全局,14px | 0 圆角,compact |
Rosé(rose) | 粉色 + 象牙色 | Fraunces(衬线)+ DM Mono,16px | 1rem 圆角,spacious |
<head> 注入一个 <link> 标签。config.yaml 的 dashboard.theme 下,并在重载时恢复。manifest.json、预构建 JS bundle,以及可选的 CSS 文件和带 FastAPI 路由的 Python 文件的目录。插件与其他 Hermes 插件一起存放在 ~/.hermes/plugins/<name>/——dashboard 扩展是该插件目录内的 dashboard/ 子文件夹,因此一个插件可以从单次安装中同时扩展 CLI/gateway 和 dashboard。window.__HERMES_PLUGIN_SDK__ 上的 Plugin SDK。这使插件 bundle 保持极小体积(通常只有几 KB),并避免版本冲突。