一次完整的服务器部署实践记录,从 SSH 连接到 AI 对话
最近我在腾讯云服务器上部署了 OpenClaw —— 一个开源的个人 AI 助手项目。整个过程让我对 Linux 服务器运维、Node.js 应用部署、以及 AI API 配置有了更深入的理解。这篇博客记录了完整的部署过程,希望对有类似需求的朋友有所帮助。
OpenClaw 是一个开源的个人 AI 助手项目,它的特点是:
- 多平台接入:可以连接 WhatsApp、Telegram、Discord、Slack 等多种聊天平台
- 多模型支持:支持 OpenAI、Anthropic、阿里云通义千问等多种 AI 模型
- 本地部署:完全运行在你自己的服务器上,数据更安全
项目地址:https://github.com/openclaw/openclaw
服务器配置
我使用的是腾讯云轻量应用服务器:
2GB 内存对于 OpenClaw 来说略显紧张,但配合 Swap 交换空间基本够用。
配置 SSH 免密登录
每次连接服务器都输入密码太麻烦,建议先配置 SSH 密钥认证实现免密登录。
具体配置方法可以参考我之前的博文:SSH 免密登录配置
更新系统软件源
这一步是更新 Ubuntu 的软件包列表,确保后续能安装到最新版本的软件。
安装 Node.js 22
OpenClaw 要求 Node.js >= 22。Ubuntu 默认软件源中的 Node.js 版本较旧,我们使用 NodeSource 仓库安装最新版:
为什么要用 NodeSource? Ubuntu 自带软件仓库中的 Node.js 版本通常比较旧,而 NodeSource 是专门提供最新 Node.js 版本的第三方仓库。
安装 pnpm 包管理器
pnpm 比 npm 更快、更省磁盘空间,OpenClaw 项目使用 pnpm 管理依赖。
OpenClaw 提供两种安装方式:
方式一:官方 CLI 安装(快速上手)
对于想快速体验的用户,官方推荐直接安装 CLI:
我选择了这种方式,因为目标是快速把项目跑起来,先体验一下效果。
方式二:从源码构建(深入学习)
如果你想深入学习项目架构和代码逻辑,可以从源码构建:
源码构建可能会遇到一些依赖和环境问题,需要更多的调试时间。我计划后续用源码构建的方式进行深入学习,到时候再写一篇博客记录。
OpenClaw 的浏览器控制功能依赖 Puppeteer。Puppeteer 需要下载 Chromium 浏览器,默认从 Google 服务器下载,在国内可能很慢或无法访问。
什么是无头浏览器? “无头”指的是没有图形界面的浏览器,它是完整的浏览器引擎,可以加载网页、执行 JavaScript、截图等,只是不会在屏幕上显示窗口。非常适合服务器环境使用。
使用国内镜像加速下载:
引导向导会帮你配置:
- AI 模型提供商:OpenAI、Anthropic、阿里云通义千问等
- 聊天频道:Telegram、Discord、WhatsApp openclaw 等
- 技能插件:浏览器控制、文件操作等
- 后台服务:Gateway 守护进程
选择 AI 模型
我选择了阿里云通义千问(Qwen)的 模型,原因是:
- 响应速度快:我的需求是做一个”工具人”,快速响应比深度思考更重要
- 国内直连:服务器在腾讯云,调用国外 API(如 OpenAI、Anthropic)延迟高且不稳定
- 成本低:qwen-flash 是通义千问中最便宜的模型,适合高频调用场景
- 中文能力强:毕竟是国产模型,中文理解和生成都很好
引导向导支持 OAuth 登录,用 Qwen 账号授权即可使用,非常方便。
OAuth 登录虽然方便,但如果想要更稳定的服务和更快的响应速度,建议使用阿里云 DashScope 的付费 API。
获取 API Key
- 访问 https://dashscope.console.aliyun.com/
- 登录阿里云账号,开通 DashScope 服务
- 创建 API Key
修改配置文件
编辑 ,在 中添加 DashScope 配置:
关于 :这不是指使用 OpenAI 的服务,而是指使用 OpenAI 定义的 API 通信格式。OpenAI 的 API 格式已成为行业标准,很多厂商(包括阿里云 DashScope)都提供了兼容模式。
重启 Gateway
Gateway(网关)是 OpenClaw 的核心服务,相当于一个”调度中心”:
Gateway 的主要职责:
Gateway 配置详解
关于 Token:Token 是 Gateway 的访问密钥,在运行引导向导时自动生成。只有持有正确 Token 的客户端才能访问 Gateway,确保安全性。
配置完成后,启动 TUI(终端用户界面):
你会看到类似这样的界面:
🎉 成功!AI 助手已经可以正常工作了。
1. Node.js 版本过低
OpenClaw 要求 Node.js >= 22,Ubuntu 默认源只有较旧的版本。解决方案:使用 NodeSource 仓库安装。
2. Puppeteer 下载超时
Puppeteer 默认从 Google 服务器下载 Chromium,国内访问困难。解决方案:设置 环境变量指向国内镜像。
3. npm 全局安装权限问题
执行 时报 。解决方案:使用 。
4. 配置文件格式错误
手动编辑 JSON 配置文件时,漏掉了 数组字段。OpenClaw 会给出明确的错误提示,按提示修复即可。
经过这次部署实践,我学到了:
- SSH 密钥认证 的原理和配置方法
- Node.js 版本管理 和 NodeSource 仓库的使用
- 无头浏览器 的概念及在服务器环境中的应用
- API 兼容性设计 —— 为什么很多厂商都兼容 OpenAI 的 API 格式
- Gateway 架构 —— 如何设计一个消息中枢来连接多个渠道和服务
目前我把 OpenClaw 定位为一个快速响应的”工具人”,所以选择了 这个速度最快的模型。后续计划:
- 尝试从源码构建,深入理解项目架构
- 接入 Telegram 或 Discord,实现多端访问
- 探索更多 Skills 技能,扩展 AI 助手的能力
OpenClaw 是一个很有意思的项目,它把 AI 能力和各种聊天平台打通,让你可以在任何地方使用自己的 AI 助手。如果你也想尝试,希望这篇博客能帮到你。
本文记录于 2026 年 1 月 31 日,基于 OpenClaw v2026.1.29 版本
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/255108.html原文链接:https://javaforall.net
