← 返回首页

Hermes Agent · SCNet/HPC

从零部署 Hermes 以来遇到的问题与解决指南

这是一份精简版复盘:只记录部署 Hermes 工作站时真正影响可用性的坑、原因和处理方式。

环境限制

  • 服务器是 SCNet/HPC 风格环境:老 Linux、无头、非 root、无 D-Bus user session。
  • 不能默认依赖 systemctl --user、桌面浏览器或 root 权限。
  • 关键目录:/public/home/freemax/public/home/freemax/.hermes

网络与代理

外网访问依赖 Clash Meta / CrashCore,代理端口是 127.0.0.1:7893。Telegram、OpenAI Codex OAuth、Cloudflare API 都要确认实际进程继承了代理变量,而不是只看交互 shell 能否 curl 通。

Telegram Gateway

Telegram 私聊突然不回复 时,优先检查 allowlist 是否进入了 gateway 进程环境,而不是只检查配置文件。

TELEGRAM_ALLOWED_USERS=594665457
TELEGRAM_GROUP_ALLOWED_CHATS=-1003777010501
TELEGRAM_ALLOW_ALL_USERS=false

群聊建议继续保持 Privacy Mode,通过 @mention 或回复 bot 触发,避免读取群里每句话。polling conflict 日志如果不影响收发,可以先当作低优先级小问题。

OAuth 与密钥

OpenAI Codex 设备码流程卡住或 403,通常是请求没有走代理。先验证目标端点经 127.0.0.1:7893 可达,再启动 Hermes 或 Codex。

密钥不要直接写进对话或命令行;使用 ~/.hermes/.env~/.hermes/secrets/,避免 secret redaction 把值替换成 ***

部署页面

当前站点部署到 Cloudflare Pages,项目是 hermes-view,域名是 view.dce.pub。部署脚本从本地 secret 文件读取 Cloudflare 凭据,不在页面、日志或对话中暴露。

/public/home/freemax/.hermes/scripts/deploy_cloudflare_pages.py

保留结论

  1. 先保证代理、授权变量和单实例 gateway。
  2. 配置写入后,要确认正在运行的进程真的读到了。
  3. 遇到长路径、长命令和长 URL,页面 CSS 必须允许移动端换行。
  4. Feishu/Lark 接入目前暂停,除非重新明确要求,不纳入默认维护任务。

敏感信息已省略。本文只保留可复用的部署经验。