OpenClaw 开发环境搭建指南

环境要求

  • Node.js >= 22.12.0
  • pnpm 10.x

下载源码

git clone https://github.com/openclaw/openclaw.git 
cd  openclaw

第一步:安装依赖

pnpm install

第二步:配置 DeepSeek API Key

编辑 ~/.openclaw-dev/openclaw.json,加入以下内容(与现有字段合并):

{
  "env": {
    "DEEPSEEK_API_KEY": "sk-你的key"
  },
  "agents": {
    "defaults": {
      "model": { "primary": "deepseek/deepseek-chat" }
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "deepseek": {
        "baseUrl": "https://api.deepseek.com/v1",
        "apiKey": "${DEEPSEEK_API_KEY}",
        "api": "openai-completions",
        "models": [
          { "id": "deepseek-chat", "name": "DeepSeek V3" },
          { "id": "deepseek-reasoner", "name": "DeepSeek R1" }
        ]
      }
    }
  }
}

第三步:清除旧的 device 配对记录

rm -rf ~/.openclaw-dev/devices/
rm -rf ~/.openclaw-dev/identity/

第四步:启动 Gateway(终端1)

pnpm gateway:dev

等待看到:

[gateway] listening on ws://127.0.0.1:19001

第五步:CLI 先以 operator 身份配对(终端2)

pnpm openclaw --dev nodes status

注意:必须在 node-host 启动之前先执行,否则会有角色冲突

第六步:启动 Node Host(终端3,使用独立 profile 避免 device ID 冲突)

先获取网关 token:

cat ~/.openclaw-dev/openclaw.json | grep token

然后启动 node-host(替换 <TOKEN>):

OPENCLAW_GATEWAY_TOKEN=<TOKEN> pnpm openclaw --profile nodehost node run --host 127.0.0.1 --port 19001

第七步:确认节点连接

pnpm openclaw --dev nodes status

成功输出示例:

pnpm openclaw --dev nodes status

> openclaw@2026.3.9 openclaw /home/wukt/projects/openclaw
> node scripts/run-node.mjs --dev nodes status


🦞 OpenClaw 2026.3.9 (6b87489)  I'll do the boring stuff while you dramatically stare at the logs like it's cinema.


  
Known: 1 · Paired: 1 · Connected: 1

  

第八步:测试 AI 操控电脑

让 AI 执行 shell 命令(用节点 ID 替换 <node-id>

pnpm openclaw --dev agent --agent main --message "帮我执行 ls -la"

或用 --to 指定 session(用 nodes status 中的 ID)

pnpm openclaw --dev agent --message "你好" --to <node-id>

直接在节点上执行命令

pnpm openclaw --dev nodes run --node <node-id> --raw "uname -a"

关键注意事项

问题 原因 解决方案
pairing required CLI 和 node-host 共用同一 device ID,角色冲突 node-host 使用 --profile nodehost 独立身份
role-upgrade 被拦截 同一 device 不能切换角色 同上
node-host 先启动被 CLI 占用 gateway 只允许第一个连接者的角色 必须 CLI 先跑 nodes status,再启动 node-host