SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 更新于 2026-09-15

Hermes Agent 与 OpenClaw:VPS 部署怎么选

对比 Hermes Agent 与 OpenClaw 在 VPS 上的持久运行能力,固定至 2026 年 9 月标签,详解端口、沙箱、记忆、技能、Claude 身份验证及适用场景。

简短回答

Hermes Agent 和 OpenClaw 都能在 VPS 上提供持久运行的代理,您可以通过聊天应用访问它。若代理的主要任务是重复性工作,例如定时任务和只需学习一次即可重复执行的流程,请选择 Hermes Agent。若主要需求是触达范围,请选择 OpenClaw:它提供一个可在 WhatsApp、Telegram、Discord、Slack 及其他约二十个渠道上应答的助手,还可通过公共注册表中的软件包扩展。两者都支持通过 CLI(命令行界面)和聊天使用,因此选择取决于每个项目优先解决哪一侧的问题,以及它们各自在服务器上开放哪些服务。

本文将 Hermes Agent 固定到 v2026.9.7 标签(7 September 2026),将 OpenClaw 固定到 v2026.9.4 标签(11 September 2026)。两个项目每月都会发布多个标签,因此对于已发生变化的内容,请查看文档。下文的每项结论都来自这两个项目在相应标签下的官方文档,或来自使用相关结论时列出的两个外部来源。

用途对比:以 agent 为先还是以 Gateway 为先

Hostinger 的对比将 Hermes Agent 称为“以 agent 为先”,将 OpenClaw 称为“以 Gateway 为先”。这个概括是准确的,也是最快理解这两个项目的方法。

Nous Research 开发的 Hermes Agent 围绕 worker 构建。您向它提供任务。它在终端后端中执行任务,并将学到的内容记录为 skill。它还会保存少量持久事实。聊天只是提交任务的方式之一。CLI、cron 作业、消息 Gateway 和桌面应用都会将任务提交给同一个 agent,而 Gateway 是通过 hermes gateway setup 启用的功能,并不是需要安装的主体。

OpenClaw 围绕其 Gateway 构建。Gateway 是一个长期运行的进程,其文档称它是会话、路由和频道连接的唯一事实来源。模型和 agent harness 都是附加到 Gateway 的插件,README 将 Claude、Codex 和本地模型列为可替换的 harness。消息触达能力才是产品本身。agent 只是 Gateway 托管的一项功能。

两个项目都借鉴了对方的优点。现在,两个项目都会要求未知聊天发送者先输入配对代码,才能与机器人通信。两个项目也都允许 agent 生成 skill:Hermes 会自行编写,OpenClaw 的 Skill Workshop 则会先起草内容,供您批准。核心定位仍然成立:Hermes 是带聊天前端的 worker,而 OpenClaw 是后端带有 worker 的聊天中枢。

安装路径和 VPS 资源占用

两个项目都没有说明 RAM 或 CPU 的最低要求,因此这里不自行设定。与它们调用的模型相比,两个代理本身都很轻量。服务器的实际负载取决于您要求代理运行的任务。编码代理 VPS 需要多少 RAM 和 CPU根据工作负载估算资源,而不是根据代理本身估算。

有一个已记录的数值值得了解。Hermes 使用 Docker 终端后端时,其文档默认将沙箱容器的限制设置为 container_cpu: 1container_memory: 5120(单位为 MB)。这两个值是容器限制,不是实测需求;但小于该内存大小的 VPS 无法满足这些限制。

Hermes 通过一个脚本安装。它需要 Python 3.11,并通过 uv 获取该版本;在 Linux 上,还需要先安装 gitcurlxz-utils

sudo apt update && sudo apt install -y git curl xz-utils
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
hermes doctor

代码会以可编辑的 git checkout 形式放在 ~/.hermes/hermes-agent/,命令位于 ~/.local/bin/hermes。所有数据都存放在 ~/.hermes/ 下。安装程序自身的文本说明,它仅使用 sudo 安装可选的系统软件包,Hermes 本身不需要 root,也不会保留 root 权限。文档页面没有说明如何固定版本,但安装脚本接受 --commit SHA,可在克隆或更新后将 checkout 固定到指定提交。先获取标签对应的提交,将其导出为 HERMES_SHA,然后传入:

git ls-remote --tags https://github.com/NousResearch/hermes-agent v2026.9.7
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --commit "$HERMES_SHA"

如果 ls-remote 输出两行,请使用以 ^{} 结尾的那一行。这是带注释标签所指向的提交,而 --commit 需要提交 SHA,而不是标签对象。安装完成后,hermes model 选择提供商和模型,hermes tools 启用工具,hermes setup 运行完整向导,hermes doctor 检查结果。

OpenClaw 同样可以通过一个脚本安装,也可以通过 npm 安装,并且需要 Node。文档要求 Node 24.16 或更高版本,或 Node 26.1 或更高版本;文档还说明,如果系统缺少 Node,Linux 安装程序会获取 Node 24 LTS(长期支持版)。只有 npm 安装路径接受精确版本,这也是固定版本的方法。

curl -fsSL https://openclaw.ai/install.sh | bash
# or, pinned:
npm install -g openclaw@2026.9.4 --allow-scripts=openclaw
openclaw onboard --install-daemon

openclaw onboard --install-daemon 运行设置向导,并在 Linux 上将 Gateway 安装为 systemd 用户服务。配置位于 ~/.openclaw/openclaw.json,格式为 JSON5,因此允许注释和尾随逗号。OpenClaw 还提供 Extended Stable 发布线,并于 10 September 2026 标记为 v2026.6.35,适合希望每月变更较少的用户;安装文档说明了使用 openclaw update --channel stable--channel dev 在不同发布渠道之间切换的方法。

Hermes Agent VPS 指南OpenClaw 隔离指南包含各自的完整安装步骤,以及每一步应通过的检查。

每个组件在网络上开放的内容

本节决定防火墙规则,因此必须最谨慎地处理。

OpenClaw 会按设计开放端口。 Gateway 默认监听 TCP 18789,依次按以下顺序选择端口:配置中的 --portOPENCLAW_GATEWAY_PORTgateway.port,最后是 18789。gateway.bind 默认为 loopback,其他值为 autolan(表示 0.0.0.0)、tailnetcustom。Control UI 使用同一个端口,地址为 http://127.0.0.1:18789,基础路径为 /openclaw。文档明确说明了风险:“非回环地址绑定需要 Gateway 身份验证。实际上,这意味着共享令牌/密码,或身份感知型反向代理。”gateway.auth.mode 接受 nonetokenpasswordtrusted-proxy,并且 onboarding wizard 默认会生成令牌。将 bind 保持为 loopback,通过 SSH 隧道访问 UI,并运行 openclaw security audit,检查是否偏离这些默认值。

Hermes 不会开放其文档明确列出的端口。 Gateway 作为客户端向各个聊天平台发起出站连接,安全文档和消息文档完全没有监听端口的说明。CLI 向模型端点和终端后端发起出站连接。Docker 后端连接本地 Docker socket。SSH 后端通过端口 22 向另一台主机发起连接。因此,Hermes 所在主机可以将入站策略保持为“仅允许 SSH”,无需修改代理的任何配置。

聊天平台通常不需要任何一个项目开放入站端口。 两者的主要通信渠道都使用长轮询或出站 WebSocket。Hermes 的 Slack 集成使用 Socket Mode,其文档说明实例“不需要公开访问”。Hermes 的 WhatsApp 集成运行一个 Node.js bridge,通过出站连接模拟 WhatsApp Web,并使用 QR 码配对;主机上需要 Node.js v18 或更高版本。OpenClaw 的 Telegram 渠道说明:“长轮询是默认传输方式。Webhook 模式是可选的。”其 WhatsApp 渠道仅支持通过出站 WebSocket 使用 QR 码。例外是需要公开 URL 的路径:OpenClaw 的 Telegram webhook 模式(webhookUrlwebhookPortwebhookSecret),以及 Hermes 的独立 WhatsApp Business Cloud API 选项。Hermes 文档说明,该选项需要 Meta Business 账户和公开 webhook URL。除非有明确理由,否则不要启用这两项。

