前言
Serv00 提供免费的 FreeBSD 托管服务,但环境限制较多(home 目录 noexec、没有 root、pkg 损坏)。本教程用一份自动化脚本解决这些问题,在 Serv00 上完整部署 Hermes Agent。
准备工作
- Serv00 账号 — 登录后确认你的服务器地址(如
s16.serv00.com,每个用户不同) - SSH 登录信息 — 用户名、密码、端口(默认 22)
- API Key — 从你的 LLM 提供商获取(如 Claude、OpenAI、OpenRouter 等)
一键部署
方式一:本地模式(推荐)
SSH 登录到你的 Serv00 服务器,直接在服务器上运行脚本:
ssh your_user@your_server.serv00.com -p 22
curl -sS -O https://raw.githubusercontent.com/notetoday/hermes-serv00-deploy/main/deploy_hermes.sh
tmux new -s deploy 'bash deploy_hermes.sh'选择「本地部署」(2),按提示输入 API Key、API URL、模型名即可。
方式二:远程模式
在本机(Mac/PC)运行,脚本通过 SSH 自动部署到远端:
# 确保已安装 sshpass
brew install sshpass # macOS
apt install sshpass # Linux
curl -sS -O https://raw.githubusercontent.com/notetoday/hermes-serv00-deploy/main/deploy_hermes.sh
bash deploy_hermes.sh选择「远程部署」(1),输入你的 Serv00 SSH 地址(如 s16.serv00.com)、用户名、密码。
脚本做了什么
| 步骤 | 说明 |
|---|---|
| 系统检测 | 检查 Python、Node、Git 版本 |
| 克隆仓库 | 从 GitHub 克隆 Hermes Agent(断线续传) |
| 安装依赖 | 分三阶段安装 Python 包(编译类→批量纯 Python→降级逐个安装) |
| 写入配置 | ~/.hermes/config.yaml(原子写入 + YAML 校验,防断线残留) |
| Shell 包装 | 绕过 noexec,通过 shell 函数包装调用 Hermes |
| ClawChat 插件 | 可选安装,支持 IM 消息收发。官网:https://clawling.com/chat/ |
| 最终验证 | 自动对话测试 |
Serv00 专属适配
- noexec 家目录 — 不依赖可执行文件权限,通过 shell 函数包装调用
- 无 root / pkg 损坏 — 全部安装到
~/.local,不依赖系统包管理器 - pip 编译失败 — 逐个安装,跳过 Pillow / jiter / pydantic-core 等需编译的包
- provider: custom — Hermes 没有内置
openaiprovider,用provider: custom兼容任意 OpenAI 兼容 API - API Key 配置 — 同时写入
config.yaml,不依赖.env读取顺序 - 断线保护 — tmux 提示、pip
--retries 3 --timeout 60、文件原子写入
日常使用
source ~/.bashrc
# 启动交互式对话
hermes
# 一次性对话
hermes -z "你好"
# 运行诊断
hermes doctor卸载
# 在同目录下再次运行脚本,选择卸载
bash deploy_hermes.sh --uninstall清理内容:~/.hermes/ 全部文件(配置、ClawChat 插件、仓库)、pip 包、shell 包装、rc 文件中的 source 行。
说到最后
如果不会使用或者失效等问题,可在评论区留言,或者进入博客Telegram群组反馈 点击进群