This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
zq/10.项目/12-AI助手/10-OpenClaw/知乎专栏/01-在旧电脑上部署 OpenClaw:我的血泪踩坑史.md
T

11 KiB
Raw Blame History

tags
tags
OpenClaw
AI助手
本地部署
飞书机器人
企业微信

背景

OpenClaw 年初火了之后我就开始折腾,正好腾讯云、阿里云搞年终促销,就都试了一遍。结果发现云服务器部署这玩意儿有个硬伤——配置太低,尤其是内存,跑一些耗资源的任务根本扛不住。

所以决定用本地机器来搞。我没有 Mac mini,但有一台之前买的机械革命 imini:8845H + 32G 内存,虽然没有显卡,但跑 OpenClaw 这种场景显卡也不太重要,就拿它来搞一搞。

前置准备

科学上网

⚠️ 强烈建议先搞定这一步!

OpenClaw 很多依赖都在外网:GitHub、Docker、各种 API……没有科学上网,你家的 OpenClaw 基本就是"残废"状态。

建议:

  • 搞个旁路由,买个稳定点的梯子
  • 把 OpenClaw 那台机器的网关指向旁路由
  • 这样全程无感,不用单独配置

工具准备

  • SSH 工具:FinalShell、Termius 之类的,能远程访问 imini
  • 文件管理:WinSCP 之类的 SFTP 工具,方便传文件、改配置

安装 Ubuntu 24

  • 准备一个 U 盘
  • 下载 Ubuntu 24 镜像
  • 下载 balenaEtcher
  • 用 balenaEtcher 将 Ubuntu 镜像写入 U 盘做成启动盘
  • 用启动盘安装系统

安装完成后做几件事:

  1. 更新系统:

    sudo apt update && sudo apt upgrade
    

    然后重启

  2. 在路由器里给 imini 分配一个固定 IP(方便后续 SSH 连接)

  3. 键盘、鼠标、显示器都可以拆掉了,插着网线、电源,丢角落里就行

安装 OpenClaw

使用一键安装脚本:

curl -fsSL https://openclaw.ai/install.sh | bash

安装完成后会自动进入配置界面。如果你用 Kimi 或者能用国外那几个模型(Claude、OpenAI 等),直接在配置里选好就行,这些都是自带的。

如果用其他模型,可以先跳过模型配置,我们后面直接改配置文件。核心配置文件只有一个:~/.openclaw/openclaw.json

配置 AI 模型

设置模型和 API Key

模型在 openclaw.json 的 models.providers 中配置,厂商名称可以自定义,URL 和 API 格式参考各模型厂商的接口文档。

⚠️ 注意:部分 CodingPlan 和纯 Token API 接口的 URL 不同,不仅仅是 API Key 不同。

以下是几个常用的国内模型配置示例,照着配,改改 apiKey 就行:

"models": {
  "mode": "merge",
  "providers": {
    "bailian": {
      "baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
      "apiKey": "xxx",
      "api": "openai-completions",
      "models": [
        {
          "id": "qwen3-max-2026-01-23",
          "name": "qwen3-max-thinking",
          "reasoning": false,
          "input": ["text"],
          "cost": {
            "input": 0,
            "output": 0,
            "cacheRead": 0,
            "cacheWrite": 0
          },
          "contextWindow": 262144,
          "maxTokens": 65536
        }
      ]
    },
    "mm": {
      "baseUrl": "https://api.minimaxi.com/anthropic",
      "apiKey": "xxx",
      "api": "anthropic-messages",
      "authHeader": true,
      "models": [
        {
          "id": "MiniMax-M2.5",
          "name": "MiniMax M2.5",
          "reasoning": false,
          "input": ["text"],
          "cost": {
            "input": 15,
            "output": 60,
            "cacheRead": 2,
            "cacheWrite": 10
          },
          "contextWindow": 200000,
          "maxTokens": 8192
        }
      ]
    },
    "zhipu": {
      "baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4",
      "apiKey": "xxx",
      "api": "openai-completions",
      "models": [
        {
          "id": "glm-5",
          "name": "glm 5",
          "reasoning": false,
          "input": ["text"],
          "cost": {
            "input": 0,
            "output": 0,
            "cacheRead": 0,
            "cacheWrite": 0
          },
          "contextWindow": 200000,
          "maxTokens": 8192
        }
      ]
    }
  }
}

不想直接改配置文件?也可以用命令行:

openclaw config set 'models.providers.zhipu' --json '{
  "baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4",
  "apiKey": "xxx",
  "api": "openai-completions",
  "models": [
    { "id": "glm-5", "name": "glm 5" }
  ]
}'
openclaw config set models.mode merge
openclaw models set zhipu/glm-5

💡 提示:Kimi 的 CodingPlan 可以直接在 openclaw configure 中选择 kimi-codingplan-cn,不用手动配置。

为代理设置模型

建议为每个模型设置简短的别名(alias),并配置主模型和备用模型(fallback),当主模型不可用时自动切换:

"agents": {
  "defaults": {
    "model": {
      "primary": "m25",
      "fallbacks": ["g47f", "g5", "q3", "k2p5"]
    },
    "models": {
      "zhipu/glm-5": { "alias": "g5" },
      "zhipu/glm-4.7-FlashX": { "alias": "g47f" },
      "mm/MiniMax-M2.5": { "alias": "m25" },
      "bailian/qwen3-max-2026-01-23": { "alias": "q3" },
      "kimi-coding/k2p5": { "alias": "k2p5" }
    },
    "workspace": "/home/xxx/.openclaw/workspace",
    "compaction": { "mode": "safeguard" },
    "maxConcurrent": 8,
    "subagents": { "maxConcurrent": 16 }
  }
}

配置聊天软件