两者默认都会拒绝未知的聊天发送者。 Hermes 按以下顺序检查:每个平台的允许所有发送者标志、已批准的配对列表、每个平台的允许列表(例如 TELEGRAM_ALLOWED_USERS)、全局 GATEWAY_ALLOWED_USERS、全局允许所有发送者标志,最后执行拒绝。未知发送者会通过私信收到一个 8 个字符的配对码,你可以使用 hermes pairing approve <platform> <code> 批准该发送者。OpenClaw 的 dmPolicy 在 Telegram 和 WhatsApp 上默认设为 pairing,批准命令为 openclaw pairing approve <channel> <code>。对于能够执行 shell 命令的机器人,绝不要设置 GATEWAY_ALLOW_ALL_USERS=truedmPolicy: open

Hermes 如何应用 OpenClaw 的隔离方案

OpenClaw 隔离指南中的隔离方案包括:使用专用的非特权用户,将 Gateway 绑定到回环地址并置于 VPS 防火墙之后,使用 Docker 沙箱执行工具,并将 agents.defaults.sandbox.mode 设置为 all。OpenClaw 自己的沙箱页面明确说明了边界:Gateway 进程本身始终在主机上运行,沙箱只负责迁移工具执行环境。tools.elevated 是一个可绕过沙箱、在其外部运行的后门。

用户和防火墙配置可以直接沿用到 Hermes。专用用户提供相同的隔离边界,Hermes 的生产环境检查清单用六个词说明了这一点:“绝不要以 root 身份运行 gateway”。防火墙配置更简单,因为没有需要绑定的端口,令牌也没有需要保护的对象。

沙箱对应 ~/.hermes/config.yaml 中的 terminal.backend。Hermes 文档列出了 7 个后端:localdockersshsingularitymodaldaytonavercel_sandbox。使用 docker 时,容器以 --cap-drop ALL 运行,随后重新添加 DAC_OVERRIDECHOWNFOWNER,并设置 --security-opt no-new-privileges--pids-limit 256,同时在挂载的 tmpfs 上使用 /tmp/var/tmp nosuid。其中有一个差异很重要。Hermes 文档说明,在 dockersingularitymodaldaytonavercel_sandbox 后端上会跳过危险命令检查,“因为容器本身就是安全边界”。因此,在 Hermes 中,每个后端只能使用其中一道隔离边界。在 local 后端中,使用审批机制,但没有容器。在 docker 中,使用容器,但没有审批机制。

Hermes 文档还提出了自己的部署方式:“使用 terminal.backend: ssh 在单独的机器或 VM(虚拟机)上运行 gateway”。Gateway 主机保存聊天令牌和模型密钥,但从不执行命令。Worker 主机执行命令,不保存任何值得窃取的内容。用于代码代理的临时 VM非常适合这种部署方式,因为应当重建它,而不是清理它。

内存:两个小型冻结文件,或一个实时工作区

在这两者的比较中,内存模型的差异最大,而 mem0 对二者的比较 是对这一差异最清晰的说明。其总结是:Hermes“针对缓存稳定的长会话进行优化”,而“OpenClaw 针对即时可见性进行优化”。

ChartPrompt-memory size limit per file, in characters
The data behind this chart
[
  {
    "label": "Hermes MEMORY.md (hard cap)",
    "char_limit": "2,200"
  },
  {
    "label": "Hermes USER.md (hard cap)",
    "char_limit": "1,375"
  },
  {
    "label": "OpenClaw MEMORY.md (soft target)",
    "char_limit": "20,000"
  }
]

Hermes 的数据来自其内存文档。OpenClaw 的数据是 mem0 报告的软目标值。

