feat(hermes-web-ui): 添加 Hermes Web UI 应用及相关配置

添加 Hermes Web UI 应用,包含多语言支持、Docker 配置、数据持久化及文档说明
删除已废弃的 OpenClaw 应用及相关文件
This commit is contained in:
arch3rPro
2026-05-10 02:02:23 +08:00
parent 859bf90472
commit 12b719c7be
18 changed files with 273 additions and 199 deletions
+54
View File
@@ -0,0 +1,54 @@
# Hermes Web UI
Hermes Agent 的全功能 Web 管理面板。管理 AI 聊天会话、监控使用量与成本、配置平台渠道、调度定时任务、浏览技能等,全部通过简洁响应式 Web 界面完成。
## 功能特点
- **AI 聊天** — 实时流式 SSE 传输,多会话管理,Markdown 渲染与代码高亮
- **平台渠道** — 统一配置 8 大平台(Telegram、Discord、Slack、WhatsApp、Matrix、飞书、微信、企业微信)
- **用量分析** — Token 使用量统计、成本追踪、模型分布图表
- **定时任务** — 创建、编辑、暂停、恢复、删除 Cron 任务
- **模型管理** — 自动发现/添加提供商,支持 OpenAI 兼容接口
- **多配置文件** — 创建、克隆、导入/导出 Hermes 配置文件
- **文件浏览器** — 浏览、上传、下载远程后端文件
- **群聊** — 多 Agent 聊天室,支持 @提及和上下文压缩
- **技能与记忆** — 浏览已安装技能,用户笔记管理
- **日志查看** — Agent/网关/错误日志过滤与查看
- **身份认证** — 基于 Token 的认证(首次运行自动生成)
- **Web 终端** — 集成终端,支持多会话
## 使用说明
### 架构说明
本应用包含两个服务:
- **hermes-agent**:使用 1Panel 官方维护的 Hermes Agent 镜像([1panel/hermes-agent](https://hub.docker.com/r/1panel/hermes-agent)
- **hermes-webui**:社区维护的全功能 Web 管理面板
### 默认端口
- Web 界面: `6060`(可在安装时修改)
### 默认认证
- 首次运行时自动生成 Auth Token,可通过容器日志查看:
```bash
docker logs <容器名> | grep token
```
- 也可通过环境变量 `AUTH_TOKEN` 设置自定义 Token
- 如需禁用认证,可将 `AUTH_DISABLED` 设置为 `true`
### 数据目录
- `./data` — Hermes Agent 运行时数据(会话、配置、配置文件)
- `./webui-data` — Web UI 数据(Auth Token 等)
### 前置条件
使用前请确保已在 Web 界面的模型管理页面配置好 AI 模型的 API 密钥。
## 相关链接
- Hermes Web UI: https://github.com/EKKOLearnAI/hermes-web-ui
- Hermes Agent: https://github.com/NousResearch/hermes-agent
- 1Panel 官方 Hermes Agent: https://github.com/1Panel-dev/appstore/tree/dev/apps/hermes-agent
+54
View File
@@ -0,0 +1,54 @@
# Hermes Web UI
A full-featured web dashboard for Hermes Agent. Manage AI chat sessions, monitor usage & costs, configure platform channels, schedule cron jobs, browse skills — all from a clean, responsive web interface.
## Features
- **AI Chat** — Real-time streaming via SSE, multi-session management, Markdown rendering with syntax highlighting
- **Platform Channels** — Unified configuration for 8 platforms (Telegram, Discord, Slack, WhatsApp, Matrix, Feishu, WeChat, WeCom)
- **Usage Analytics** — Token usage breakdown, cost tracking, model distribution charts
- **Scheduled Jobs** — Create, edit, pause, resume, delete cron jobs
- **Model Management** — Auto-discover providers, add custom OpenAI-compatible endpoints
- **Multi-Profile** — Create, clone, import/export Hermes profiles
- **File Browser** — Browse, upload, download files on remote backends
- **Group Chat** — Multi-agent chat rooms with @mention support and context compression
- **Skills & Memory** — Browse installed skills, user notes management
- **Log Viewer** — Filter and view agent/gateway/error logs
- **Authentication** — Token-based auth (auto-generated on first run)
- **Web Terminal** — Integrated terminal with multi-session support
## Usage
### Architecture
This app includes two services:
- **hermes-agent**: Uses the official 1Panel-maintained Hermes Agent image ([1panel/hermes-agent](https://hub.docker.com/r/1panel/hermes-agent))
- **hermes-webui**: Community-maintained full-featured web dashboard
### Default Port
- Web UI: `6060` (configurable during installation)
### Default Credentials
- Auth Token is auto-generated on first run. View it via container logs:
```bash
docker logs <container-name> | grep token
```
- You can also set a custom token via `AUTH_TOKEN` environment variable
- Set `AUTH_DISABLED=true` to disable authentication
### Data Directories
- `./data` — Hermes Agent runtime data (sessions, configs, profiles)
- `./webui-data` — Web UI data (auth token, etc.)
### Prerequisites
Make sure to configure your AI model API keys via the Web UI's Model Management page before use.
## Links
- Hermes Web UI: https://github.com/EKKOLearnAI/hermes-web-ui
- Hermes Agent: https://github.com/NousResearch/hermes-agent
- Official 1Panel Hermes Agent: https://github.com/1Panel-dev/appstore/tree/dev/apps/hermes-agent
+33
View File
@@ -0,0 +1,33 @@
name: Hermes Web UI
tags:
- AI
title: Hermes Agent 的全功能 Web 管理面板
description: Hermes Agent 的全功能 Web 管理面板
additionalProperties:
key: hermes-web-ui
name: Hermes Web UI
type: website
tags:
- AI
shortDescZh: Hermes Agent 的全功能 Web 管理面板
shortDescEn: A full-featured web dashboard for Hermes Agent
description:
en: A full-featured web dashboard for Hermes Agent. Manage AI chat sessions, monitor usage & costs, configure platform channels, schedule cron jobs, browse skills — all from a clean, responsive web interface.
ja: Hermes Agent のフル機能 Web ダッシュボード。AIチャットセッション管理、使用量・コスト監視、プラットフォームチャンネル設定、cronジョブスケジュール、スキル閲覧など。
ms: Papan pemuka web berciri penuh untuk Hermes Agent
pt-br: Um painel web completo para Hermes Agent
ru: Полнофункциональная веб-панель для Hermes Agent
ko: Hermes Agent를 위한 완전한 기능의 웹 대시보드
zh-Hant: Hermes Agent 的全功能 Web 管理面板
zh: Hermes Agent 的全功能 Web 管理面板。管理 AI 聊天会话、监控使用量与成本、配置平台渠道、调度定时任务、浏览技能等,全部通过简洁响应式 Web 界面完成。
tr: Hermes Agent için tam özellikli web kontrol paneli
es-es: Un panel web completo para Hermes Agent
crossVersionUpdate: true
limit: 0
recommend: 13
website: https://github.com/EKKOLearnAI/hermes-web-ui
github: https://github.com/EKKOLearnAI/hermes-web-ui
document: https://github.com/EKKOLearnAI/hermes-web-ui
architectures:
- amd64
- arm64
+21
View File
@@ -0,0 +1,21 @@
additionalProperties:
formFields:
- default: 6060
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Web UI Port
labelZh: Web UI 端口
required: true
rule: paramPort
type: number
label:
en: Web UI Port
es-es: Puerto web
ja: Web UIポート
ms: Port Web UI
pt-br: Porta da Web UI
ru: Порт веб-интерфейса
ko: 웹 UI 포트
zh-Hant: Web UI 埠
zh: Web UI 端口
tr: Web UI Bağlantı Noktası
@@ -0,0 +1,45 @@
services:
hermes-agent:
container_name: ${CONTAINER_NAME}-agent
image: 1panel/hermes-agent:latest
restart: always
networks:
- 1panel-network
environment:
HOME: /opt/data/home
HERMES_HOME: /opt/data
HERMES_DASHBOARD: "1"
HERMES_DASHBOARD_HOST: 0.0.0.0
HERMES_DASHBOARD_PORT: 9119
TERM: xterm-256color
volumes:
- ./data:/opt/data
- /etc/localtime:/etc/localtime
init: true
labels:
createdBy: "Apps"
hermes-webui:
container_name: ${CONTAINER_NAME}
image: ekkoye8888/hermes-web-ui:latest
entrypoint: ["node", "dist/server/index.js"]
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:6060"
volumes:
- ./data:/opt/data
- ./webui-data:/home/agent/.hermes-web-ui
environment:
- PORT=6060
- HERMES_HOME=/opt/data
- HERMES_BIN=/opt/hermes/.venv/bin/hermes
- AUTH_DISABLED=false
- PATH=/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
depends_on:
- hermes-agent
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+21
View File
@@ -0,0 +1,21 @@
additionalProperties:
formFields:
- default: 6060
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Web UI Port
labelZh: Web UI 端口
required: true
rule: paramPort
type: number
label:
en: Web UI Port
es-es: Puerto web
ja: Web UIポート
ms: Port Web UI
pt-br: Porta da Web UI
ru: Порт веб-интерфейса
ko: 웹 UI 포트
zh-Hant: Web UI 埠
zh: Web UI 端口
tr: Web UI Bağlantı Noktası
@@ -0,0 +1,45 @@
services:
hermes-agent:
container_name: ${CONTAINER_NAME}-agent
image: 1panel/hermes-agent:2026.5.7
restart: always
networks:
- 1panel-network
environment:
HOME: /opt/data/home
HERMES_HOME: /opt/data
HERMES_DASHBOARD: "1"
HERMES_DASHBOARD_HOST: 0.0.0.0
HERMES_DASHBOARD_PORT: 9119
TERM: xterm-256color
volumes:
- ./data:/opt/data
- /etc/localtime:/etc/localtime
init: true
labels:
createdBy: "Apps"
hermes-webui:
container_name: ${CONTAINER_NAME}
image: ekkoye8888/hermes-web-ui:v0.5.15
entrypoint: ["node", "dist/server/index.js"]
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:6060"
volumes:
- ./data:/opt/data
- ./webui-data:/home/agent/.hermes-web-ui
environment:
- PORT=6060
- HERMES_HOME=/opt/data
- HERMES_BIN=/opt/hermes/.venv/bin/hermes
- AUTH_DISABLED=false
- PATH=/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
depends_on:
- hermes-agent
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true