目录

一、源码Docker镜像部署

        1.第一步:安装Node.js

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

        3.第三步:构建镜像

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

        5.第五步:启动容器

二、配置国内模型API

     1.方法一:交互式配置

      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工作......

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