Hermes 在 ~/.hermes/memories/ 下维护两个文件。MEMORY.md 保存代理自身的笔记,上限为 2,200 个字符。USER.md 保存关于您的事实,上限为 1,375 个字符。文档说明这些上限是严格的:超过上限的写入会返回错误,不会静默截断。代理使用三个动词编辑这两个文件:addreplaceremove,其中 replaceremove 会对某个子字符串执行匹配。两个文件都会在会话开始时加载一次,作为系统提示词中的冻结块,从而保持提示词缓存前缀稳定。这种设计的代价是,代理在会话中途写入的内存会立即保存到磁盘,但要到下一次会话才会出现在提示词中。对于较早的事实,session_search 会对 ~/.hermes/state.db 中的所有历史对话运行 FTS5(SQLite 的全文搜索)。

OpenClaw 将内存视为一个工作区。~/.openclaw/workspace/MEMORY.md 是主文件,软目标约为 20,000 个字符;此外,memory/YYYY-MM-DD.md 中还保存每日笔记,其中今天和昨天的文件会自动加载。memory_search 工具会对全部内容执行混合检索,即结合向量相似度和关键词匹配。mem0 指出,内存会在每一轮重新注入,因此写入内容会在下一轮可见。

哪种方式更好取决于使用场景。每晚运行同一个 cron 任务的 Hermes 代理需要稳定的提示词,以及一组可以信任的少量事实。每天处理上百次简短对话的 OpenClaw 助手则需要在不重启的情况下记住您一小时前说过的话。Hermes 将 Mem0 列为八个可通过 hermes memory setup 启用的内存提供程序之一,而 mem0 发布了适用于 OpenClaw 的 @mem0/openclaw-mem0 插件。自行托管 Mem0 内存服务器 可以让两个代理使用相同的服务端事实提取功能,并将大小限制移出对话。无论代理写入哪个文件,之后都会将其作为可信输入,因此代理内存如何被污染适用于这两个项目,也适用于下一节中的技能。

技能:自编写流程,或公共注册表

Hermes 会自行编写技能。技能是 ~/.hermes/skills/ 下的一个目录,符合 agentskills.io 格式,并包含一个 SKILL.md 以及可选的 scripts/references/templates/examples/ 目录。该代理提供 skill_manage 工具,其系统提示词列出了编写技能的3个触发条件:完成了值得重复使用的多步骤流程;在出错后找到了解决方法;或采纳了您的修正。文档将目标描述为“经验,而不是日志”。如果您不希望代理未经审核就修改自己的指令集,请设置 skills.write_approval: true;新技能随后会暂存到 ~/.hermes/pending/skills/ 下,等待您批准。Hermes 还可以通过 hermes skills install <identifier> 从外部安装技能:从 anthropics/skills 等 GitHub 仓库安装,从 skills.sh 安装,从指向 SKILL.md 的直接 URL 安装,或直接从 ClawHub 安装。文档说明,每次从 hub 安装时,系统都会扫描数据外传、提示注入和破坏性命令。对于不危险的社区检测结果,可以使用 --force 覆盖;“危险扫描结论”即使在使用 --force 的情况下也会阻止安装。

OpenClaw 从其公共注册表 ClawHub 获取技能和插件。openclaw skills search "calendar" 用于查找技能,openclaw skills install @openclaw/demo 用于安装技能,openclaw skills update --all 用于保持技能为最新版本,代码插件则会经过 openclaw plugins install clawhub:<package>。技能从按优先级排列的一组目录中加载,其中 <workspace>/skills 的优先级高于 ~/.agents/skills,其次是受管理的 <state-dir>/skills,最后是随附的技能集。技能的 SKILL.md 可以声明 metadata.openclaw.requires.binsrequires.env;如果缺少相应的二进制文件或变量,OpenClaw 会隐藏该技能。相比让技能处于只能部分工作的状态,这种失败方式更清晰。代理不会自行将技能写入磁盘。Skill Workshop 会让它起草提案,再由您批准。