大部分聊天软件需要科学上网,手机和部署 OpenClaw 的机器都需要全程开梯子。如果梯子不稳定,经常会丢消息,体验很差。建议优先使用国内的聊天软件。

不用翻墙的选择主要是 飞书 和 企业微信,各有优劣。如果这两个都没调通,又急着用,可以先配 WhatsApp 顶一顶。

WhatsApp(最简单,但要翻墙)

⚠️ 全程需要科学上网,建议作为飞书/企业微信跑通前的临时方案。

优点:配置非常简单,几乎不可能配不对。

缺点:需要翻墙,自己跟自己聊天没有通知。

配置:

"whatsapp": {
  "dmPolicy": "allowlist",
  "selfChatMode": true,
  "allowFrom": ["+86你的手机号"],
  "groupPolicy": "allowlist",
  "mediaMaxMb": 50,
  "debounceMs": 0
}

使用方式:

  1. 运行 openclaw configure,选择 WhatsApp
  2. 扫码配对,输入自己的手机号
  3. 选择"这是自己的号码"
  4. 自己和自己聊天即可

💡 如果有两个号码,用备用号码绑定 OpenClaw,选择"这是专门的号码",这样聊天时会有通知。

飞书

优点

  • 配置相对简单
  • 支持多个飞书机器人,适合多 Agent 场景

缺点

  • 有 API 调用次数限制(最初 1W,后临时上调到 5W,后续政策不确定)
  • 早期插件有 bug:发送失败时会每秒发心跳,正常情况下每分钟也发心跳,1 天 1440 次,几天就能用完额度

🔧 解决方案:如果发现额度消耗异常快,参考 GitHub Issue #170 中修改 probe.ts 的方法。

设置方法

  1. 访问 飞书开放平台,注册账号并创建企业
  2. 创建应用和机器人,获取 appId 和 appSecret
  3. 在 OpenClaw 中配置:openclaw configure,选择飞书并填入凭证

配置示例:

"channels": {
  "feishu": {
    "enabled": true,
    "dmPolicy": "open",
    "accounts": {
      "feishu-pm": {
        "appId": "xxx",
        "appSecret": "xxx"
      },
      "feishu-dev": {
        "appId": "xxx",
        "appSecret": "xxx"
      }
    },
    "domain": "feishu",
    "groupPolicy": "open",
    "requireMention": true
  }
}
  1. 回到开放平台添加权限:
{
  "scopes": {
    "tenant": [
      "contact:contact.base:readonly",
      "contact:user.base:readonly",
      "im:chat",
      "im:chat:read",
      "im:chat:update",
      "im:message",
      "im:message.group_at_msg:readonly",
      "im:message.group_msg",
      "im:message.p2p_msg:readonly",
      "im:message:send_as_bot",
      "im:resource"
    ],
    "user": [
      "contact:contact.base:readonly"
    ]
  }
}
  1. 设置事件与回调方式为长连接(需要先配置好 OpenClaw 的 Channel)
  2. 测试发送消息

企业微信

优点

  • 目前没有 API 调用限制

缺点

  • 发消息时会先回复一个"1",然后刷掉,没有通知
  • 回复超过 5 分钟会丢失,需要额外配置"应用"来接收
  • 5 分钟内微信每秒都会轮询接口,gateway 日志会有大量请求记录,回复时经常卡到爆炸

设置机器人

  1. 访问 企业微信后台
  2. 创建企业 → 安全与管理 → 管理工具 → 智能专区 → 智能机器人 → 创建机器人
  3. 选择 API 模式,输入 token、key、URL(URL 格式:你的外网地址/wecom/bot)

安装插件(注意:该插件可能已下架):

openclaw plugins install https://github.com/xl370869-art/wecom.git

配置:

"wecom": {
  "enabled": true,
  "bot": {
    "token": "xxx",
    "encodingAESKey": "xxx",
    "receiveId": "",
    "dm": { "policy": "open" }
  }
}

设置 Agent 应用(解决 5 分钟超时问题)

机器人无法主动推送消息,需要配置应用:

"agent": {
  "corpId": "xxx",
  "corpSecret": "xxx",
  "agentId": "xxx",
  "token": "xxx",
  "encodingAESKey": "xxx",
  "dm": { "policy": "open" }
}

获取凭证:

  • corpId:企业微信后台 → 我的企业 → 企业信息(页面底部)
  • agentId 和 Secret:应用管理 → 新建应用 → 查看应用详情

配置步骤:

  1. 在 OpenClaw 中配置好上述信息
  2. 回到企业微信后台 → 应用 → 接收消息
  3. 设置 API 地址为:你的外网地址/wecom/agent
  4. 获取 token 和 encodingAESKey,填入 OpenClaw 配置
  5. 重启 gateway,确认后台设置完成

总结

到这里 OpenClaw 的基本功能已经配置完成。能折腾的东西很多,想用顺手需要调的地方也不少。业余时间搞的话,建议慢慢来,一点一点优化。

几点经验

  1. OpenClaw 更新很快 — 很多问题过两天就修复了。比如飞书从只支持单机器人到现在支持多机器人,定时任务也稳定了很多。

  2. 一定要备份 .openclaw 目录!

    • 做定时备份,推送到私有 Git 仓库
    • OpenClaw 权限很大,一旦出问题可能需要从头配置
    • 只推 Git 还不够保险,因为 OpenClaw 可以 --force 强推覆盖远程历史
    • 建议再做一个每日备份到其他机器或目录
  3. 最好搞个旁路由给 OpenClaw 科学上网用 — 访问 GitHub、Docker,好多功能都在外网才能顺畅访问。没有科学上网,家里的 OpenClaw 只能算是残疾人。最好是搞个旁路由,买个稳定点的梯子,OpenClaw 网关给旁路由。