找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5154

积分

0

好友

710

主题
发表于 16 小时前 | 查看: 5| 回复: 0

动漫风格少女在雨夜窗边戴着耳机听音乐,画面充满科技与文艺氛围

背景

Hermes Agent 的 Web Dashboard 原先采用了深青色(dark teal)主题,视觉风格颇具赛博朋克味道——深色背景、琥珀色文字,并使用了如 Mondwest、RulesCompressed 等具有锯齿化像素效果的字体。这种风格虽然辨识度高,但在日常高频使用中,逐渐暴露出几个影响体验的问题:

  1. 像素字体可读性差:Mondwest 等自定义像素字体在普通分辨率屏幕上锯齿感明显,尤其是在显示中文时,阅读起来颇为费力。
  2. 暗色主题不适合长时间使用:在光线明亮的办公环境下,高对比度的暗色界面容易导致视觉疲劳,不够友好。
  3. 与现代 SaaS 工具视觉割裂:当前主流的开发与协作工具,如 Linear、Vercel、Stripe 等,普遍采用清晰、明亮的设计语言,Hermes 原有的暗黑风格显得有些格格不入。

Hermes Dashboard 暗色主题下的 Keys 管理页面

因此,我决定对其进行一次视觉改造,目标是打造一个现代、明亮的极简风格界面。新的设计以 Inter + JetBrains Mono 作为基础字体栈,主色调选用紫色(#6d5dfc),力求整体观感干净、克制。

改造后的效果对比如下:

改造为现代亮色主题后的 Hermes Dashboard 状态页面

改造概览

设计语言

属性 旧值(Dark Teal) 新值(Light)
背景色 #041C1C #fafafa
前景色 #ffe6cb #0f0f0f
卡片色 #062424 #ffffff
主色 #ffe6cb(琥珀) #6d5dfc(紫色)
边框色 半透明琥珀 #e4e4e7
正文字体 Mondwest Inter
等宽字体 Courier Prime JetBrains Mono
圆角 0(方正) xl(圆润)
阴影 shadow-sm

涉及文件(19 个)

核心设计令牌:

  • index.css — 全部的 CSS 变量、字体栈、全局效果(noise overlay / warm glow)
  • index.html — 添加 Google Fonts CDN 链接(用于加载 Inter + JetBrains Mono 字体)

UI 基础组件:

  • badge.tsx — 圆角药丸样式,适配浅色背景变体
  • card.tsx — 添加 rounded-xl + shadow-sm + 白色背景
  • button.tsx — rounded-lg,紫色主色,优化 focus-visible ring 样式
  • input.tsx / select.tsx — 白色背景,ring-2 focus 样式
  • switch.tsx — 圆角滑块,紫色 checked 状态,白色 thumb
  • label.tsx — 移除 uppercase 和 letter-spacing 样式
  • tabs.tsx — 移除 uppercase,紫色 active indicator

页面与布局:

  • App.tsx — 全新 header:紫色 logo icon + 圆角导航栏 + 白色毛玻璃背景
  • OAuthLoginModal.tsx — 应用 rounded-xl 圆角
  • AutoField.tsx — textarea 白色背景 + ring-2 边框
  • Toast.tsx — 白色背景圆角 + shadow-lg
  • ConfigPage.tsx / CronPage.tsx — 适配 textarea 样式
  • AnalyticsPage.tsx — 清除所有硬编码的暗色值(如 #ffe6cbtext-primary
  • SkillsPage.tsx — amber-300 → amber-600
  • StatusPage.tsx — 移除 font-display 相关样式

Patch 生成与使用

我将所有修改打包生成了一个 patch 文件:https://gist.github.com/smallnest/e2e55b22e305b16daac696f2e3eb1242 ,你可以通过以下方法轻松应用。

应用方法

hermes-agent 项目的根目录下执行以下命令:

git apply hermes-dashboard-light-theme.patch
cd web && npx vite build

构建产物将输出到 hermes_cli/web_dist/ 目录,重启 Hermes Agent 服务后即可看到全新的亮色主题。

回滚

如需回滚到原始主题,执行:

git apply -R hermes-dashboard-light-theme.patch

技术细节

字体加载策略

通过 Google Fonts CDN 加载 Inter(字重 400/500/600/700)和 JetBrains Mono(字重 400/500)。在 index.html 中使用 <link> 标签并配合 font-display: swap 属性,确保首屏文字不会因字体加载而闪烁。

在 CSS 中,我保留了 font-displayfont-expandedfont-compressedfont-courier 等工具类名,但将它们全部映射到新的 Inter 或 JetBrains Mono 字体上。这样做的好处是,即便旧组件中残留了对这些 class 的引用,也不会导致样式错误或控制台报错。

全局效果适配

原有的噪声叠加(noise overlay)和温暖光晕(warm glow)效果也从暗色模式适配到了亮色模式:

  • Noise overlay: 将 mix-blend-modecolor-dodge 改为 overlay,同时将 opacity 从 0.10 降低到 0.015。
  • Warm glow: 将光晕颜色从琥珀色径向渐变改为淡紫色,并将 mix-blend-modelighten 改为 multiply

在亮色主题下,这两个效果变得非常克制,几乎难以察觉,但又为界面保留了微妙的视觉层次和品牌质感。

Badge 颜色体系

Badge 组件的样式从暗色半透明背景改为更符合亮色设计规范的浅色实心底色:

Variant 旧样式 新样式
default border-foreground/20 bg-foreground/10 border-primary/20 bg-primary/10 text-primary
destructive border-destructive/30 bg-destructive/15 border-red-200 bg-red-50 text-red-600
success grain border-emerald-600/30 bg-emerald-950/70 border-emerald-200 bg-emerald-50 text-emerald-700
warning border-warning/30 bg-warning/15 border-amber-200 bg-amber-50 text-amber-700

总结

得益于 Tailwind CSS v4 强大的 @theme CSS 变量系统,本次改造的大部分工作只需集中修改 index.css 文件中的颜色变量值,组件样式便能自动更新。仅有个别页面存在硬编码的颜色值(例如 AnalyticsPage 中的 #ffe6cb),需要手动查找并替换为对应的语义化 token。

最终,我们得到了一个干净、现代且具备高可读性的亮色 Dashboard。它不仅与当前主流 SaaS 工具的视觉语言保持了一致,提升了长时间使用的舒适度,同时也通过标志性的紫色主色和精心调整的全局效果,保留了 Hermes 独特的品牌辨识度。如果你也对前端视觉优化或 Hermes Agent 感兴趣,欢迎在云栈社区交流你的想法和实践。




上一篇:MemoryX Chrome插件:为ChatGPT/Claude/Gemini构建统一AI记忆层
下一篇:Claude 开启身份验证引发争议,开发者该如何应对?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-18 18:30 , Processed in 0.612143 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表