审核模型的差异在于检查执行的位置不同。ClawHub 文档称,它“会对已发布的技能和插件版本执行自动检查”;扫描暂存或被阻止的版本可能会从公共目录中消失;登录用户可以举报软件包,版主可以将其隐藏;发布内容还需要使用注册时间足够早、能够通过上传限制的 GitHub 账户。这属于注册表级别的审核。Hermes 在您的主机上安装时执行扫描,写入审批闸门则覆盖其代理自行编写的技能。OpenClaw 的技能页面最后仍保留着对两者都适用的一句话:“将第三方技能视为不受信任的代码。启用前先阅读。”

模型与身份验证选项,以及 Claude 订阅问题

两个项目都支持使用 API 密钥或本地模型,并且都通过 OpenRouter 路由。两者的区别在于订阅接入方式,这正是大多数搜索这一主题的用户想了解的内容。

API 密钥。 Hermes 会从 ~/.hermes/.env 读取 ANTHROPIC_API_KEYOPENROUTER_API_KEYOPENAI_API_KEY 以及其他大量密钥。hermes model 以交互方式选择提供商和模型,hermes config get model 显示所选配置。Nous Portal 是独立的提供商:hermes setup --portal 是一次 OAuth 登录,同时提供模型提供商和托管工具网关。OpenClaw 通过 openclaw onboard --anthropic-api-key "$ANTHROPIC_API_KEY" 获取 ANTHROPIC_API_KEYopenclaw models list --provider anthropic 显示它可以访问的内容。其文档将 anthropic/claude-opus-5 列为主要默认项,并同时列出 anthropic/claude-fable-5-1anthropic/claude-sonnet-5

通过 Ollama 使用本地模型。 两个项目连接 Ollama 的方式不同,混淆这两种方式会直接导致失败。Hermes 使用兼容 OpenAI 的端点:在 config.yaml 中设置 model.provider: custommodel.base_url: http://localhost:11434/v1,或者在 hermes model 中选择 "Custom endpoint"。其文档还说明,Hermes“在使用工具执行代理任务时,至少需要 64,000 个 token 的上下文”,而 Ollama 的默认值低得多,因此应使用 OLLAMA_CONTEXT_LENGTH=64000 ollama serve 启动 Ollama。OpenClaw 的方式相反。其 Ollama 页面写道:“不要使用 /v1 OpenAI 兼容 URL(http://host:11434/v1)。这会破坏工具调用,模型可能会将原始工具调用 JSON 作为普通文本输出。”OpenClaw 使用 Ollama 原生的 /api/chat,配置键 baseUrl 应设置为 http://127.0.0.1:11434,模型名称使用 ollama/<model>。使用的是同一个守护进程,但 URL 完全相反。

Claude 订阅。 以下内容准确反映两个项目截至 2026 年 9 月的文档说明,仅此而已。

Hermes:可通过 hermes model(选择 Anthropic OAuth)或 hermes auth add anthropic --type oauth 执行 OAuth 登录,之后 Hermes 会“以 Claude Code 的方式使用您的 Anthropic 账户”进行路由。文档还补充说明:“只有 Claude Max 计划并购买了额外使用额度时才能使用。”基础 Max 额度不会被消耗;用量会计入额外购买的额度。Claude Pro 不能使用此方式,文档建议 Pro 订阅者使用 ANTHROPIC_API_KEY,并按标准 API 价格计费。

OpenClaw:文档说明可以“通过同一主机上已安装的可执行文件复用现有的 Claude Code 登录状态”。在 VPS 上安装 Claude CLI,运行 claude auth login,然后在 openclaw onboard 中选择 "Claude CLI"。另一种方式使用 setup token:运行 claude setup-token,然后运行 openclaw models auth login --provider anthropic --method setup-token。同一页面中的两句话明确了限制:“Claude Code 负责管理其现有登录状态和订阅;OpenClaw 不会持久化或刷新该登录状态”;通过 Agent SDK、claude -p 和第三方应用使用订阅计划额度时,“仍会消耗已登录订阅的用量限制”。

