面向 hermes-agent 的桌面管理客户端
小白友好 · 现代设计 · 一站管理
HermesPanel 不是 Hermes 的替代品,也不是另起一套后端服务。
它的定位很明确:
- 不修改
hermes-agent源码 - 不替代
hermesCLI 的协议和运行机制 - 不接管 Hermes 的常驻运行模型
- 只围绕本机
~/.hermes、config.yaml、.env、gateway_state.json、state.db、日志与 CLI 能力做桌面治理
更直接一点说,它想解决的是这类问题:
- 新用户不想在终端、配置文件、日志目录之间来回跳
- 熟练用户不想每次改模型、通道、Gateway、技能、插件都手敲命令
- 诊断问题时,希望配置态、运行态、日志态能放在一个桌面应用里对照
一目了然的状态总览:
- 系统运行状态(Gateway、AI 模型、技能数量)
- 快捷操作入口(新对话、装技能、去配置、查诊断)
- 推荐技能一键安装
小白友好的流式对话体验:
- 实时流式响应,边生成边显示
- 支持 Claude、OpenAI、Google Gemini、OpenRouter、SiliconFlow 等多种 AI 模型
- 自定义 API Base URL 和 API Key
- 对话历史记录
配置多平台消息渠道:
- Telegram - Bot Token + 频道配置
- Discord - Bot Token + 频道 ID
- Slack - Bot Token 配置
- WhatsApp - 开关启用
- 飞书、企微、钉钉通过 Gateway 配置
一站式配置管理:
- AI 模型提供商分组配置(Claude、OpenAI、Google、OpenRouter、SiliconFlow、自定义)
- 工具集、终端、记忆功能开关
- API Key 安全输入(支持显示/隐藏切换)
- 结构化保存,自动写回配置文件
网关服务可视化:
- 服务启动/停止/重启
- Gateway Token 配置
- 运行状态实时监控
技能的完整生命周期:
- 本地技能创建、编辑、删除
- 技能导入(从 URL 或文件)
- Markdown 格式编辑器
- 技能详情查看
对话记录追溯:
- 会话列表浏览
- 会话详情查看
- 消息时间线展示
AI 记忆文件管理:
- 记忆文件列表(soul、user、session、knowledge 等)
- Markdown 编辑器实时预览
- 分屏编辑模式(编辑 + 预览)
- 工具栏快捷按钮
可视化定时任务配置:
- 预设时间选择(每天、每周、每小时)
- 自定义 Cron 表达式生成器
- 任务执行历史查看
实时日志监控:
- 按日志类型筛选(gateway、hermes、cron 等)
- 按级别筛选(INFO、WARN、ERROR)
- 关键词搜索
- 自动刷新
一键问题排查:
- 环境检测
- 配置校验
- 连通性测试
- 诊断建议
多实例配置:
- 实例创建、切换、删除
- 实例别名管理
- 实例导入/导出
插件与工具管理:
- Tools 列表启用/禁用
- Plugins 安装/卸载/更新
- 扩展详情查看
- 需要直接管理本机
~/.hermes - 需要打开目录、定位文件、查看日志、触发本地命令
- 需要打包成真正可安装、可分发的桌面应用
- 需要保持对 Hermes 的低侵入,不重写 Hermes 本身
Release 已经准备好多平台自动构建:
- macOS Apple Silicon
- macOS Intel
- Linux
- Windows 标准安装包
- Windows 完整包(内置离线 WebView2 安装器)
下载地址:
安装建议:
- macOS 按芯片架构选择 Apple Silicon / Intel 对应版本
- Windows 已安装 WebView2 时优先使用标准包
- Windows 内网、离线或 WebView2 环境不稳定时使用
full包
npm ci
npm run tauri:devnpm run check:cinpm run tauri:build- Node.js 22+
- Rust stable
- 本机可执行
hermes - macOS 需要 Xcode Command Line Tools
- Linux 打包需要 Tauri 依赖库
- Windows 打包依赖 WebView2,离线场景可使用完整包工作流
npm cinpm run tauri:dev# 前端构建
npm run build
# 本地调试打包
npm run tauri:build:debug
# 前端 + Rust tests
npm run check
# 与 GitHub Actions 对齐的完整检查
npm run check:ci仓库自带两条工作流:
-
.github/workflows/ci.yml- macOS / Linux / Windows 三平台检查
cargo fmt --checkcargo clippy -D warningscargo testnpm run build
-
.github/workflows/release.yml- 推送
v*标签自动发布 - 也支持手动触发
workflow_dispatch - 多平台 Tauri 打包
- Windows 标准包与完整包双产物
- 自动更新 Release Notes
- 推送
发布触发方式:
git tag v0.1.0
git push origin v0.1.0| 现象 | 常见原因 | 建议处理 |
|---|---|---|
cargo fmt --check 失败 |
Rust 文件格式未同步 | 先运行 cargo fmt --manifest-path src-tauri/Cargo.toml --all |
cargo clippy -D warnings 失败 |
本地没提前跑严格 lint | 先运行 npm run check:ci |
| Linux runner 构建失败 | 缺少 WebKit / GTK 依赖 | 参考 workflow 中的 apt 依赖列表 |
| Windows 安装包启动异常 | 目标机缺少 WebView2 | 改用 Release 中的 Windows full 包 |
| Release 上传失败 | 认证变量异常 | 确认 workflow 中 GH_TOKEN 已注入 |
src/
pages/ 页面组件(Dashboard、Chat、Config 等 15 个页面)
components/
ui/ UI 组件库(Button、Card、Input、Badge 等)
shared/ 共享组件(Sidebar、MainLayout 等)
lib/ 前端状态、API 封装、辅助逻辑
stores/ Zustand 状态管理
styles/ Tailwind CSS 样式
src-tauri/
src/commands/ Tauri 命令入口
src/application/ 用例编排层
src/infrastructure/ Hermes CLI / 文件 / SQLite / 日志封装
tauri.conf.json Tauri 打包配置
.github/workflows/
ci.yml 三平台检查
release.yml 多平台发布
依赖方向:pages -> api -> commands -> application -> infrastructure
| 类别 | 技术 |
|---|---|
| 前端框架 | React 18 + TypeScript |
| UI 样式 | Tailwind CSS + shadcn/ui 风格 |
| 状态管理 | Zustand |
| 图标 | Lucide React |
| 桌面框架 | Tauri 2.x |
| 后端语言 | Rust |
最常见的失败点:
- Rust 文件未格式化,
cargo fmt --check失败 - Clippy 在 GitHub 上按
-D warnings执行 - Linux runner 缺少 Tauri 依赖库
建议推送前先跑 npm run check:ci。
HermesPanel 的原则不是绕开 Hermes,而是把 CLI 能力桌面化、结构化、可视化。
- 能结构化直写的,尽量直接在客户端内完成
- 真正触及 Hermes 原生行为边界的,继续通过后端封装调用 CLI
通常是权限问题,请确认终端已获得"屏幕与系统音频录制"权限。
MIT License - 详见 LICENSE 文件