🗺️ 操作教程总览

1 购买服务器 2 安装 Kimi 3 SSH 免密 4 安装 Clash 5 安装 Claude 6 部署 OpenClaw

1. 登录服务器并更新系统

通过 SSH 连接到你的服务器,首先更新系统软件包。

🖥️ 服务器(Ubuntu) SSH 会话
# 连接到服务器(使用 Step 3 配置的别名)
ssh myserver

# 更新软件包列表和已安装软件
apt update && apt upgrade -y

# 安装常用工具
apt install -y curl wget vim git ufw

2. 安装 Node.js

OpenClaw 基于 Node.js 构建,需要先安装 Node.js 运行时环境。

🖥️ 服务器(Ubuntu) SSH 会话
# 安装 Node.js 20.x(LTS 版本)
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs

# 验证安装
node --version
npm --version

# 安装 pm2(进程管理器,用于守护 OpenClaw 服务)
npm install -g pm2
💡
pm2 是什么?

pm2 是 Node.js 的进程管理器,可以让你的应用后台运行、开机自启、自动重启崩溃的进程。生产环境部署 Node.js 应用的标准工具。

3. 安装 OpenClaw

通过 npm 全局安装 OpenClaw。

🖥️ 服务器(Ubuntu) SSH 会话
# 全局安装 OpenClaw
npm install -g openclaw

# 验证安装
openclaw --version

# 查看 OpenClaw 安装路径(后续配置会用到)
which openclaw
⚠️
安装路径说明

npm 全局安装的路径取决于 Node.js 的安装方式。如果 openclaw 命令提示 not found,可能需要将 npm 全局 bin 目录添加到 PATH 中:export PATH="$PATH:$(npm config get prefix)/bin"

4. 创建 OpenClaw 配置目录

创建存放配置文件和数据的目录。

🖥️ 服务器(Ubuntu) SSH 会话
# 创建 OpenClaw 工作目录
mkdir -p /opt/openclaw
cd /opt/openclaw

# 创建数据子目录
mkdir -p data logs

5. 编写配置文件

创建 OpenClaw 的配置文件,添加 Kimi 和 DeepSeek 两个模型后端。

🖥️ 服务器(Ubuntu) /opt/openclaw/config.yaml
# 创建配置文件
cat > /opt/openclaw/config.yaml << 'EOF'
server:
  port: 3000
  host: "0.0.0.0"

# API 密钥管理(OpenClaw 对外暴露的 Key)
api_keys:
  - key: "sk-openclaw-your-custom-key"
    name: "default"
    models: ["*"]

# 上游模型提供商配置
providers:
  # Kimi (Moonshot AI)
  - name: "kimi"
    base_url: "https://api.moonshot.cn/v1"
    api_key: "${KIMI_API_KEY}"
    models:
      - id: "kimi-k1.5"
        name: "Kimi K1.5"
      - id: "moonshot-v1-128k"
        name: "Kimi 128K"

  # DeepSeek
  - name: "deepseek"
    base_url: "https://api.deepseek.com/v1"
    api_key: "${DEEPSEEK_API_KEY}"
    models:
      - id: "deepseek-chat"
        name: "DeepSeek V3"
      - id: "deepseek-reasoner"
        name: "DeepSeek R1"

# 路由策略
routing:
  default_provider: "kimi"
  fallback_enabled: true
EOF

cat /opt/openclaw/config.yaml

6. 设置环境变量(API Keys)

将真实的 Kimi 和 DeepSeek API Key 配置为环境变量。

🖥️ 服务器(Ubuntu) SSH 会话
# 创建环境变量文件
cat > /opt/openclaw/.env << 'EOF'
KIMI_API_KEY=sk-your-actual-kimi-api-key
DEEPSEEK_API_KEY=sk-your-actual-deepseek-api-key
EOF

# 设置文件权限,只允许 root 读取
chmod 600 /opt/openclaw/.env

# 验证
ls -la /opt/openclaw/.env
🚨
保护你的 API Key

.env 文件包含真实的 API Key,是服务器上最敏感的文件之一。通过 chmod 600 确保只有 root 用户可以读取。切勿将其提交到 Git 仓库或展示给他人。

7. 获取 DeepSeek API Key

如果你还没有 DeepSeek API Key,按以下步骤获取:

  1. 访问 DeepSeek 开放平台
  2. 注册 / 登录账号(支持手机号)
  3. 进入「API Keys」页面
  4. 点击「创建 API Key」,复制生成的 Key
  5. 新用户通常有 ¥10 免费额度

获取后,将 /opt/openclaw/.env 文件中的 DEEPSEEK_API_KEY 替换为真实值。

8. 启动 OpenClaw

使用 pm2 启动 OpenClaw,实现后台运行和自动重启。

🖥️ 服务器(Ubuntu) SSH 会话
# 进入工作目录
cd /opt/openclaw

# 加载环境变量并启动 OpenClaw
export $(cat .env | xargs)

# 使用 pm2 启动(指定名称、端口、配置文件)
pm2 start $(which openclaw) --name openclaw -- -c /opt/openclaw/config.yaml

# 查看运行状态
pm2 status

# 查看日志
pm2 logs openclaw