两个项目对这类用量的计费描述不同,而且两者的页面都不是 Anthropic 官方页面。在使用订阅登录状态构建每晚运行的工作负载前,请阅读 Anthropic 当前关于第三方使用 Claude 计划的条款。两个项目都记录了一种接入方式,并且两种方式都通过 Claude Code 的身份认证,而不是普通的 claude.ai 登录。Hermes 将其方式限定为 Max 加额外额度;OpenClaw 则将其方式限定为与 Claude CLI 登录位于同一主机。

其他订阅。 Hermes 还记录了通过设备代码 OAuth 使用 ChatGPT 计划接入 OpenAI Codex,以及通过设备授权流程接入 GitHub Copilot。不过,Codex 页面说明,哪些计划层级符合条件“目前尚未记录”。OpenClaw 将 Codex 列为可替换的 harness。如果您已经支付了其中一种服务的费用,那么选择明确记录该服务接入方式的项目确实有实际理由。

各项目对自身安全态势的表述

Hermes 会拦截命令。approvals.modeconfig.yaml 中默认是 smart:辅助模型会评估每条命令。低风险命令会执行,明显危险的命令会被拒绝。无法确定时会询问您。manual 遇到危险匹配项时始终询问,off 会禁用拦截。扫描器会匹配递归删除、chmod 777 及其变体、mkfsdd if= 重定向到 /etc/systemctl stopdisable,以及 maskDROP TABLEcurl ... | sh 和 fork bomb。在聊天中,网关会发送命令,并等待 yesyapproveokgo;使用 nocancel 可拒绝命令,默认超时为 300 秒。--yolo 标志(或会话中的 /yolo,或 HERMES_YOLO_MODE=1)会跳过提示,但即使如此,严格的阻止列表仍然生效:rm -rf /、fork bomb、在已挂载 root 上执行 mkfs、向块设备执行 dd,以及将不受信任的 URL 通过管道传给 shell。请记住,隔离章节已经说明,容器后端不会启用此拦截机制。

OpenClaw 会划定边界。其安全页面称,Gateway 是“每个网关一个受信任边界”,而“不是供相互对立用户使用的恶意多租户安全边界”。因此,互不信任的两个人应使用两个 Gateway 和两套凭据。工具允许和拒绝策略会在沙箱规则之前检查,因此全局拒绝的工具在沙箱内仍会被拒绝。按代理设置的访问配置和只读模式可以进一步限制代理能够操作的内容。openclaw security audit 会将当前配置与安全默认值进行比较。技能方面,除了上文所述的 ClawHub 审核流程,还要求您在启用第三方技能前先阅读其内容。

两个项目都没有声称具备超出这些范围的能力。Hermes 没有声称其扫描器能够捕获所有风险;当风险较高时,其文档会建议您使用容器或第二台机器。OpenClaw 也没有声称沙箱能够包含 Gateway 本身,并且在沙箱页面明确说明了这一点。两者的文档都很诚实。对于准备让软件无人值守运行的场景,这是一个积极信号。

决策矩阵

周期性工作流:Hermes。 支持记忆的 Cron 任务;代理第三次执行同一任务后会写入技能;记忆容量不会超限;终端后端可按风险级别选择。如果代理一周的大部分时间都在执行任务,只有偶尔进行对话,这种形态更合适。

消息触达:OpenClaw。 约 20 个渠道位于同一个 Gateway 后方,所有渠道都支持 DM 配对,同一端口上还提供 Control UI,并配有现成技能和插件的注册表。如果代理一周的大部分时间都在不同应用之间进行对话,只有偶尔执行任务,这种形态更合适。

单机部署:两者都可以,取决于适合你的隔离边界。 在一台 VPS 上部署 OpenClaw,使用专用用户、gateway.bind: loopback、令牌和 sandbox.mode: all。在一台 VPS 上部署 Hermes,使用 terminal.backend: docker,但要注意容器内的审批门禁处于关闭状态;或者使用 terminal.backend: localapprovals.mode: manual,但要注意错误的审批操作会在主机上执行。

