A PySide6-based desktop interface for the Hermes AI Agent, inspired by the Hermes Web UI.
- Three-panel Layout: Sidebar (sessions), Chat (center), File Browser (right)
- Session Management: Create, rename, pin, archive, search, and delete sessions with JSON persistence
- Multi-Provider Model Support: 20+ providers including OpenRouter, Anthropic, Gemini, DeepSeek, Z.AI, Kimi, MiniMax, GitHub Copilot, OpenAI Codex, Hugging Face, and more
- Combined Model & API Key Dialog: Select models and configure API keys in one unified interface
- Chat Interface: Markdown rendering, code syntax highlighting, tool call display
- File Browser: Browse workspace files with directory tree and preview
- Task Management: Schedule and manage cron jobs
- Skills Management: Create and manage agent skills
- Memory Management: Edit MEMORY.md and USER.md files
- Theming: Multiple themes (Dark, Light, Slate, Nord) with CSS-like QSS stylesheets
- Coding Agents: Support for Claude Code, OpenAI Codex, OpenCode, and Hermes Agent orchestration
| Provider | Models | Authentication |
|---|---|---|
| OpenRouter | 100+ models from all providers | OPENROUTER_API_KEY |
| Anthropic | Claude Opus, Sonnet, Haiku | ANTHROPIC_API_KEY |
| Google AI Studio | Gemini Pro, Flash | GOOGLE_API_KEY |
| DeepSeek | DeepSeek Chat, Reasoner | DEEPSEEK_API_KEY |
| GitHub Copilot | GPT-5, Claude, Gemini | GITHUB_TOKEN |
| Z.AI / GLM | GLM-5, GLM-4.7 | GLM_API_KEY |
| Kimi / Moonshot | Kimi K2.5, Thinking | KIMI_API_KEY |
| MiniMax | MiniMax M1/M2 | MINIMAX_API_KEY |
| OpenAI Codex | GPT-5.3 Codex | OPENAI_API_KEY |
| Hugging Face | Open source models | HF_TOKEN |
| And more... |
# Clone the repository
git clone git@github.com:0xfnzero/hermes-gui.git
cd hermes-gui
# Install dependencies
pip install -r requirements.txt
# Run the application
python main.py- Python 3.9+
- PySide6
- markdown
- pygments
- pyyaml
hermes-gui/
├── main.py # Application entry point
├── requirements.txt # Python dependencies
├── src/
│ ├── config.py # Configuration and themes
│ ├── main_window.py # Main application window
│ ├── models/
│ │ ├── agents.py # Model provider definitions (20+ providers)
│ │ ├── session.py # Session and message models
│ │ └── workspace.py # File node model
│ ├── widgets/
│ │ ├── sidebar.py # Left sidebar with sessions
│ │ ├── chat_panel.py # Chat interface
│ │ ├── file_browser.py # File browser panel
│ │ ├── model_config_dialog.py # Combined model & API key config
│ │ ├── provider_config.py # Multi-provider API key management
│ │ ├── settings_dialog.py # Settings dialog
│ │ ├── tasks_panel.py # Task management
│ │ ├── skills_panel.py # Skills management
│ │ ├── memory_panel.py # Memory editing
│ │ └── status_bar.py # Status bar
│ └── utils/
│ └── theme.py # Theme management
Configuration files are stored in ~/.hermes/gui/:
settings.json- Theme, window size, default model, provider selectionproviders.json- API keys for different providers (local storage)sessions/- Session data in JSON format
You can also configure API keys via environment variables:
export OPENROUTER_API_KEY="your-key"
export ANTHROPIC_API_KEY="your-key"
export GOOGLE_API_KEY="your-key"
export GITHUB_TOKEN="your-token"
# ... etc| Shortcut | Action |
|---|---|
| Ctrl+N | New Session |
| Ctrl+T | New Session |
| Ctrl+O | Open Workspace |
| Ctrl+K | Focus Search |
| Ctrl+L | Focus Chat Input |
| Ctrl+B | Toggle Sidebar |
| Ctrl+Shift+B | Toggle File Browser |
- 三面板布局: 侧边栏(会话列表)、聊天区(中间)、文件浏览器(右侧)
- 会话管理: 创建、重命名、置顶、归档、搜索和删除会话,支持 JSON 持久化
- 多提供商模型支持: 支持 20+ 个模型提供商,包括 OpenRouter、Anthropic、Gemini、DeepSeek、智谱 AI、月之暗面、MiniMax、GitHub Copilot、OpenAI Codex、Hugging Face 等
- 统一的模型选择和 API Key 配置: 在一个界面中完成模型选择和 API 密钥配置
- 聊天界面: Markdown 渲染、代码语法高亮、工具调用显示
- 文件浏览器: 目录树浏览工作区文件,支持文件预览
- 任务管理: 定时任务(Cron Job)的调度和管理
- 技能管理: 创建和管理 Agent 技能
- 内存管理: 编辑 MEMORY.md 和 USER.md 文件
- 主题管理: 多种主题(深色、浅色、Slate、Nord),支持 CSS-like QSS 样式表
- 编程 Agent: 支持 Claude Code、OpenAI Codex、OpenCode 和 Hermes Agent 编排
| 提供商 | 模型 | 认证方式 |
|---|---|---|
| OpenRouter | 100+ 来自各提供商的模型 | OPENROUTER_API_KEY |
| Anthropic | Claude Opus、Sonnet、Haiku | ANTHROPIC_API_KEY |
| Google AI Studio | Gemini Pro、Flash | GOOGLE_API_KEY |
| DeepSeek | DeepSeek Chat、Reasoner | DEEPSEEK_API_KEY |
| GitHub Copilot | GPT-5、Claude、Gemini | GITHUB_TOKEN |
| 智谱 AI (Z.AI / GLM) | GLM-5、GLM-4.7 | GLM_API_KEY |
| 月之暗面 (Kimi) | Kimi K2.5、Thinking | KIMI_API_KEY |
| MiniMax | MiniMax M1/M2 | MINIMAX_API_KEY |
| OpenAI Codex | GPT-5.3 Codex | OPENAI_API_KEY |
| Hugging Face | 开源模型 | HF_TOKEN |
| 更多... |
# 克隆仓库
git clone git@github.com:0xfnzero/hermes-gui.git
cd hermes-gui
# 安装依赖
pip install -r requirements.txt
# 运行应用
python main.py- Python 3.9+
- PySide6
- markdown
- pygments
- pyyaml
hermes-gui/
├── main.py # 应用入口
├── requirements.txt # Python 依赖
├── src/
│ ├── config.py # 配置和主题
│ ├── main_window.py # 主应用窗口
│ ├── models/
│ │ ├── agents.py # 模型提供商定义(20+ 提供商)
│ │ ├── session.py # 会话和消息模型
│ │ └── workspace.py # 文件节点模型
│ ├── widgets/
│ │ ├── sidebar.py # 左侧边栏(会话列表)
│ │ ├── chat_panel.py # 聊天界面
│ │ ├── file_browser.py # 文件浏览器
│ │ ├── model_config_dialog.py # 模型选择和 API Key 配置
│ │ ├── provider_config.py # 多提供商 API Key 管理
│ │ ├── settings_dialog.py # 设置对话框
│ │ ├── tasks_panel.py # 任务管理
│ │ ├── skills_panel.py # 技能管理
│ │ ├── memory_panel.py # 内存编辑
│ │ └── status_bar.py # 状态栏
│ └── utils/
│ └── theme.py # 主题管理
配置文件存储在 ~/.hermes/gui/ 目录下:
settings.json- 主题、窗口大小、默认模型、提供商选择providers.json- 不同提供商的 API 密钥(本地存储)sessions/- JSON 格式的会话数据
你也可以通过环境变量配置 API 密钥:
export OPENROUTER_API_KEY="your-key"
export ANTHROPIC_API_KEY="your-key"
export GOOGLE_API_KEY="your-key"
export GITHUB_TOKEN="your-token"
# ... 等等| 快捷键 | 功能 |
|---|---|
| Ctrl+N | 新建会话 |
| Ctrl+T | 新建会话 |
| Ctrl+O | 打开工作区 |
| Ctrl+K | 聚焦搜索框 |
| Ctrl+L | 聚焦聊天输入框 |
| Ctrl+B | 切换侧边栏 |
| Ctrl+Shift+B | 切换文件浏览器 |
MIT License