前言

Serv00 提供免费的 FreeBSD 托管服务,但环境限制较多(home 目录 noexec、没有 root、pkg 损坏)。本教程用一份自动化脚本解决这些问题,在 Serv00 上完整部署 Hermes Agent

准备工作

  1. Serv00 账号 — 登录后确认你的服务器地址(如 s16.serv00.com,每个用户不同)
  2. SSH 登录信息 — 用户名、密码、端口(默认 22)
  3. 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 没有内置 openai provider,用 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群组反馈 点击进群