乐于分享
好东西不私藏

聊聊OpenClaw 多模型本地部署实测,安装配置坑点全踩全解这件事

聊聊OpenClaw 多模型本地部署实测,安装配置坑点全踩全解这件事

上周六凌晨两点,我盯着终端里那条红得吓人的报错 `Gateway connection failed`,心想这下完了,明天团队还得用这个做演示。OpenClaw 这玩意儿,安装的时候就折腾了半小时,配好了能跑通,但隔三差五就给你来点莫名其妙的毛病。你是不是也遇到过这种”装完就报错”的破事?
我花了一整个周末,把它的安装、配置、模型接入的坑全踩了一遍。今天这篇,就是把这些血泪史打包成一份”防复发清单”。
安装只是个开始,真正的地狱是配置
很多人觉得 `curl` 一条命令就完事了。确实,安装本身很简单:
    curl -fsSL https://openclaw.ai/install.sh | bash
但跑完这行,你才算推开了新世界的大门。我当初就天真地以为”装完了”,结果一执行初始化命令就傻眼了。
    openclaw onboard –install-daemon
接下来的交互式安装,简直像一场扫雷游戏。它会问你一堆问题,每个选项都可能埋着坑。比如”是否明白此工具功能强大且存在固有风险”,你当然得选 yes,但后面还有更深的陷阱。
它会让你选”快速安装模式”,然后跳过模型配置。很多人(包括我)会在这里卡住,因为后面再想补配置,文件路径和结构可能就对不上了。说实话,我猜你也会在这里犯迷糊:它到底让我跳过了什么关键步骤?
关键来了:初始化完成后,80% 的问题根本不需要你手动解决。官方其实藏了个”健康检查”命令,这是后期我发现的最大救星。你装完后,别急着跑,先执行它:
    openclaw health
这玩意儿能自动检测配置文件的语法错误、依赖缺失、权限问题,然后尝试修复。我上次网关起不来,就是它帮我找到 JSON 配置文件里少了个逗号。
模型配置:先跑通一个,再想其他的
这是第二个大坑。很多人(包括我)一上来就想把 Claude、GPT、Gemini 全配上,结果就是同时掉进好几个坑里,根本分不清是哪个配置出了问题。
正确的姿势是:先集中精力把一个模型跑通。比如,你先搞定 Claude。
如果你用的是国内的中转 API(比如 AICodeMirror),你需要手动编辑配置文件。这个文件在 `~/.openclaw/openclaw.json`。我一开始直接在界面上改,改了没反应,重启也没用,最后才发现是配置文件根本没更新。
打开这个 JSON 文件,找到 `models` 部分。你得把里面的 `providers` 替换成类似这样的结构:
    “models”: {
      “providers”: {
        “aicodemirror-claude”: {
          “baseUrl”: “https://api.aicodemirror.com/api/claudecode”,
          “apiKey”: “***”,
          “api”: “anthropic-messages”,
          “models”: [
            {
              “id”: “claude-sonnet-4-5-20250929”,
              “name”: “Claude Sonnet 4.5”
            }
          ]
        }
      }
    }
这里有几个细节特别容易踩坑:
1.  `api` 字段的值:Claude 要用 `”anthropic-messages”`,GPT 相关要用 `”openai-responses”`,Gemini 又要用 `”openai-completions”`。写错了,它表面不报错,但调用时就是不通。
2.  `baseUrl` 和 `apiKey`:必须是你服务商提供的正确地址和密钥。我犯过一次傻,把 Key 前后的空格复制进去了,结果调试了半小时。
3.  模型 `id`:得和你服务商定义的一模一样,大小写都不能错。
改完文件,保存。然后重启网关服务,配置才能生效:
    openclaw gateway restart
好了吗?别高兴太早。我第一次这么干完,测试调用,依然报错。后来翻文档才发现,你还得去 `agents` 部分,把默认模型指向你刚刚配好的那个。
在同一个 JSON 文件里,找到 `agents` 字段,修改 `defaults` 下的 `model`:
    “agents”: {
      “defaults”: {
        “model”: {
          “primary”: “aicodemirror-claude/claude-sonnet-4-5-20250929”
        },
        // …其他配置
      }
    }
这里 `primary` 的值,必须是 `提供商标识/模型ID` 这样的格式。路径错了,它也找不到模型。我之前在这里写成了单层模型名,结果它一直去默认配置里找,找了个寂寞。
那些文档里不会写的坑
搞定配置,你以为万事大吉了?太天真。
坑1:权限问题。 如果你是 Mac 或 Linux 用户,安装脚本有时候会搞出奇怪的文件权限问题。表现就是,你能执行 `openclaw` 命令,但无法写入日志或者配置文件。这时候别硬试,先检查权限:
    ls -la ~/.openclaw/
看看 `config` 或 `logs` 目录是不是 root 用户创建的。如果是,你就得用 `sudo chown -R 你的用户名 ~/.openclaw/` 把所有权改回来。
坑2:网关幽灵进程。 有时候你重启网关,旧的进程没死透,新的起不来,就会端口冲突。报错信息可能很模糊。这时候最暴力的办法:
    # 先找到所有 openclaw 相关的进程
    ps aux | grep openclaw
    # 然后杀掉它们(把 <PID> 换成实际的进程号)
    kill -9 <PID>
杀干净了,再执行 `openclaw gateway restart`。
坑3:Skills 包安装。 初始化时它会问你装不装官方的 skills 包,推荐选 `pnpm`。但你的 Node 环境要是没配好,这步会失败,而且错误信息藏得老深。我建议你装 OpenClaw 前,先确保 pnpm 是可用的,并且能正常使用。这能省掉很多麻烦。
说到底,折腾 OpenClaw 的过程,就像在组装一台高度模块化的机器。每个零件(模型、权限、配置)都得自己调校。一旦调好了,那种所有 AI 工具和本地文件、命令无缝协作的感觉,确实很爽。但前期那个反复试错的过程,足够写一本《踩坑实录》了。
你要是也准备上手,我的建议是:别贪心,先配好一个模型,跑通一个最小闭环。从让 AI 读取你本地的一个文件,或者执行一个简单的 `ls` 命令开始。等这一切都稳了,再像搭积木一样,去接入第二个、第三个模型。
毕竟,在本地搞 AI,玩的就是一个”折腾”二字。自由和麻烦,从来都是一对孪生兄弟。
> 欢迎关注「火柴人de故事」,一起折腾 AI 和技术。