Hermex 是一个为 iPhone 设计的原生客户端,用于控制你自托管的 Hermes AI 助手
Hermex 是一个为 iPhone 设计的原生客户端,用于控制你自托管的 Hermes AI 助手。其核心理念是“手机作为控制台”,AI 的计算和你的数据都保留在你自己的服务器上,确保了隐私和安全。
📋 部署概览:你需要准备什么?
部署 Hermex 本质上不是部署手机 App 本身,而是部署并暴露一个可供 Hermex 连接的后端服务。整个过程分为两大步:
- 部署后端:在你的服务器(macOS/Linux/Windows WSL2)上安装并运行
hermes-webui。 - 连接客户端:在你的 iPhone 上安装 Hermex App,并连接到上一步设置好的服务器。
其核心架构和连接流程如下:
🖥️ 第一步:部署后端服务器 (hermes-webui)
你需要在你的服务器上运行 hermes-webui,这是 Hermex 通信的后端。
方案一:使用 Docker 部署(推荐)
这是最便捷的方式,可以避免环境依赖问题。
准备数据目录:
1
2mkdir hermes-webui && cd hermes-webui
mkdir -p hermes_data创建
docker-compose.yml文件,内容如下:1
2
3
4
5
6
7
8
9
10
11
12
13services:
hermes-webui:
image: ekkoye8888/hermes-webui:latest # 使用官方预构建镜像 [citation:9]
container_name: hermes-webui
restart: unless-stopped
ports:
- "8787:8787" # 将容器端口映射到宿主机 [citation:1]
environment:
- HERMES_WEBUI_PASSWORD=your-strong-password-here # 务必修改为强密码!
- PORT=8787
- BIND_HOST=0.0.0.0
volumes:
- ./hermes_data:/home/agent/.hermes # 持久化数据 [citation:9]启动服务:
1
docker compose up -d
方案二:从源码运行
如果你更习惯直接使用 Python 环境。
克隆并安装:
1
2
3git clone https://github.com/nesquena/hermes-webui.git
cd hermes-webui
pip install -r requirements.txt设置密码并启动:
1
2export HERMES_WEBUI_PASSWORD="your-strong-password-here"
python main.py服务默认会运行在
http://localhost:8787。
🌐 第二步:让服务器可从 iPhone 访问
hermes-webui 启动后,默认只能在本机访问。你需要通过以下任一方式,让你的 iPhone 能连接到它。推荐使用 HTTPS,以满足 iOS 的 App Transport Security (ATS) 要求。
方案 A:Cloudflare Tunnel (推荐):无需公网 IP 和域名,一键生成 HTTPS 地址。
1
2# 下载并运行 cloudflared
cloudflared tunnel --url http://localhost:8787运行后会生成一个
https://xxxx.trycloudflare.com的地址,在 Hermex 中输入它即可。方案 B:Tailscale:在服务器和 iPhone 上安装 Tailscale,组成一个安全的虚拟局域网。在服务器上绑定服务到
0.0.0.0,然后在 Hermex 中输入 Tailscale 分配给服务器的 IP 地址即可。方案 C:反向代理:如果你有自己的域名和 SSL 证书,可以使用 Nginx 或 Caddy 配置反向代理,将
https://your-domain.com指向http://localhost:8787。
📱 第三步:在 iPhone 上安装并连接 Hermex
- 安装 Hermex:推荐从 App Store 下载,这是最简单安全的方式。你也可以从 GitHub 克隆源码,用 Xcode 26+ 自行编译。
- 连接服务器:打开 Hermex App,在欢迎界面输入你的服务器地址(例如
https://xxxx.trycloudflare.com)和你在第一步中设置的HERMES_WEBUI_PASSWORD,点击连接即可。
🔧 可选配置:启用高级功能
如果你需要使用定时任务功能,需要部署 hermes-agent 网关容器,并配置 API_SERVER_KEY。这需要编写一个更复杂的 docker-compose.yml,请参考官方多容器部署文档。
❓ 常见连接问题排查
如果连接失败,请按此顺序检查:
- 服务器是否开机且
hermes-webui正在运行? - 能否在服务器本地通过
curl http://localhost:8787/health访问?(应返回健康状态) - 隧道(如 Cloudflare Tunnel)或反向代理是否正常运行?
- iPhone 和服务器是否在同一网络或 Tailscale 网络中?
HERMES_WEBUI_PASSWORD是否输入正确?

