自建 OpenClaw:把个人 AI 助手接进 Telegram、Slack 和 Discord(附 Hermes Agent 对比)
用 Zenavo 的模板在自己的服务器上部署 OpenClaw,配置公开网址与网关令牌,接入自己的模型 API 或自建网关,并绑定 Telegram、Discord、Slack 机器人,实现 24 小时在线的个人 AI 助手。
本文亦提供 English、繁體中文、日本語、Español 和 Bahasa Indonesia。
在自己电脑上跑 AI 助手,合上笔记本就断线,出门在外想从手机 Telegram 或 Discord 发句话查资料、跑任务都不方便。OpenClaw 把个人 AI 助手做成常驻网关:你在网页控制台里配好模型服务商和聊天频道,就能随时从 Telegram、Slack、Discord 等聊天软件里跟它对话。
这篇文章用 Zenavo 的 OpenClaw 模板把它部署到你自己的 Linux 服务器上,做到 24 小时在线,并介绍如何接入自建模型网关以及与另一个热门开源智能体 Hermes Agent 的区别。服务器、Zenavo 平台和上游模型 API 分别计费。
1. 部署前准备:先定好一个域名
OpenClaw 在第一次启动时会把你的公开 HTTPS 网址写进配置文件(publicOrigin 与 controlUi.allowedOrigins),用来校验控制台来源和生成回调地址。
- 先在你的 DNS 服务商添加一条指向服务器 IP 的
A记录,例如assistant.example.com。 - 在 Zenavo 中连接一台 Linux 服务器(模板建议至少预留 2 GB 内存)。
- 打开 OpenClaw 模板,在 公开网址(
SITE_URL) 一栏填入完整 HTTPS 地址(不要以斜杠结尾,例如https://assistant.example.com),选择服务器并部署。
当前模板包含以下配置:
| 配置 | 值或用途 |
|---|---|
| 镜像 | ghcr.io/openclaw/openclaw:2026.11.3 |
| HTTP 端口 | 18789 |
| 状态与配置卷 | /home/node/.openclaw(保存 openclaw.json 与 workspace 工作区) |
| 凭证数据卷 | /home/node/.config/openclaw |
OPENCLAW_GATEWAY_TOKEN |
项目创建时自动生成的随机令牌,用于登录网页控制台 |
SITE_URL |
部署时填写的公开网址,首次启动时写入 openclaw.json |
2. 绑定域名并登录控制台
部署完成后:
- 打开
openclaw服务的 网络(Networking) 页,为端口18789绑定刚才填写的同一个域名(如assistant.example.com),等待 HTTPS 证书自动签发。详见域名与 HTTPS。 - 打开
openclaw服务的 变量(Variable) 页,复制OPENCLAW_GATEWAY_TOKEN的值。 - 在浏览器访问
https://assistant.example.com,粘贴OPENCLAW_GATEWAY_TOKEN登录 Control UI。
注意:
OPENCLAW_GATEWAY_TOKEN相当于你的助手管理员密码,拿到它就能调用你绑定的模型和聊天机器人。请把它存进密码管理器(例如自建的 Vaultwarden),不要发在群聊或截图里。
3. 接入模型服务商或自建网关
登录 Control UI 后,先添加模型服务商(Model Provider):
- 直连官方 API:填入 OpenAI、Anthropic、Gemini 或 DeepSeek 的官方 API Key。
- 接入自建模型网关(推荐):如果你在 Zenavo 上部署了 Magpie、New API 或 LiteLLM,可以在网关里专门给 OpenClaw 签发一把带每日额度上限的密钥,再把 OpenClaw 的模型地址指向网关。这样即使机器人被频繁触发,也不会刷爆你的上游账单。
- 走同项目私有网络:如果网关和 OpenClaw 在同一个 Zenavo 项目里(用 添加服务 → 模板 添加),可以直接填内网地址(例如
http://new-api.zenavo.internal:3000/v1或http://litellm.zenavo.internal:4000/v1),请求不经过公网,详见私有网络。
4. 绑定 Telegram、Discord 或 Slack 频道
在 Control UI 的 Channels 页面添加你常用的聊天工具:
- 创建机器人凭证:例如在 Telegram 中找
@BotFather发送/newbot创建机器人并拿到 Bot Token;或在 Discord Developer Portal / Slack App 后台创建 Bot。 - 填入凭证并启用频道:把 Token 填入 OpenClaw 对应频道配置并保存。
- 限制谁能和机器人对话:公开平台上的机器人一旦上线,任何知道用户名的人都可能发消息给它。务必在频道设置里开启用户白名单(Allowlist),只允许你自己的 Telegram User ID、Discord 用户或指定的私有服务器频道触发助手。
5. OpenClaw 与 Hermes Agent 怎么选?
Zenavo 模板库里还有另一个同样支持 Telegram、Discord 和 Slack 的开源智能体模板——Hermes Agent(由 Nous Research 开源)。两者的对比如下:
| 对比维度 | OpenClaw | Hermes Agent |
|---|---|---|
| 镜像与默认端口 | ghcr.io/openclaw/openclaw:2026.11.3,端口 18789 |
nousresearch/hermes-agent:v0.23.1,端口 9119 |
| 持久化目录 | /home/node/.openclaw 与 /home/node/.config/openclaw |
/opt/data |
| 控制台登录方式 | 使用 OPENCLAW_GATEWAY_TOKEN 令牌登录 |
用户名 admin,密码在 HERMES_DASHBOARD_BASIC_AUTH_PASSWORD 变量中 |
| 侧重点 | 个人多频道 AI 助手与工作区网关,配置轻量直观 | 强调长期记忆(Memory)、技能(Skills)沉淀与自主任务执行 |
如果你想快速搭一个多聊天软件互通的随身助手,从 OpenClaw 开始最顺手;如果你更看重 Nous Research 生态的长期记忆与技能扩展,可以直接一键部署 Hermes Agent 模板。
6. 备份与升级
OpenClaw 的配置、工作区文件和频道凭证都在 /home/node/.openclaw 与 /home/node/.config/openclaw 两个数据卷里:
- 在维护窗口停止项目,在
openclaw服务的 备份与恢复 页为这两个数据卷创建备份,完成后启动项目并下载备份妥善保管。步骤见备份与恢复。 - 模板默认固定在验证过的版本(
2026.11.3)。需要升级时,先备份数据卷,阅读上游发行说明,再在服务 设置 → 来源 中修改镜像标签。
常见问题
打开域名提示来源不被允许(Origin not allowed)或无法连接?
检查两点:一是部署时填写的 SITE_URL 是否与实际绑定的域名完全一致(必须带 https://,且末尾不能有 /);二是如果你在首次启动之后才修改了 SITE_URL 变量,由于启动脚本只在 /home/node/.openclaw/openclaw.json 不存在时生成配置,你需要同步修改该文件中的 publicOrigin 和 controlUi.allowedOrigins,再重启服务。
为什么容器启动后健康检查要等一会儿才变绿?
OpenClaw 首次启动需要初始化配置与网关进程,模板设置了 60 秒的启动宽限期(start_period: 60)。如果超过两分钟仍未就绪,可以在控制台右侧呼出内置的 Zenavo Agent 或用 Claude Code MCP 查看启动日志。
机器人在群里不回复消息?
以 Telegram 为例,Bot 默认开启隐私模式(Privacy Mode),在群组里只能收到 / 开头的命令或直接 @ 它的消息。如果需要让它在群里响应普通消息,可以在 @BotFather 的 /setprivacy 中关闭隐私模式,同时确认该群组或你的账号已加入白名单。
还需要网页端聊天界面吗? OpenClaw 适合从现有的即时通讯软件(Telegram、Slack、Discord)随手调用;如果你还想要一个支持文件上传、知识库和多人账号的独立聊天网站,可以在同一台服务器上搭配部署 Open WebUI 或 LobeHub。
准备好域名,从 OpenClaw 模板或 Hermes Agent 模板开始,几分钟就能把你的个人 AI 助手放进手机聊天软件里。
这是 coding agent 读到的内容,地址是 https://zenavo.app/zh-CN/blog/self-host-openclaw.md。
无法加载 Markdown,请直接打开: https://zenavo.app/zh-CN/blog/self-host-openclaw.md