OpenClaw本地Docker安装部署+自定义配置国内大模型

目录

一、源码Docker镜像部署

1.第一步:安装Node.js

2.第二步:配置环境变量

3.第三步:构建镜像

4.第四步:初始化openclaw配置

5.第五步:启动容器

二、配置国内模型API

1.方法一:交互式配置

[2.方法二:openclaw CLI 命令工具](#2.方法二:openclaw CLI 命令工具)

3.方法三:直接修改配置文件

阶段性完结


一、源码Docker镜像部署

github地址:https://github.com/openclaw/openclaw

下载源码到本地。

1.第一步:安装Node.js

安装地址:https://nodejs.org/zh-cn

2.第二步:配置环境变量

复制示例环境文件,也可以直接创建一个空的.env文件

复制代码
copy .env.example .env

解释几个需要填写参数:

OPENCLAW_GATEWAY_TOKEN:访问 Gateway 的认证密钥(关键核心配置)。Gateway 启动后会暴露 WebSocket 和 HTTP 接口,没有这个 token 任何人都能连进来。相当于你家门的钥匙,必须设置。

OPENCLAW_CONFIG_DIR:OpenClaw 存放配置文件(后续可修改模型配置)(openclaw.json、频道凭证、身份信息等)的目录。Docker 容器通过 volume 挂载这个目录,这样容器重启后配置不会丢失。

OPENCLAW_WORKSPACE_DIR: Agent 的工作目录(后续可查看agent操作文件),它在这里读写文件、执行任务。

OPENCLAW_GATEWAY_PORT:Gateway 监听的端口,默认 18789。

**OPENCLAW_GATEWAY_BIND:决定 Gateway 监听哪个网卡。**loopback = 只有本机能访问(127.0.0.1),但 Docker bridge 网络下宿主机也访问不到;lan = 监听所有网卡(0.0.0.0),宿主机和局域网都能访问,Docker 部署必须用这个。

复制代码
# .env文件内容
OPENCLAW_GATEWAY_TOKEN=xxxxxxxxx  # 需自定义修改(类似账户密码)
OPENCLAW_CONFIG_DIR=X:xxx/openclaw   # 本地创建一个文件夹,填写绝对路径
OPENCLAW_WORKSPACE_DIR=X:xxx/openclaw/workspace  # 本地创建一个文件夹,填写绝对路径
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_GATEWAY_BIND=lan

OPENCLAW_GATEWAY_TOKEN随机生成指令方式:

复制代码
# Powershell方式
-join ((1..32) | ForEach-Object { '{0:x2}' -f (Get-Random -Max 256) })

# Python方式
python -c "import secrets; print(secrets.token_hex(32))"

复制打印的字符串token即可。

3.第三步:构建镜像

配置docker中镜像源加速

复制代码
# docker配置镜像源
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://hub-mirror.c.163.com"
  ]
}

源码路径下cmd,使用构建指令,耐心等待镜像构建完成。

复制代码
docker build -t openclaw:local .

完成后可以看到docker镜像images中新添内容

4.第四步:初始化openclaw配置

使用以下指令进入docker容器内部openclaw安装初始化

复制代码
docker compose run --rm openclaw-cli onboard --mode local --no-install-daemon

选择Yes

QuickStart。先跑起来,后续可以随时用 openclaw configure 补充配置;Manual 模式会逐项填写所有配置项,比较繁琐

模型服务商选择, 先跳过Skip for now ,后期自己配置。

模型平台的 API key。还没有任何 API key,选 All providers先跳过,后面再配。

默认选择模型。第一个就好,后期可自行设置

这一步是选择想通过哪个聊天平台来使用 AI 助手。

比如选 Feishu/Lark (飞书),配置好认证 token 之后,你就可以直接在 Feishu/Lark (飞书) 里跟 AI 对话;选 Twitch 就在 Twitch 里对话,以此类推。

Skip for now跳过,后续有需求再配。

下面选项是给 AI 助手配置联网搜索能力。

配置平台 API key 之后,在跟 AI 对话时它可以主动去搜索最新信息,比如"帮我查一下今天的新闻"、"搜索某个技术文档"之类的。

没有对应平台的 API key 的话,选 Skip for now 跳过,不影响基本使用,AI 还是能正常对话,只是没有联网搜索功能。

下一个Skills 是给 AI 助手扩展能力的插件,比如读取文件、执行代码、操作浏览器等工具能力。

No跳过就行,先把基础跑通,Skills 后面有需要再单独配置。安装skills需谨慎,以防投毒风险。

Hooks 是自动化触发器,当特定事件发生时自动执行某些操作。

几个选项的含义:

boot-md --- 每次 agent 启动时自动加载一个 markdown 文件作为上下文

bootstrap-extra-files --- 启动时自动注入额外的文件到 agent 上下文

command-logger --- 记录所有命令日志

session-memory --- 执行 /new 或 /reset 重置会话时,自动把当前会话内容保存到记忆里,下次还能记住

