Hermes Slate Desk 是一款以 Hermes Agent 为 AI 底座的本地桌面应用,基于 Tauri 2 + React 19 构建,面向 macOS 优先支持。它把 AI 对话、推理过程、模型切换、文件管理、终端操作、定时任务、Hermes 指令和 AI 笔记工作流整合到一个统一的桌面工作台中。
写在前面
如果你之前用过 Hermes Desktop Lite 的第一版,可能会觉得它更像一个"证明架构能跑"的演示程序。这几天我把应用从里到外翻了一遍,现在终于可以拿出一个更接近真实使用场景的版本——Hermes Slate Desk 桌面工作台。
改动覆盖内容比较多,先放一张整体感受的图镇楼,后面再逐块细说。
[截图1:Hermes Slate Desk 桌面工作台首页]
这次改了些什么
- 新增首页工作台,打开应用先看到系统状态和常用入口。
- 主界面改为三栏布局:主导航、中间上下文栏、右侧工作区。
- AI 笔记成为核心模块,支持目录、Markdown 编辑、预览和导出。
- 聊天可以直接操作笔记:查询、读取、总结、创建、追加和移动。
- 技能中心升级,支持市场搜索、安装、更新、启用和停用。
- 新增模型配置页和侧栏全局模型切换器。
- 文件管理、终端、定时任务都接入真实工作区。
- 微信、QQBot、Telegram、Discord、Slack、飞书、WhatsApp 等频道配置集中管理。
核心更新逐个看
1. 首页工作台——打开应用的第一个画面终于有意义了
之前首版的默认页更像占位符。这次新增了真正的首页,展示了当前工作区状态、Gateway 连接情况、今日对话数量、笔记数量、活跃定时任务——全是真实数据,不是 mock 数字。
[截图2:首页工作台——统计卡、空态处理、快速入口]
底部放了一排快捷入口:新对话、新笔记、定时任务、文件管理、Hermes 管理、设置。没有会话、没有笔记、Cron 加载失败这些边界情况也都补了空态,不会出现空白页面。
2. 三栏桌面布局——终于像个正经桌面应用了
这次把整个应用壳层重构了。从原来单薄的侧边栏多页面,升级为:
- 左侧:主导航
- 中间:列表/树/子菜单(可折叠)
- 右侧:主内容区
[截图3:三栏布局全貌——侧边栏、中栏、主内容区协同]
新增了
MainViewHeader、HermesSubmenu、SessionsList、CronList 等组件。视觉风格统一收敛为冷灰、克制,接近 macOS 原生工具台的感觉。全局基础控件(按钮、输入框、Badge、弹层、下拉、Tab、Sidebar)全部重新调整密度,不再松松垮垮。
3. AI 笔记本——终于有地方安心写东西了
这次做了完整的 Notebook 模块:
- 笔记树:文件夹、笔记的创建、重命名、删除、移动、搜索
- 编辑器:接入 Milkdown,支持 Markdown 编辑 + 实时预览、标题导航、代码块、表格、图片
- 工具栏:粗体、斜体、链接、列表、引用、代码块、分割线、图片、表格,常用写作操作都在
- AI 写作:选中文本或当前笔记内容润色,发起 AI 生成,支持插入或替换
- 从聊天保存:看了一段有用的 AI 回复,可以直接存进笔记本
- 导出:Markdown 导出,以及真正的
.docxWord 导出(不再靠 HTML 兼容层)
[截图4:Notebook 编辑器 + 工具栏 + AI Popover]
[截图5:Word 导出结果——标题、正文、列表、表格、代码块完整映射]
4. 聊天中直接操作笔记——不用离开对话就能管笔记
除了笔记本页面,这次还在聊天里直接支持了对笔记的操作。边聊边记,不用切换页面。
| 操作类型 | 示例问法 | 状态 |
|---|---|---|
| 统计笔记数量 | "我现在有多少个笔记?" | 已支持 |
| 统计目录数量 | "我有多少个笔记目录?" | 已支持 |
| 按关键词查询 | "根据关键词 React 查询笔记信息" | 已支持 |
| 按名称查找 | "按名称查找周计划这篇笔记" | 已支持 |
| 读取笔记内容 | "读取 React 性能笔记内容" | 已支持 |
| 总结笔记内容 | "总结周计划这篇笔记" | 已支持 |
| 把笔记内容发给我 | "把周计划的内容发给我看看" | 已支持 |
| 创建笔记 | "帮我创建个笔记" | 已支持 |
| 创建笔记并指定目录 | "帮我创建个笔记,放到项目复盘目录下面" | 已支持 |
| 创建笔记并指定名称 | "帮我创建个笔记,名称叫周会纪要" | 已支持 |
| 创建笔记并写入内容 | "帮我创建个笔记,名称叫周会纪要,内容是今天确认了排期。" | 已支持 |
| 创建目录 | "创建一个目录叫项目复盘" | 已支持 |
| 重命名笔记 | "把《周计划》改名为《5月周计划》" | 已支持 |
| 追加内容到笔记 | "给《产品想法》追加内容:新增一个移动端入口。" | 已支持 |
| 移动笔记到目录 | "把《周计划》移动到项目复盘目录" | 已支持 |
[截图7:聊天中执行"帮我创建个笔记,名称叫周会纪要"并写入成功]
安全限制:
- 找到多个同名或相似笔记时,不会自动操作,会提示你说得更具体
- 删除笔记/目录功能暂未开放
- 替换整篇正文、重命名目录、直接覆盖内容暂未开放
5. 技能市场——技能终于有地方管理了
之前技能模块虽然底层已经实现了,但没有独立入口。这次新增了独立的技能页,作为一级侧边栏菜单,放在 AI 笔记本之后。
技能页支持三种视图:已安装技能、技能市场、工具集。接的是真实 skills API,不是静态演示。支持搜索、分类过滤、启用/停用、详情查看、安装、卸载、更新。
[截图:技能市场页面——三种视图、搜索、分类]
6. 频道配置——配微信、QQ、Discord 都在一起
频道配置页覆盖了微信、QQBot、企业微信、Telegram、Discord、Slack、飞书、WhatsApp 等入口。
微信扫码从旧 CLI 路径改为 iLink 接口获取二维码并轮询状态。QQBot 扫码接入了 q.qq.com onboarding 流程,成功后直接写入 Hermes 所需的环境配置。频道配置本地存储,桌面模式写入 ~/.hermes/channels.json,浏览器模式用 localStorage。
[截图:频道配置页——各平台入口 + 微信扫码弹层]
7. 模型配置——换模型不再玄学
之前模型切换后聊天可能还在用旧的 session model fallback,体验很割裂。这次做了全局模型切换器,聊天发送统一读当前保存的全局模型。
模型配置页集中展示了供应商列表、API Key 管理、主模型配置、本地模型预设、自定义 endpoint。支持读取、保存、清空、显示/隐藏 Key。供应商覆盖了 OpenAI、Anthropic、DashScope/Qwen、DeepSeek、Gemini、GLM/Z.AI、HuggingFace、Kimi、MiniMax、OpenRouter、xAI、StepFun 等常见平台。
[截图:模型配置页——供应商、API Key、全局模型切换器]
8. 定时任务——从展示页变成真实管理台
之前 Cron 页面更像展示页面,缺少真实操作入口。这次完全重构:
- 创建、暂停、恢复、立即触发、删除——完整 CRUD
- Schedule builder:按小时、每天、每周、每月、自定义 cron 表达式生成计划
- 依赖检测:
croniter缺失时自动提示并提供安装命令 - 加载失败自动重试 + 明确错误说明
[截图:定时任务管理页——Cron List + Schedule Builder]
9. 文件管理——终于真的能读写文件了
首版的文件管理是纯 mock,这次接了真实的文件系统命令:目录读取、文件读取、预览、外部打开、写入、删除、创建目录。路径解析限制在当前工作区内,避免误操作到工作区外的文件。
三栏结构:中栏是文件树导航,主内容区做预览和操作。文本、图片、PDF、Office、二进制各有对应预览状态。
[截图:文件管理——文件树 + 内容预览]
10. 终端工作台——单终端、焦点优先
终端视图这次调整为专门的 workbench shell,修复了"双终端"的老问题。移除了多余的 dock 控件,终端焦点视图让内容优先显示,不再被顶部元信息挤占空间。
[截图:终端工作台]
11. 设置与服务管理——Gateway 和 Dashboard 不再黑箱
设置弹层新增了用户信息区(支持保存昵称)。更重要的是把 Gateway 和 Dashboard 两个服务的管理做进去了:状态检测、启动/停止、测试连接。之前这两个服务跑没跑、有没有问题,用户基本靠猜。
[截图15:设置页——用户信息 + Gateway/Dashboard 服务管理]
Hermes 管理扩展——集中管理才是正道
Hermes 管理二级菜单这次新增了:分析、频道、记忆、多智能体。加上原有的模型、命令、日志,一共七个入口。技能页升级为一级侧边栏入口。
[截图:Hermes 管理——分析、频道、技能、记忆]
那些被修掉的老大难问题
以下问题在第一版里普遍反馈比较多,这次一并处理了:
数据持久化
- 会话/消息重启后丢失 → 接入
sessions.dbSQLite 持久化 - 记忆/任务仅内存态 → 新增 SQLite 表、迁移命令
- 文件管理只有 mock → 接入真实文件系统命令
交互体验
cn is not defined运行时错误- 标题栏按钮点击不灵(拖拽透明覆盖层干扰)
- 终端双开、终端 dock 重复入口
- 聊天输入框暗色模式下强制白底
- 侧边栏底部分割线宽度不跟随真实宽度
- Workspace Switcher 菜单过宽、hover 状态不一致
Cron 定时任务
- 加载失败只报错、不给解决方案 → 增加重试提示 + 最终错误说明
croniter缺失导致任务创建失败 → 自动检测 + 一键安装 + Dashboard 重启流程
Notebook
- Word 导出不稳定 → 改为标准
.docx生成链 - 代码块语言变更后预览不同步
- 标题按 Enter 后不能自然进入正文编辑
- 工具栏过于松散 → 收敛为写作常用功能
模型与聊天
- 模型切换后聊天仍用旧 fallback → 统一读全局模型配置
- Dashboard 未运行时只报错 → 新增检查与重启入口
- API Key 分散 → 集中到模型配置页
从原型到产品:定位变化
| 第一版 | 现在 | |
|---|---|---|
| 核心定位 | 能跑起来的演示程序 | Hermes Slate Desk 桌面工作台 |
| 数据状态 | mock / 内存态 | 多处 SQLite 持久化 |
| 布局 | 单层侧边栏多页面 | 三栏桌面工作流 |
| 管理入口 | 分散 | 模型/频道/技能/服务集中 |
| 知识沉淀 | 无 | AI 笔记本 + 导出 |
| 文件能力 | mock | 真实文件系统 |
写在最后
这次更新的核心目标很简单:让 Hermes Slate Desk 从一个"看起来能跑"的 Demo,变成一个真的可以日常用的桌面工作台。数据要能持久化、交互要顺畅、边界情况要有处理。
如果你之前因为数据不保存、终端双开、模型切换不生效这些问题放弃过,现在可以再试一下。有问题欢迎来聊。
仓库地址: gitee.com/8187735/Her…
公众号
星言数语
🌟 星藏万象言,数解千般语
🌟 聊聊 AI、效率工具、数据分析、职场技能与行业洞察。沉淀实战干货,一起进阶成长。
扫码关注