前言
开源工具,个人本地AI调度网关迎来UI更新
更新前UI:
之前的AI我都是让ai自行更新自行设计修改,因此它的页面其实是非常ai化的,感觉就像大多数人用ai生成的一样,非常的不好看。我一直也不太满意,对此,今天一天直接对它开始了全面的更新,也是可以给佬们展示一下成果了。
样式:

图1-1 仪表盘页面

图1-2 用量趋势页面

图1-3 请求历史页面

图1-4 实时日志页面

图1-5 一键配置页面
更新后样式:
我仿照了gemini网页的设计进行了全面重构,并且减少了重复的功能和一些没必要的方框嵌套,简化操作流程,最后的样式为这样的:
样式:

图2-1 仪表盘页面

图2-2 用量趋势页面

图2-3 请求历史页面

图2-4 实时日志页面

图2-5 一键配置页面
整体来说,感觉比之前好多了,当然还是有很多样式没有改到,或者还有bug的地方,目前还在调试。
提示词分享
Gemini风格:
KeyProxy 前端 UI 优化提示词 (Codex/AI 辅助)
目标: 将现有的桌面网关前端界面重构为一个现代、极简、类似 Google Gemini 风格的 UI。界面需要完全支持响应式设计以及平滑的亮暗色模式切换。
技术栈建议 (如果适用): HTML/JS, Tailwind CSS (强烈推荐用于此风格), 或者基于 React/Vue 的无头组件库 (如 Headless UI/Radix UI) 配合 Tailwind。
阶段 1:全局设定与主题配置 (Global Setup & Theming)
发给 Codex 的提示词:
"你现在是一个顶级的 UI/UX 工程师。我需要你为我的桌面应用 'KeyProxy' 初始化一个前端项目结构。
设计系统: 整体风格请参考 Google Gemini 的 Web 端或 App 端。核心理念是:极致的整洁、大面积的留白、圆润的边角、以及极简的线条。
颜色系统 (亮色模式): 背景色使用极浅的灰白色 (例如 bg-slate-50 或 #f8f9fa)。卡片和内容区域使用纯白色 (bg-white) 带非常轻微的阴影 (shadow-sm)。主要文字颜色为深灰 (text-slate-800),次要文字为中灰 (text-slate-500)。
颜色系统 (暗色模式): 背景色使用深沉但非纯黑的颜色 (例如 bg-slate-900 或 #131314)。卡片使用稍浅一点的深灰色 (例如 bg-slate-800 或 #1e1e20),不要使用明显的阴影,而是使用 1px 的深色边框 (border-slate-700)。主要文字颜色为极浅的灰色 (text-slate-200),次要文字为中灰色 (text-slate-400)。
主色调 (Accent Color): 使用一种优雅的蓝色或紫色作为强调色(用于按钮悬停、激活状态、重要图标),例如 text-blue-500 或具有类似 Gemini 渐变感的颜色。
排版 (Typography): 字体请使用系统默认的无衬线字体 (System Sans-serif) 或者 Inter/Roboto。确保行高 (line-height) 舒适,字重 (font-weight) 区分明显(标题加粗,正文常规)。
圆角 (Border Radius): 全局使用较大的圆角,卡片使用 rounded-2xl,按钮使用 rounded-full 或 rounded-xl。
请先帮我生成基础的 HTML 骨架和 CSS 变量/Tailwind 配置来实现上述的亮暗色模式切换机制。"
阶段 2:布局与导航结构 (Layout & Navigation)
发给 Codex 的提示词:
"基于之前的全局设定,现在设计应用的整体布局。
布局结构: 采用经典的侧边栏 (Sidebar) + 主内容区 (Main Content) 的布局。对于小屏幕,侧边栏应该可以折叠成汉堡菜单。
侧边栏设计:
宽度适中。
顶部放置 'KeyProxy' 的 Logo 和应用名称(字体略粗)。
导航项 (如:Dashboard, Proxies, Settings, Logs) 垂直排列。
导航项的悬停状态 (Hover) 和激活状态 (Active) 需要有明显的视觉反馈:比如激活时背景变成极浅的主色调(亮色下)或深灰(暗色下),文字和图标颜色高亮。
导航项使用圆润的胶囊形状背景 (rounded-full)。
主内容区:
顶部有一个简单的 Header,显示当前页面的标题,以及右侧放置一个亮暗模式切换的图标按钮 (Theme Toggle)。
内容区域应该被包裹在一个有内边距的最大宽度容器中,确保在大屏幕上不会太宽。
请生成实现这个布局的 HTML 和必要的 CSS (或 Tailwind 类名)。"
阶段 3:核心组件设计 - 状态卡片 (Status Cards)
发给 Codex 的提示词:
"在 'Dashboard' 主页面,我需要几个状态卡片来显示当前 KeyProxy 的运行状况。
卡片风格: 遵循 Gemini 风格的卡片:纯色背景,圆角极大 (rounded-2xl 或 rounded-3xl),亮色下有极淡的阴影 (shadow-sm) 或干脆没有阴影仅用极淡的边框 (border-gray-100),暗色下使用不同层级的深色背景和极细的边框。
卡片内容:
卡片 A: '运行状态' (包含一个绿色的状态点和 'Active' 文本)。
卡片 B: '当前连接数' (显示一个大数字)。
卡片 C: '今日流量' (显示 Up/Down 数据)。
排版细节: 卡片内的数字应该字体很大且加粗 (text-3xl font-bold)。在卡片右上角放置一个相关的小图标(颜色较淡)。
响应式: 这些卡片在桌面端应该水平排列 (Grid 或 Flex),在移动端应该垂直堆叠。
请生成这些状态卡片的代码。"
阶段 4:核心组件设计 - 代理列表/表格 (Proxy List)
发给 Codex 的提示词:
"现在设计 'Proxies' 页面,这里需要显示一个代理列表。我不想要传统的密集型表格,而是要更现代、清爽的列表视图。
列表容器: 一个大的卡片容器包裹整个列表。
列表项设计:
每一行代表一个代理规则或节点。
行与行之间使用非常淡的分隔线 (border-b border-gray-100 或暗色下的 border-slate-800)。
行内左侧:显示代理名称 (加粗) 和它的协议类型 (小字,带背景色的徽章形式,如 bg-blue-100 text-blue-700 rounded-full px-2 py-1)。
行内中间:显示目标地址或端口。
行内右侧:一个精美的开关组件 (Toggle Switch) 用于启用/禁用该代理,以及一个小的操作菜单图标 (三个点)。
悬停效果: 鼠标悬停在某一行时,该行的背景色轻微改变(例如 hover:bg-slate-50,暗色下 hover:bg-slate-800/50)。
请生成这个现代列表组件的代码。"
阶段 5:表单与输入框 (Settings / Inputs)
发给 Codex 的提示词:
"最后,为 'Settings' 页面设计输入框和按钮组件。
输入框 (Input):
外观:没有沉重的边框。默认状态下仅有底部边框或者一个极其轻微的全包围边框。
聚焦状态 (Focus): 当点击输入框时,边框颜色变成主色调,并且带有平滑的阴影效果 (ring-2 ring-blue-500/50),动画要流畅。
背景:输入框内部背景可以稍微比卡片背景深一点点,以区分区域。
按钮 (Button):
主按钮 (Primary): 胶囊形状 (rounded-full),背景填充主色调(或轻微的渐变色),文字为白色。悬停时背景稍微变暗或变亮。
次按钮 (Secondary): 仅有文字或带有极淡背景色的胶囊形状,用于取消等次要操作。
表单布局: 标签 (Label) 应该在输入框上方,字体较小,颜色较淡 (text-sm text-gray-500)。
请生成一组示例的输入框 (如输入端口号、密钥) 和保存按钮的代码。"
阶段 6:交互细节与微动画 (Micro-interactions)
(附加提示,用于让界面更高级):
"审查目前生成的所有 UI 组件,并添加类似于原生应用的微交互和动画:
所有按钮的点击状态 (active:scale-95)。
亮暗模式切换时的背景和颜色过渡动画,需要平滑不刺眼 (transition-colors duration-300)。
下拉菜单或模态框 (Modal) 出现时,应该有淡入和轻微的从下向上的位移动画 (opacity-0 translate-y-2 -> opacity-100 translate-y-0)。
确保焦点状态 (Focus states) 对于键盘导航是清晰可见的,但不要破坏整体美感。"
后面如果有更多我会分享给大家
2 个帖子 - 2 位参与者