现在先选Skip for now跳过,把主流程跑通再说。

5.第五步:启动容器

先设置运行访问来源地址

复制代码
docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins "[\"http://localhost:18789\"]" --strict-json

使用命令直接启动

复制代码
docker compose up -d openclaw-gateway

启动后,网页访问 http://localhost:18789 (.env文件中配置的本地端口)

ci'hc输入.env文件中配置的OPENCLAW_GATEWAY_TOKEN即可登录。

此时还不能登录,需要后台允许设备访问。

**(关键步骤)**继续需要配置允许设备访问:

下面指令查看已配对的设备

复制代码
docker compose run --rm openclaw-cli devices list

下面指令修改最后的设备id为上述查询到的Pending Request下的字符串

复制代码
docker compose run --rm openclaw-cli devices approve xxxxxx  # 修改xxxxx为实际设备id

修改成功后,可正常登录到使用界面

二、配置国内模型API

回顾第二步配置环境文件.env中的两个参数OPENCLAW_CONFIG_DIR、OPENCLAW_WORKSPACE_DIR,这两个配置的本机路径,就是映射到docker容器中的相关文件了。

可以直接在windows系统下,到配置的本机目录下找到 openclaw 配置文件 openclaw.json 进行文本修改,无需进入容器的bash交互麻烦。

配置自定义的外部模型API:

1.方法一:交互式配置

如果还不熟悉 openclaw,可以使用其提供的命令行CLI工具进行自动化配置。

复制代码
# 交互式配置模型
docker compose run --rm openclaw-cli models auth login

实际就是重新进入第四步安装界面进行配置

2.方法二:openclaw CLI 命令工具

直接用 config set 命令逐项写入

复制代码
# 设置 provider 配置(base URL + API key + 模型定义)
docker compose run --rm openclaw-cli config set models.providers.my-provider "{\"baseUrl\":\"https://dashscope.aliyuncs.com/compatible-mode/v1\",\"api\":\"openai-completions\",\"apiKey\":\"sk-你的key\",\"models\":[{\"id\":\"qwen-plus\",\"name\":\"qwen-plus\",\"reasoning\":false,\"input\":[\"text\"],\"contextWindow\":128000,\"maxTokens\":4096,\"cost\":{\"input\":0,\"output\":0,\"cacheRead\":0,\"cacheWrite\":0}}]}" --strict-json

# 设置默认模型
docker compose run --rm openclaw-cli models set "my-provider/qwen-plus"

3.方法三:直接修改配置文件

熟悉的话,可以直接在本地docker映射的目录下,找到openclaw.json文件直接修改。但是修改完之后要重新 docker 以生效

复制代码
# 修改配置完之后运行
docker compose restart openclaw-gateway

"models": {
    "providers": {
      "my-provider": {
        "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
        "apiKey": "sk-xxxxx",
        "api": "openai-completions",
        "models": [
          {
            "id": "qwen-plus",
            "name": "qwen-plus",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 128000,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "my-provider/qwen-plus"
      },
      "models": {
        "my-provider/qwen-plus": {}
      },
      "workspace": "/home/node/.openclaw/workspace"
    }
  },

阶段性完结

上述任一方法配置完模型后,再次访问http://localhost:18789 ,就可以正常对话了。

后续继续发布使用openclaw基础功能、openclaw插件安装、skills使用、3D可视化Agent工作......

相关推荐
Aaron158819 小时前
RFSOC+VU13P+GPU 在6G互联网中的技术应用
大数据·人工智能·算法·fpga开发·硬件工程·信息与通信·信号处理
Raink老师19 小时前
【AI面试临阵磨枪-31】Agent 反思(Reflection)机制如何实现?作用是什么?
人工智能·ai 面试
安卓程序员_谢伟光19 小时前
如何使用ai开发
人工智能
这张生成的图像能检测吗19 小时前
(论文速读)让机器人像人一样走路:注意力机制如何让腿足机器人征服复杂地形
人工智能·深度学习·计算机视觉·机器人控制
一切皆是因缘际会19 小时前
预制式制衡智能:大模型瓶颈下的 AI 迭代新思路
人工智能·安全·ai·架构
动恰客流管家19 小时前
动恰3DV3丨2026年实体商业数字化转型:客流数据是第一生产力——全场景智慧客流解决方案
大数据·人工智能·3d·性能优化
袖手蹲19 小时前
行空板K10调用Claude Buddy桌面宠物
人工智能·自动化
风落无尘19 小时前
《智能重生:从垃圾堆到AI工程师》——第三章 矩阵与防线
人工智能·线性代数·矩阵
byte轻骑兵19 小时前
【AVRCP】规范精讲[7]: 打通AVCTP互操作底层,吃透事务标签与分片规则
人工智能·音视频·avrcp·音视频控制
迦南的迦 亚索的索19 小时前
AI_08_coze_私有数据访问
人工智能