双机部署:Hermes,按其文档的建议。 在一台 VPS 上运行 Gateway,通过 terminal.backend: ssh 连接到工作节点 VPS;聊天令牌和模型密钥放在第一台 VPS 上,第二台 VPS 上不保存任何重要数据。OpenClaw 可以放在带有 trusted-proxy 身份验证的反向代理后方,但 Gateway 仍会在自己的主机上执行任务,除非为每个代理启用沙箱。

仅使用本地模型:检查 URL 两次。 Hermes 要求 /v1 和 64k 上下文。OpenClaw 不接受 /v1,而是要求使用原生 API。

已经购买 Claude Max 并额外购买积分:Hermes 仅在有限范围内记录了这条路径。 如果已在同一主机上运行 Claude Code,OpenClaw 记录了如何复用它。购买 Claude Pro:在任一平台上使用 API key。

如果你仍在这两者与其他方案之间犹豫:自托管代理综述从相同维度对比了两者、Agent Zero、OpenHands 及其他方案。

FAQ

Hermes Agent 可以使用 Claude Max 订阅吗?

Hermes 文档表示可以,但适用范围有限。通过 hermes model(Anthropic OAuth)或 hermes auth add anthropic --type oauth 登录后,Hermes 会以 Claude Code 的身份使用您的账户。文档说明,该功能“仅在您使用 Claude Max 套餐并购买了额外使用额度时有效”;用量会从这些额外额度中扣除,而不是从基础额度中扣除。Claude Pro 订阅者必须改用 ANTHROPIC_API_KEY。截至 September 2026,在将其用于无人值守任务前,请先阅读 Anthropic 自己的条款。

OpenClaw 需要在我的 VPS 上开放端口吗?

正常使用不需要。Gateway 监听 TCP 18789,但 gateway.bind 的默认值为 loopback,因此只响应 127.0.0.1 上的请求。通过 SSH 隧道访问 http://127.0.0.1:18789 上的 Control UI。Telegram 使用长轮询,WhatsApp 使用出站 WebSocket,因此除非选择 Telegram 的可选 webhook 模式,否则任何通道都不需要入站端口。如果将服务绑定到 lantailnet,文档要求启用 Gateway 身份验证:使用共享令牌或密码,或者在前面部署身份感知代理。

哪个项目更适合无人值守运行?

如果在 local 后端上关闭审批,两者都不安全。最安全的 Hermes 部署方式是分为两台主机:在一台 VPS 上运行 gateway,通过 terminal.backend: ssh 连接到 worker VPS;其文档建议这样做以“获得最高安全性”。OpenClaw 的安全部署方式是使用专用的非特权用户、gateway.bind: loopback、令牌和 agents.defaults.sandbox.mode: all。对于这两种情况,都应将代理的记忆文件和 skills 目录视为攻击者可以通过聊天消息写入的输入。

我可以在同一台 VPS 上运行 Hermes Agent 和 OpenClaw 吗?

可以。两者不共享端口或目录。Hermes 将所有内容保存在 ~/.hermes/ 下,并且不打开监听端口。OpenClaw 将所有内容保存在 ~/.openclaw/ 下,并监听 127.0.0.1:18789。为每个代理分配独立的 Linux 用户,避免被攻破的代理读取另一个代理的聊天令牌。不要让两者使用同一个 Telegram bot token,因为 Telegram 每个 bot 只允许一个长轮询客户端,第二个客户端会收到 409 Conflict: terminated by other getUpdates request

如何将每个项目固定到某个版本?

OpenClaw 的 npm 安装路径接受精确版本:npm install -g openclaw@2026.9.4 --allow-scripts=openclawnpm view openclaw versions 可列出已发布的版本。Hermes 的安装程序接受 --commit SHA,因此请通过 git ls-remote --tags https://github.com/NousResearch/hermes-agent v2026.9.7 获取 v2026.9.7 对应的 commit,再将其作为 bash -s -- --commit <sha> 传入。两个项目每月都会发布多个 tag,因此请记录测试时使用的 tag。

#hermes-agent#openclaw#self-hosted-ai-agents#ai-agents#vps