OpenClaw-China-Docker(原仓库名 OpenClaw-Docker-CN-IM,镜像名 justlikemaki/openclaw-docker-cn-im)是开发者 justlovemaki 维护的一个 Docker 整合镜像。它以开源 AI 助手 OpenClaw 为核心,预装了飞书、钉钉、企业微信、QQ 机器人等国内即时通讯平台的渠道插件,目标是让团队用一份环境变量文件和一条 docker compose 命令,把大模型接进员工日常使用的聊天软件。
项目基于 OpenClaw 构建,沿用 GPL-3.0 协议,镜像免费使用,模型调用费用由接入的 API 服务商另行计算。需要提前说明的是,仓库 README 标题已注明「暂停更新」,GitHub 上最近一次提交停在 2026 年 4 月 14 日,选型时要把这一点算进去。
产品定位与整体架构
给企业内部做一个能在飞书或钉钉里对话的 AI 机器人,写提示词往往不是最耗时的部分。各平台的接入方式并不统一:飞书需要在开放平台配置事件订阅,钉钉的机器人走 Stream 模式,企业微信又有自己的一套凭证体系;如果还想让机器人抓取网页,Playwright 在容器里经常因为缺少系统库而启动失败。这个镜像把这些适配工作提前做完,使用者只需要填写模型密钥和各平台凭证。
从结构上看,镜像扮演的是一个统一网关:上游接收各 IM 平台推来的消息,中间由 OpenClaw 负责渠道管理、消息路由和鉴权,下游把请求转发给兼容 OpenAI 或 Claude 协议的模型服务。ahhhhfs 在介绍文章里把它形容为「中间商」,这个比喻大体准确。
图:OpenClaw 网关在 IM 平台与模型服务之间的位置
关于 OpenClaw 本身的设计思路,站内的 OpenClaw 架构拆解有更完整的说明;如果只关心原版 OpenClaw 怎么接飞书、微信和 Telegram,可以参考 OpenClaw 部署指南。本文讨论的是面向国内 IM 场景的整合版。
核心功能
按官方 README,镜像整合的内容可以分为四块。
渠道插件。飞书同时提供官方团队插件(larksuite/openclaw-lark)和旧版内置实现;钉钉用的是 soimy/dingtalk,QQ 机器人用 sliverp/qqbot,企业微信用 sunnoy/wecom,微信则有单独的官方插件接入指南。这些插件大多来自社区,镜像做的是预装和配置联动,插件本身的质量和更新节奏仍取决于各自作者。
配置驱动。仓库提供两份模板:.env.example 是带详细注释的完整版,.env.minimal 只保留必需参数。容器启动时由 init.sh 读取环境变量,自动生成或同步 openclaw.json,并根据某个平台的凭证是否填写来决定启用还是禁用对应渠道。
工具集。镜像内置 Playwright、FFmpeg、中文 TTS 和 OpenCode AI,还集成了 Agent Reach,用于检索 Twitter、小红书、微博、抖音、小宇宙等平台的内容。网页截图、音视频处理这类能力不用再单独搭服务。
沙箱与持久化。数据目录挂载到宿主机,重建容器后配置和会话不会丢失。另有可选的 Docker 沙箱模式,把 AI 执行的 Python 代码和 Shell 脚本隔离运行;README 说明沙箱使用官方最小镜像,没有附带使用示例。
部署步骤
图:从克隆仓库到启动容器的五个步骤
官方给了两种方式:直接使用预构建镜像,或自行构建。大多数场景选前者。作者建议克隆整个仓库而不是只下载单个文件,原因是后续升级时需要对照模板补充新增的环境变量。
git clone https://github.com/justlovemaki/OpenClaw-China-Docker.git
cd OpenClaw-China-Docker
接着从两份模板里选一份复制成 .env:
cp .env.example .env
# 或精简版
cp .env.minimal .env
模型相关至少要填 MODEL_ID、BASE_URL、API_KEY 三项。官方给出的最小示例如下,其中 API_PROTOCOL 决定按 OpenAI 还是 Claude 协议对接:
MODEL_ID=gemini-3-flash-preview
BASE_URL=http://localhost:3000/v1
API_KEY=your-api-key
API_PROTOCOL=openai-completions
CONTEXT_WINDOW=1000000
MAX_TOKENS=8192
国内团队通常会把 BASE_URL 指向 DeepSeek、通义千问、智谱等提供 OpenAI 兼容接口的服务,这样服务器不需要访问境外网络。IM 平台的凭证可以先留空,只要没填,init.sh 就会禁用对应渠道。需要启用时,在精简版模板中取消注释并填写:
# FEISHU_APP_ID=
# FEISHU_APP_SECRET=
# DINGTALK_CLIENT_ID=
# DINGTALK_CLIENT_SECRET=
# DINGTALK_CARD_STREAMING_MODE=answer
# WECOM_BOT_ID=
# WECOM_SECRET=
同一份文件里的 OPENCLAW_GATEWAY_TOKEN 是 Web 控制台的登录口令,模板默认值为 123456,上线前必须改掉。配置完成后启动并查看日志:
docker compose up -d
docker compose logs -f
日志里出现「渠道同步」「已禁用渠道」「未提供环境变量」等字样时,可以据此判断哪个平台没有生效。停止服务用 docker compose down。
飞书官方团队插件的安装是交互式向导,没法在构建镜像时自动完成,所以 compose 文件里单独准备了一个 openclaw-installer 工具容器:
docker compose up -d openclaw-gateway
docker compose --profile tools up -d openclaw-installer
docker exec -it openclaw-installer bash
su node
npx -y @larksuite/openclaw-lark-tools install
进入主容器排查时同样建议先切换到 node 用户,否则部分命令会因权限不一致而报错:
docker compose exec openclaw-gateway /bin/bash
su node
openclaw --version
cat ~/.openclaw/openclaw.json
如需启用沙箱,在 .env 中设置 OPENCLAW_SANDBOX_MODE=all(或 non-main),再取消 docker-compose.yml 里 /var/run/docker.sock 挂载行的注释,执行 docker compose up -d --force-recreate 重建。挂载 docker.sock 等于把宿主机 Docker 的控制权交给容器,只建议在专用服务器上开启。
升级流程是先同步仓库、对照模板补齐新变量,再拉取镜像重建:
git pull
docker compose pull
docker compose up -d --force-recreate
常见问题排查
端口占用。网关默认端口是 18789(变量 OPENCLAW_GATEWAY_PORT),默认绑定 0.0.0.0。启动失败时先确认宿主机上这个端口没有被其他服务占用。ahhhhfs 的文章还提到 18790,但当前官方模板和 compose 文件中只映射了 18789。
修改 .env 后不生效。ahhhhfs 的说法是配置只在首次生成时写入,需要删除配置目录重来。官方 FAQ 的解释不同:init.sh 每次启动都会按环境变量同步配置,不生效通常是因为容器没有重建、启动时读的不是修改过的那份 .env,或者手动维护的 openclaw.json 里有冲突字段。以官方为准,排查顺序是先执行 docker compose up -d --force-recreate,看日志,再进入容器检查实际配置;确实需要重置时删除 openclaw.json 后重启即可,不必清空整个数据目录。
docker compose exec openclaw-gateway /bin/bash
rm -f /home/node/.openclaw/openclaw.json
exit
docker compose restart openclaw-gateway
飞书机器人能发消息但收不到消息。问题一般出在飞书开放平台后台,而不是网关:检查「事件与回调」是否选择了使用长连接接收事件、是否订阅了 im.message.receive_v1、相关权限是否已通过审核、机器人是否已添加到目标群聊。使用官方团队插件时,还要确认交互式安装已经走完。
适用场景与使用建议
这个镜像更适合需要快速交付的场景,比如给公司内部在钉钉或飞书里搭一个问答助手,或者一次性覆盖多个 IM 平台。如果目标是研究 OpenClaw 源码或深度定制消息处理逻辑,直接基于上游 OpenClaw 开发会少一层封装带来的排查成本。
「暂停更新」是选型时最需要权衡的因素。OpenClaw 上游和各 IM 平台的接口仍在变化,整合镜像停更后,插件版本可能逐渐落后。对于短期项目或内部试点,现有版本够用;长期运行的生产系统,建议 fork 仓库自行维护,或者按 README 列出的插件清单在上游 OpenClaw 上自行组装。
README 还推荐搭配作者的另一个项目 AIClient-2-API,把各类 AI 客户端账号转换成 API 接口调用。这类用法可能违反相应客户端的服务条款,存在封号风险,企业环境下更稳妥的选择仍是使用正规的 API 密钥。
安全方面,这类网关连接着企业 IM 和外部模型服务,属于权限集中的节点。IM 后台只开通收发消息所需的权限,.env 文件不要提交到公开仓库,管理端口不要直接暴露在公网,建议部署在内网或配置了防火墙的服务器上。同时要遵守飞书、钉钉、企业微信的开发者条款,不能用于群发营销消息。
同样是给大模型套一层可视化或集成外壳的开源项目,Open Claude Cowork 面向的是个人桌面使用,与本项目的团队 IM 场景可以互为参考。
官网 / 下载
GitHub 仓库:justlovemaki/OpenClaw-China-Docker
Docker Hub:justlikemaki/openclaw-docker-cn-im