我是在做出海产品的独立开发者良逍。最近在折腾 AI Agent 和自动化工作流,发现 OpenClaw 是个不错的消息网关方案——能把飞书、Telegram 这些消息入口统一接进来,配上 AI 模型处理,还能扩展浏览器自动化、网页抓取等能力。
这篇文章记录我用 68 元阿里云 VPS 部署 OpenClaw 的完整过程,适合第一次搭建的朋友。
你会看到:
1. OpenClaw 能做什么,为什么值得折腾
2. 怎么用低配 VPS 跑起来(含避坑经验)
3. 怎么配置 AI 模型(我用 Codex,也支持第三方 Key)
4. 怎么接入飞书和 Telegram
5. 怎么扩展浏览器自动化、0 成本联网搜索等实用功能
一、OpenClaw 是什么?为什么选它?
一句话理解: OpenClaw 是一个"消息网关 + AI Agent 运行层"。
它的核心价值是把三件事串起来:
1. 统一消息入口 — 飞书、Telegram、QQ 等渠道都接进来
2. AI 模型处理 — 支持 Codex、OpenAI、第三方 Key
3. 工具和技能调用 — 浏览器自动化、网页抓取、定时任务、MCP 工具
对个人开发者来说,最大的好处是:一次部署,到处可用。你不用每个平台都写一遍 Bot,消息统一进来,AI 统一处理,工具统一调用。
二、VPS 配置:68 元阿里云够用吗?
我这次用的是阿里云轻量服务器(2026 年 2 月活动价):
• 价格:68 元/年(首年活动价)
• 配置:2 vCPU / 2GB RAM / 40GB 磁盘
• 系统:Debian
2GB 内存够不够?
OpenClaw 是 Node.js 程序,跑起来加上插件、日志、模型调用,2GB 是比较舒服的下限。如果你的 VPS 只有 1GB,建议加个 swap(虚拟内存):
# 创建 4GB swap
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
# 验证
free -h
安全建议:
• 只开放 SSH 端口(22),其他端口不直接暴露公网
• 用密钥登录,不用密码
• 用 SSH 转发访问 Dashboard,不开放管理端口
SSH 登录示例:
ssh -i ~/.ssh/<你的密钥>.pem root@<VPS_IP> -p 22
三、安装 OpenClaw
1. 确认 Node.js 环境
OpenClaw 需要 Node.js 运行环境,建议用 LTS 版本(我这次用的是 v22.22.0):
node -v
npm -v
如果没装,去官网或用 NodeSource 安装。
2. 全局安装 OpenClaw
npm --loglevel warn --no-fund --no-audit install -g openclaw@latest
openclaw --version
我这次安装的版本是 2026.2.3-1。
3. 启动网关服务
OpenClaw 的"网关"负责接收消息、调度 AI、返回结果。先安装为系统服务(开机自启):
openclaw gateway install
openclaw gateway start
openclaw gateway status
看到 active (running) 就成功了。
四、配置 AI 模型(我用 Codex)
我这次用的是 openai-codex 作为主模型。最省事的方法是用交互向导:
openclaw configure --section model
在向导里完成三件事:
1. 选择 provider(例如 openai-codex)
2. 完成登录或填入 token
3. 设为默认模型
第三方 Key 也可以
如果你用其他 provider(OpenAI 或 OpenAI-compatible),流程是一样的:
1. 选模型提供方
2. 配置 api_key
3. 如有需要配置 base_url
4. 设默认模型并测试
如果你不确定怎么用第三方 Key,可以看我之前写的"在 Windows & macOS 上安装 Claude Code,并使用第三方 Key 的完整指南",逻辑可以直接复用。
五、打开 Dashboard(以及两个大坑)
OpenClaw 有一个控制台(网页 UI),用于配置频道、查看日志、管理 Skills。
在 VPS 上打印带 token 的 Dashboard 链接:
openclaw dashboard --no-open
但你很可能会遇到两个坑:
坑 1:unauthorized: gateway token missing
原因: 你打开的 Dashboard 没带网关 token,网关拒绝访问。
解决: 用 openclaw dashboard --no-open 打印出来的"带 token 链接"打开,或者在 Dashboard 设置里粘贴 token。
坑 2:control ui requires HTTPS or localhost
原因: 浏览器要求"安全上下文"(HTTPS 或 localhost)才能用某些功能,你用 http://<服务器IP>:<端口> 打开时会被拦截。
解决: 用 SSH 端口转发,让你本机用 127.0.0.1 打开:
ssh -i ~/.ssh/<你的密钥>.pem \
-L 19001:127.0.0.1:19001 \
root@<VPS_IP> -p 22
然后在浏览器打开:
127.0.0.1端口 19001 是我这次的例子,你的以 openclaw gateway status 为准。这样不需要给公网开放端口,更安全。
六、接入飞书
1. 飞书后台准备
在飞书开放平台创建应用,拿到:
• App ID(形如 cli_xxx)
• App Secret(一串密钥,别公开)
权限至少要覆盖"收消息 + 发消息",如果用流式卡片输出,注意相关卡片权限。
2. 在 Dashboard 配置
打开 Dashboard → Channels → Feishu,填入 App ID 和 App Secret,保存。
3. 处理配对(pairing)
如果你把飞书 DM 策略设为 allowlist/pairing(推荐,更安全),第一次给机器人发消息时,它会返回一个配对码。
在 VPS 上执行:
openclaw pairing approve feishu <PAIRING_CODE> --notify
批准后,再跟机器人说话就能正常对话了。
验证通道状态:
openclaw channels status --probe --json
我遇到的一个非致命警告
日志里反复出现:
• Failed to create streaming card
• 缺少权限 cardkit:card:write
影响是:机器人"打字效果"的流式卡片可能失败,但最终消息还是能发出来。
修复方式二选一:
1. 去飞书后台补 cardkit:card:write 权限
2. 接受没有流式卡片的体验(不影响基本功能)
七、接入 Telegram
Telegram 更简单:
1. 用
@BotFather 创建 Bot,拿到 Bot Token
2. 在 Dashboard → Channels → Telegram 填入 token
3. 选择 DM 策略(推荐 pairing 或 allowlist)
我这次用的是轮询(polling)模式,特点是:
• VPS 主动去 Telegram 拉消息
• 不需要开放 443 端口,不用配 webhook
验证:
openclaw channels status --probe --json
看到 telegram.probe.ok=true 就没问题了。
八、0 成本联网方案(重点)
很多人第一次用 OpenClaw 会发现:web_search 不是免费的,它需要 Brave/Perplexity 这类搜索 API 的 key。
但好消息是:你可以用免费的 web_fetch + DDG 搜索做替代。
我这次做了三件事:
1. 关闭 web_search,开启 web_fetch
openclaw config set --json tools.web.fetch.enabled true
openclaw config set --json tools.web.search.enabled false
openclaw gateway restart
2. 加一个 0 成本搜索 skill:ddg-search
这个 skill 返回"标题 + URL"列表,你再用 web_fetch 抓其中想看的那条。
3. 加一个长尾词 skill:google-suggest
它不是搜索,而是 Google 自动补全建议,适合做:
• SEO 选题
• 长尾关键词扩展
• 标题/话题灵感
在对话里怎么用
对机器人说:
1. "用 ddg-search 搜索:xxx,给我 5 条结果"
2. "把第 2 条用 web_fetch 抓取并中文总结"
这套组合的好处是:
• 0 成本
• 足够稳定
• 可控(先看链接再抓正文,避免乱抓)
九、扩展浏览器自动化(高频场景)
OpenClaw 支持 MCP 和 Skills 扩展。我这次重点测试了浏览器自动化。
比如 browser-use 这类 skill,可以做:
1. 打开页面、点击、输入、翻页
2. 页面截图回传
3. 按步骤执行回放
Debian VPS 上的常见坑
很多 root 场景下需要:
1. headless=true
2. chromium_sandbox=false
否则经常表现为"一直在加载/超时"。
自动化提交外链等任务的建议
这类任务可以做,但建议写清边界:
1. 先做 dry-run(只演练不提交)
2. 每一步都截图留证据
3. 只在目标平台规则允许的情况下执行
4. 失败时优先人工接管,不要盲目重试
十、排障常用命令
我这次排障主要靠:
openclaw status
openclaw gateway status
openclaw channels status --probe --json
openclaw logs --follow
你会看到非常具体的错误信息,比如:
• token 缺失
• 飞书缺权限
• web_search 缺 key
基本都能一眼定位。
最后:给你一个最小闭环
如果你想照着跑通,建议按这个顺序:
1. 先跑通一条飞书消息
• 配好 App ID/Secret
• 处理配对
• 发一条消息测试
2. 再跑通一条模型回复
• 配好 AI 模型(Codex 或第三方 Key)
• 跟机器人对话,看回复是否正常
3. 最后加一个 Skill
• 比如浏览器自动化或 DDG 搜索
• 测试调用是否成功
先闭环,再扩展,成功率最高。
安全建议:
1. 不要把 OpenClaw Gateway 端口直接暴露到公网
2. token、AppSecret、BotToken 都当作密码对待
3. 飞书/电报都建议用 allowlist/pairing,别直接 open
4. 真要公网访问 Dashboard,请上 HTTPS(反代 + 证书),并限制来源 IP
最后说一句,如果你不会,那你买完VPS之后,你直接把密钥下载下来,然后终端打开你的claude或者codex,告诉他让他去链接你的vps,然后让他帮你安装,你只需要提供一些配置就可以。很简单。