mirror of
https://github.com/arch3rPro/1Panel-Appstore.git
synced 2026-05-10 03:01:38 +08:00
feat(hermes-web-ui): 分离 Web UI 与 Agent 服务并更新文档
分离 Hermes Web UI 与 Agent 服务,改为独立部署模式 添加 Hermes Agent 网关地址配置项 更新 README 说明部署步骤和配置参数 简化 docker-compose 配置,移除内置 Agent 服务
This commit is contained in:
@@ -2,6 +2,21 @@
|
||||
|
||||
Hermes Agent 的全功能 Web 管理面板。管理 AI 聊天会话、监控使用量与成本、配置平台渠道、调度定时任务、浏览技能等,全部通过简洁响应式 Web 界面完成。
|
||||
|
||||
## 部署说明
|
||||
|
||||
本应用为独立的 Web UI 面板,**不包含** Hermes Agent 服务。使用前请先在 1Panel 中安装官方 [Hermes Agent](https://github.com/1Panel-dev/appstore/tree/dev/apps/hermes-agent) 应用,然后安装本应用连接到已有的 Agent。
|
||||
|
||||
### 安装步骤
|
||||
|
||||
1. 在 1Panel 应用商店安装 **Hermes Agent**(官方应用)
|
||||
2. 安装本应用 **Hermes Web UI**
|
||||
3. 安装时配置「Hermes Agent 网关地址」,默认为 `http://hermes-agent:8642`
|
||||
4. 如果安装 Agent 时修改了容器名称,请相应调整网关地址中的主机名
|
||||
|
||||
### 网络要求
|
||||
|
||||
两个应用均使用 `1panel-network` 网络,通过 Docker 内部网络通信,无需暴露额外端口。
|
||||
|
||||
## 功能特点
|
||||
|
||||
- **AI 聊天** — 实时流式 SSE 传输,多会话管理,Markdown 渲染与代码高亮
|
||||
@@ -19,16 +34,17 @@ Hermes Agent 的全功能 Web 管理面板。管理 AI 聊天会话、监控使
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 架构说明
|
||||
|
||||
本应用包含两个服务:
|
||||
- **hermes-agent**:使用 1Panel 官方维护的 Hermes Agent 镜像([1panel/hermes-agent](https://hub.docker.com/r/1panel/hermes-agent))
|
||||
- **hermes-webui**:社区维护的全功能 Web 管理面板
|
||||
|
||||
### 默认端口
|
||||
|
||||
- Web 界面: `6060`(可在安装时修改)
|
||||
|
||||
### 配置参数
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| Web UI 端口 | `6060` | Web 管理面板的访问端口 |
|
||||
| Agent 网关地址 | `http://hermes-agent:8642` | Hermes Agent 的网关地址 |
|
||||
|
||||
### 默认认证
|
||||
|
||||
- 首次运行时自动生成 Auth Token,可通过容器日志查看:
|
||||
@@ -36,16 +52,14 @@ Hermes Agent 的全功能 Web 管理面板。管理 AI 聊天会话、监控使
|
||||
docker logs <容器名> | grep token
|
||||
```
|
||||
- 也可通过环境变量 `AUTH_TOKEN` 设置自定义 Token
|
||||
- 如需禁用认证,可将 `AUTH_DISABLED` 设置为 `true`
|
||||
|
||||
### 数据目录
|
||||
|
||||
- `./data` — Hermes Agent 运行时数据(会话、配置、配置文件)
|
||||
- `./webui-data` — Web UI 数据(Auth Token 等)
|
||||
|
||||
### 前置条件
|
||||
### 模型配置
|
||||
|
||||
使用前请确保已在 Web 界面的模型管理页面配置好 AI 模型的 API 密钥。
|
||||
使用前请确保已在 Hermes Agent 的 Web 界面或本应用的模型管理页面配置好 AI 模型的 API 密钥。
|
||||
|
||||
## 相关链接
|
||||
|
||||
|
||||
@@ -2,6 +2,21 @@
|
||||
|
||||
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.
|
||||
|
||||
## Deployment
|
||||
|
||||
This is a standalone Web UI app that does **not include** the Hermes Agent service. Install the official [Hermes Agent](https://github.com/1Panel-dev/appstore/tree/dev/apps/hermes-agent) from 1Panel app store first, then install this app to connect to your existing Agent.
|
||||
|
||||
### Setup Steps
|
||||
|
||||
1. Install **Hermes Agent** from 1Panel app store (official app)
|
||||
2. Install **Hermes Web UI** (this app)
|
||||
3. Configure the "Hermes Agent Gateway" URL during installation (default: `http://hermes-agent:8642`)
|
||||
4. If you changed the Agent container name, adjust the hostname in the gateway URL accordingly
|
||||
|
||||
### Networking
|
||||
|
||||
Both apps use the `1panel-network` and communicate via Docker internal networking — no additional ports need to be exposed.
|
||||
|
||||
## Features
|
||||
|
||||
- **AI Chat** — Real-time streaming via SSE, multi-session management, Markdown rendering with syntax highlighting
|
||||
@@ -19,16 +34,17 @@ A full-featured web dashboard for Hermes Agent. Manage AI chat sessions, monitor
|
||||
|
||||
## 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)
|
||||
|
||||
### Configuration Parameters
|
||||
|
||||
| Parameter | Default | Description |
|
||||
|-----------|---------|-------------|
|
||||
| Web UI Port | `6060` | Web dashboard access port |
|
||||
| Agent Gateway | `http://hermes-agent:8642` | Hermes Agent gateway URL |
|
||||
|
||||
### Default Credentials
|
||||
|
||||
- Auth Token is auto-generated on first run. View it via container logs:
|
||||
@@ -36,16 +52,14 @@ This app includes two services:
|
||||
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
|
||||
### Model Configuration
|
||||
|
||||
Make sure to configure your AI model API keys via the Web UI's Model Management page before use.
|
||||
Make sure to configure your AI model API keys via the Hermes Agent web interface or this app's Model Management page before use.
|
||||
|
||||
## Links
|
||||
|
||||
|
||||
@@ -18,4 +18,23 @@ additionalProperties:
|
||||
ko: 웹 UI 포트
|
||||
zh-Hant: Web UI 埠
|
||||
zh: Web UI 端口
|
||||
tr: Web UI Bağlantı Noktası
|
||||
tr: Web UI Bağlantı Noktası
|
||||
- default: http://hermes-agent:8642
|
||||
edit: true
|
||||
envKey: PANEL_APP_HERMES_GATEWAY
|
||||
labelEn: Hermes Agent Gateway
|
||||
labelZh: Hermes Agent 网关地址
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
label:
|
||||
en: Hermes Agent Gateway
|
||||
es-es: Puerta de enlace del Hermes Agent
|
||||
ja: Hermes Agent ゲートウェイ
|
||||
ms: Gerbang Hermes Agent
|
||||
pt-br: Gateway do Hermes Agent
|
||||
ru: Шлюз Hermes Agent
|
||||
ko: Hermes Agent 게이트웨이
|
||||
zh-Hant: Hermes Agent 閘道位址
|
||||
zh: Hermes Agent 网关地址
|
||||
tr: Hermes Agent Ağ Geçidi
|
||||
@@ -1,43 +1,22 @@
|
||||
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
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:6060"
|
||||
volumes:
|
||||
- ./data:/opt/data
|
||||
- ./webui-data:/home/agent/.hermes-web-ui
|
||||
environment:
|
||||
- PORT=6060
|
||||
- UPSTREAM=${PANEL_APP_HERMES_GATEWAY}
|
||||
- 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:
|
||||
|
||||
@@ -18,4 +18,23 @@ additionalProperties:
|
||||
ko: 웹 UI 포트
|
||||
zh-Hant: Web UI 埠
|
||||
zh: Web UI 端口
|
||||
tr: Web UI Bağlantı Noktası
|
||||
tr: Web UI Bağlantı Noktası
|
||||
- default: http://hermes-agent:8642
|
||||
edit: true
|
||||
envKey: PANEL_APP_HERMES_GATEWAY
|
||||
labelEn: Hermes Agent Gateway
|
||||
labelZh: Hermes Agent 网关地址
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
label:
|
||||
en: Hermes Agent Gateway
|
||||
es-es: Puerta de enlace del Hermes Agent
|
||||
ja: Hermes Agent ゲートウェイ
|
||||
ms: Gerbang Hermes Agent
|
||||
pt-br: Gateway do Hermes Agent
|
||||
ru: Шлюз Hermes Agent
|
||||
ko: Hermes Agent 게이트웨이
|
||||
zh-Hant: Hermes Agent 閘道位址
|
||||
zh: Hermes Agent 网关地址
|
||||
tr: Hermes Agent Ağ Geçidi
|
||||
@@ -1,43 +1,22 @@
|
||||
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
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:6060"
|
||||
volumes:
|
||||
- ./data:/opt/data
|
||||
- ./webui-data:/home/agent/.hermes-web-ui
|
||||
environment:
|
||||
- PORT=6060
|
||||
- UPSTREAM=${PANEL_APP_HERMES_GATEWAY}
|
||||
- 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:
|
||||
|
||||
Reference in New Issue
Block a user