Skip to main content 首页 创作者 tangzheng202202 hermes-skills hermes-agent-ui-setup
hermes-agent-ui-setup Complete setup guide for installing Hermes Agent (AI assistant) and Hermes UI (glassmorphic web interface), including API server configuration and troubleshooting.
跳到安装 Skills Marketplace 发现并探索由社区构建的 Agent Skills
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tangzheng202202/hermes-skills --skill hermes-agent-ui-setup命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
下载 Zip 下载中... name hermes-agent-ui-setup title Setup Hermes Agent with Web UI description Complete setup guide for installing Hermes Agent (AI assistant) and Hermes UI (glassmorphic web interface), including API server configuration and troubleshooting. tags ["hermes","ai-agent","web-ui","self-hosted","api-server"] triggers ["install hermes agent","setup hermes ui","hermes web interface","hermes api server"]
Hermes Agent + UI 完整安装指南
安装 Hermes Agent(AI 助手)和 Hermes UI(玻璃拟态 Web 界面)的完整流程。
系统要求
Python >= 3.11(Hermes Agent 要求)
macOS / Linux / WSL2
网络连接(下载依赖)
安装步骤
1. 安装 Hermes Agent
方案 A:通过 pip 从 GitHub 安装(推荐)
mkdir -p ~/hermes-agent && cd ~/hermes-agent
python3.11 -m venv .venv
source .venv/bin/activate
uv pip install "git+https://github.com/NousResearch/hermes-agent.git"
hermes --version
hermes doctor
方案 B:如果 git clone 被拦截,使用 curl 下载
mkdir -p ~/hermes-ui && cd ~/hermes-ui
curl -sL -o serve.py "https://raw.githubusercontent.com/pyrate-llama/hermes-ui/main/serve.py"
curl -sL -o hermes-ui.html "https://raw.githubusercontent.com/pyrate-llama/hermes-ui/main/hermes-ui.html"
curl -sL -o requirements.txt "https://raw.githubusercontent.com/pyrate-llama/hermes-ui/main/requirements.txt"
ls -la
方案 C:使用 GitHub API 获取文件列表
python3 -c "
import urllib.request
import json
import base64
# 获取目录内容
url = 'https://api.github.com/repos/NousResearch/hermes-agent/contents/'
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
with urllib.request.urlopen(req) as r:
data = json.loads(r.read().decode())
for f in data:
print(f['name'], f['type'])
"
python3 -c "
import urllib.request
import json
import base64
url = 'https://api.github.com/repos/NousResearch/hermes-agent/contents/pyproject.toml'
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
with urllib.request.urlopen(req) as r:
data = json.loads(r.read().decode())
content = base64.b64decode(data['content']).decode('utf-8')
print(content)
"
2. 安装 Hermes UI mkdir -p ~/hermes-ui && cd ~/hermes-ui
curl -sL -o serve.py "https://raw.githubusercontent.com/pyrate-llama/hermes-ui/main/serve.py"
curl -sL -o hermes-ui.html "https://raw.githubusercontent.com/pyrate-llama/hermes-ui/main/hermes-ui.html"
curl -sL -o requirements.txt "https://raw.githubusercontent.com/pyrate-llama/hermes-ui/main/requirements.txt"
python3 serve.py
3. 启用 Hermes API Server(关键步骤) Hermes UI 需要连接到 Hermes Agent 的 API Server(默认端口 8642)。
编辑 ~/.hermes/config.yaml,添加以下配置:
platform_toolsets:
cli:
- browser
- terminal
telegram:
- browser
api_server:
- browser
- clarify
- code_execution
- cronjob
- delegation
- file
- image_gen
- memory
- session_search
- skills
- terminal
- todo
- tts
- vision
- web
platforms:
api_server:
enabled: true
host: 127.0 .0 .1
port: 8642
4. 启动服务 启动 Hermes Gateway(包含 API Server):
lsof -i :8642
curl http://127.0.0.1:8642/health
cd ~/hermes-ui
python3 serve.py
5. 访问界面 http://localhost:3333/hermes-ui.html
常见问题
Issue: "Connection refused" / 8642 端口未监听
确认 config.yaml 中有 platforms.api_server.enabled: true
确认 platform_toolsets 中有 api_server: 配置
重启 gateway:hermes gateway restart
检查日志:tail -50 ~/.hermes/logs/gateway.log
Issue: Hermes UI 报错无法连接后端 原因: Hermes UI 默认连接 localhost:8642
确保 API Server 已启动(见上文)
或修改 serve.py 中的 HERMES 变量指向正确的地址
Issue: Python 版本过低 错误: "requires-python: >=3.11"
ls -la ~/.local/bin/python*
ls -la /usr/local/bin/python*
python3.11 -m venv .venv
Issue: pip 安装失败(找不到包) 原因: Hermes Agent 不在 PyPI 上
pip install "git+https://github.com/NousResearch/hermes-agent.git"
Issue: 端口被占用(Address already in use) 原因: 之前的 Hermes UI 进程未正确终止
lsof -i :3333
kill <PID>
pkill -f "serve.py"
Issue: Feishu 显示 "FEISHU_APP_ID or FEISHU_APP_SECRET not set"
确认 .env 文件中有 FEISHU_APP_ID 和 FEISHU_APP_SECRET
确认 Gateway 服务已重启(launchctl restart)
检查日志:tail ~/.hermes/logs/gateway.log | grep -i feishu
如果 .env 文件被系统保护,使用 Python 脚本写入(见上文方法 B)
开机自启配置(macOS Launchd)
Hermes Gateway(已有)
launchctl list | grep hermes
launchctl stop ai.hermes.gateway
launchctl start ai.hermes.gateway
Hermes UI 自启配置 cat > ~/Library/LaunchAgents/ai.hermes.ui.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd" >
<plist version="1.0" >
<dict>
<key>Label</key>
<string>ai.hermes.ui</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/python3</string>
<string>/Users/mac/hermes-ui/serve.py</string>
<string>3333</string>
</array>
<key>WorkingDirectory</key>
<string>/Users/mac/hermes-ui</string>
<key>RunAtLoad</key>
<true />
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<false />
</dict>
<key>StandardOutPath</key>
<string>/Users/mac/.hermes/logs/ui.log</string>
<key>StandardErrorPath</key>
<string>/Users/mac/.hermes/logs/ui.error.log</string>
</dict>
</plist>
EOF
launchctl load ~/Library/LaunchAgents/ai.hermes.ui.plist
launchctl start ai.hermes.ui
飞书机器人配置
1. 安装依赖 cd ~/.hermes/hermes-agent
source venv/bin/activate
uv pip install "lark-oapi>=1.5.3,<2" aiohttp websockets
2. 飞书开放平台配置
创建「企业自建应用」
记录 App ID 和 App Secret
权限管理 → 添加权限:
im:message:send (发送消息)
im:message.group_msg (接收群消息)
im:message.p2p_msg (接收单聊)
事件订阅 → 获取 Encrypt Key 和 Verification Token
版本管理与发布 → 创建版本 → 申请发布
3. 配置 Hermes 编辑 ~/.hermes/config.yaml:
platform_toolsets:
feishu:
- browser
- clarify
- code_execution
- cronjob
- delegation
- file
- image_gen
- memory
- session_search
- skills
- terminal
- todo
- tts
- vision
- web
platforms:
feishu:
enabled: true
app_id: cli_xxxxxxxxxxxxxxxx
app_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
domain: feishu
connection_mode: websocket
4. 环境变量配置(重要) ⚠️ 注意 :即使配置了 config.yaml,Feishu 插件仍需要从环境变量读取凭证。
方法 A:直接编辑 .env 文件(可能被系统保护)
echo 'FEISHU_APP_ID=cli_xxxxxxxxxxxxxxxx' >> ~/.hermes/.env
echo 'FEISHU_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' >> ~/.hermes/.env
echo 'FEISHU_DOMAIN=feishu' >> ~/.hermes/.env
echo 'FEISHU_CONNECTION_MODE=websocket' >> ~/.hermes/.env
feishu_config = """
FEISHU_APP_ID=cli_xxxxxxxxxxxxxxxx
FEISHU_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
FEISHU_DOMAIN=feishu
FEISHU_CONNECTION_MODE=websocket
FEISHU_GROUP_POLICY=allowlist
"""
with open ('/Users/mac/.hermes/.env' , 'a' ) as f:
f.write(feishu_config)
方法 C:通过 export 设置(仅当前会话有效)
export FEISHU_APP_ID=cli_xxxxxxxxxxxxxxxx
export FEISHU_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
export FEISHU_DOMAIN=feishu
export FEISHU_CONNECTION_MODE=websocket
5. 重启 Gateway 并验证 launchctl stop ai.hermes.gateway
launchctl start ai.hermes.gateway
lsof -i :8642
tail -f ~/.hermes/logs/gateway.log
6. 用户配对授权 Hi~ I don't recognize you yet!
Here's your pairing code: 3HYG46F3
Ask the bot owner to run:
hermes pairing approve feishu 3HYG46F3
cd ~/.hermes/hermes-agent
source venv/bin/activate
hermes pairing approve feishu 3HYG46F3
目录结构 ~/hermes-agent/ # Hermes Agent 安装目录
├── .venv/ # 虚拟环境
└── ...
~/hermes-ui/ # Hermes UI 目录
├── serve.py # Python 代理服务器
├── hermes-ui.html # 前端单文件
└── requirements.txt # 依赖说明(零依赖)
~/.hermes/ # Hermes 配置和数据
├── config.yaml # 主配置文件
├── logs/ # 日志文件
├── sessions/ # 会话历史
└── hermes-agent/ # 源码安装位置(旧版)
更新维护 cd ~/hermes-agent
source .venv/bin/activate
uv pip install --upgrade "git+https://github.com/NousResearch/hermes-agent.git"
cd ~/hermes-ui
curl -sL -o hermes-ui.html "https://raw.githubusercontent.com/pyrate-llama/hermes-ui/main/hermes-ui.html"
安全提示
Hermes UI 的 serve.py 设计用于本地开发,不要暴露到公网
/terminal/exec 端点允许执行任意 shell 命令
API Server 默认只监听 localhost (127.0.0.1)
参考链接