# 按 Ctrl+C 退出日志查看,服务继续在后台运行
💡
常用 pm2 命令
  • pm2 stop openclaw:停止服务
  • pm2 restart openclaw:重启服务
  • pm2 delete openclaw:删除进程
  • pm2 logs openclaw:查看实时日志
  • pm2 save:保存当前进程列表
  • pm2 startup:配置开机自启

9. 配置开机自启

设置 pm2 开机自动启动 OpenClaw。

🖥️ 服务器(Ubuntu) SSH 会话
# 保存当前进程列表
pm2 save

# 生成开机启动脚本(根据提示执行输出的命令)
pm2 startup systemd

# 示例输出:
# [PM2] To setup the Startup Script, copy/paste the following command:
# sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u root --hp /root

# 复制并执行输出的命令
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u root --hp /root

# 验证:重启服务器后 OpenClaw 会自动启动
# reboot

10. 配置防火墙

开放 OpenClaw 的端口(3000),同时保留 SSH 端口。

🖥️ 服务器(Ubuntu) SSH 会话
# 启用 UFW 防火墙
ufw default deny incoming
ufw default allow outgoing

# 允许 SSH(22 端口,必须保留,否则无法连接服务器)
ufw allow 22/tcp

# 允许 OpenClaw 端口
ufw allow 3000/tcp

# 如果你后续需要 HTTPS,也开放 443
# ufw allow 443/tcp

# 启用防火墙(确认提示时输入 y)
ufw enable

# 查看防火墙状态
ufw status
🚨
不要关闭 22 端口!

22 端口是 SSH 远程登录的唯一通道。如果在配置防火墙时意外关闭了 22 端口,你将无法连接服务器,只能通过腾讯云控制台的 VNC 救援登录来修复。务必确保 ufw allow 22/tcp 已执行。

11. 验证部署

在本地电脑上测试 OpenClaw 服务是否正常工作。

💻 macOS 本地 Terminal
# 测试 OpenClaw 健康检查端点
curl http://YOUR_SERVER_IP:3000/health

# 如果返回类似 {"status":"ok"},说明服务正常

# 测试模型列表接口
curl -H "Authorization: Bearer sk-openclaw-your-custom-key"   http://YOUR_SERVER_IP:3000/v1/models

# 测试聊天补全接口
curl -X POST http://YOUR_SERVER_IP:3000/v1/chat/completions   -H "Content-Type: application/json"   -H "Authorization: Bearer sk-openclaw-your-custom-key"   -d '{\n    "model": "kimi-k1.5",\n    "messages": [{"role": "user", "content": "你好,OpenClaw!"}]\n  }'
🪟 Windows 本地 PowerShell
# 测试 OpenClaw 健康检查
Invoke-RestMethod -Uri "http://YOUR_SERVER_IP:3000/health"

# 测试聊天补全
$headers = @{
  "Authorization" = "Bearer sk-openclaw-your-custom-key"
  "Content-Type" = "application/json"
}
$body = @{
  model = "kimi-k1.5"
  messages = @(@{role = "user"; content = "你好,OpenClaw!"})
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://YOUR_SERVER_IP:3000/v1/chat/completions" -Method POST -Headers $headers -Body $body

12. 配置 Kimi Code 使用 OpenClaw

修改 Kimi Code 的配置,让其通过你的 OpenClaw 服务器调用模型。

💻 macOS 本地 Terminal
# 设置环境变量指向你的 OpenClaw 服务器
export KIMI_BASE_URL="http://YOUR_SERVER_IP:3000/v1"
export KIMI_API_KEY="sk-openclaw-your-custom-key"

# 永久设置(添加到 ~/.zshrc)
echo 'export KIMI_BASE_URL="http://YOUR_SERVER_IP:3000/v1"' >> ~/.zshrc
echo 'export KIMI_API_KEY="sk-openclaw-your-custom-key"' >> ~/.zshrc
source ~/.zshrc

# 重新启动 Kimi Code
cd ~/Projects/openclaw-test
kimi

# 现在 Kimi Code 的请求会通过你的 OpenClaw 服务器转发
# 你可以自由切换后端模型(Kimi / DeepSeek)
🪟 Windows 本地 PowerShell
# 设置环境变量
$env:KIMI_BASE_URL = "http://YOUR_SERVER_IP:3000/v1"
$env:KIMI_API_KEY = "sk-openclaw-your-custom-key"

# 永久设置(用户级)
[Environment]::SetEnvironmentVariable("KIMI_BASE_URL", "http://YOUR_SERVER_IP:3000/v1", "User")
[Environment]::SetEnvironmentVariable("KIMI_API_KEY", "sk-openclaw-your-custom-key", "User")

# 重新启动 Kimi Code
cd C:\Projects\openclaw-test
kimi

🎉 部署完成!

恭喜!你已经完成了整个 OpenClaw 培训项目的全部六步操作。现在你的技术栈如下:

🚀
下一步探索
  • 在 Kimi Code 中切换不同模型测试效果:使用 DeepSeek R1 分析这段代码
  • 在 OpenClaw 配置中添加更多模型(OpenAI、Claude、Gemini)
  • 为 OpenClaw 配置 HTTPS(使用 Nginx + Let's Encrypt)
  • pm2 monit 实时监控 OpenClaw 运行状态
← 上一步
Step 5: Claude Code