欢迎光临
我们一直在努力

Docker+deepseek云模型部署openclaw

一、配置openclaw+QQBot

docker

请确保电脑上已配置好 Docker 和 Docker Compose。

下载链接: Docker: Accelerated Container Application Development 或 Docker中文网

根据系统选择适用版本,安装步骤可查。

# 检查 Docker 版本
docker –version

# 检查 Docker Compose 版本
docker compose version

配置openclaw需确保 Docker Compose 在v2以上,直接更新到新版即可。

部署Docker

  • 创建一个工作目录,命名为openclaw即可,
  • 在该目录下创建文件 .env ,进去后写下以下内容:

    VOLC_API_KEY=xxxxxxxx
    LARK_APP_ID=xxxxxxx
    LARK_APP_SECRET=xxxxxx

    注意,此文件里控制API KEY 和 环境变量等,有需要可以修改。

  • 创建文件 docker-compose.yml ,并填写以下内容:
  • services:
    # — OpenClaw 主程序 (Gateway) —
    openclaw-gateway:
    image: crpi-a1liy20beodq2bdl.cn-beijing.personal.cr.aliyuncs.com/bujic/openclaw:v2026.3.12
    container_name: openclaw-main
    restart: unless-stopped
    init: true
    environment:
    TZ: Asia/Shanghai
    NODE_ENV: production
    HOME: /home/node
    TERM: xterm-256color
    OPENCLAW_GATEWAY_TOKEN: "YOUR_CUSTOM_TOKEN" # 请更换为你的安全Token
    OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: "true"
    PATH: "/home/node/.openclaw/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    VOLC_API_KEY: ${VOLC_API_KEY} #敏感信息采用环境变量注入
    LARK_APP_ID: ${LARK_APP_ID}
    LARK_APP_SECRET: ${LARK_APP_SECRET}
    volumes:
    – ./openclaw_data:/home/node/.openclaw
    – ./workspace:/home/node/.openclaw/workspace
    – /var/run/docker.sock:/var/run/docker.sock
    ports:
    "18789:18789"
    "18790:18790"
    "9222:9222" #无头浏览器端口
    command: ["node", "dist/index.js", "gateway", "–bind", "lan", "–port", "18789"]

    # — 无头浏览器 (Headless Shell) —
    headless-shell:
    image: crpi-a1liy20beodq2bdl.cn-beijing.personal.cr.aliyuncs.com/bujic/headless-shell:latest
    container_name: headless-shell
    network_mode: "service:openclaw-gateway"
    restart: unless-stopped
    shm_size: "2g"

    注意,一定要将 YOUR_CUSTOM_TOKEN 换为自己的安全Token, 并且记住这串字符串,我们需要使用Token访问webUI。

    Token生成命令如下:

    # 生成 256 位(32 字节)随机 token
    openssl rand -hex 32
    # 示例输出: a1b2c3d4e5f6…

    配置openclaw文件

    在openclaw目录下创建子文件夹 openclaw_data,再在openclaw_data目录下创建文件 openclaw.json 。

    路径: ./openclaw/openclaw_data/openclaw.json

    在openclaw.json文件写以下:

    {
    "meta": {
    "lastTouchedVersion": "2026.3.12"
    },
    "browser": {
    "enabled": true,
    "attachOnly": true,
    "defaultProfile": "browserless",
    "noSandbox": false,
    "headless": false,
    "ssrfPolicy": {
    "dangerouslyAllowPrivateNetwork": true
    },
    "profiles": {
    "browserless": {
    "cdpUrl": "http://127.0.0.1:9222",
    "color": "#00AA00"
    }
    }
    },
    "models": { //这里的模型是deepseek
    "providers": {
    "deepseek": {
    "baseUrl": "https://api.deepseek.com/v1",
    "apiKey": "你的api key",
    "api": "openai-completions",
    "models": [
    {
    "id": "deepseek-chat",
    "name": "DeepSeek V3",
    "reasoning": false
    }
    ]
    }
    }
    },
    "channels": {
    "feishu": {
    "enabled": false,
    "appId": "${LARK_APP_ID}",
    "appSecret": "${LARK_APP_SECRET}",
    "connectionMode": "websocket",
    "dmPolicy": "allowlist",
    "allowFrom": [
    "YOUR_USER_ID"
    ],
    "streaming": true,
    "footer": {
    "elapsed": true,
    "status": true
    }
    }
    },
    "agents": { //模型
    "defaults": {
    "model": {
    "primary": "deepseek/deepseek-chat"
    }
    }
    },
    "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
    },
    "gateway": {
    "mode": "local",
    "controlUi": {
    "dangerouslyAllowHostHeaderOriginFallback": true,
    "allowInsecureAuth": true,
    "dangerouslyDisableDeviceAuth": true
    }
    },
    "plugins": {
    "entries": {
    "feishu": {
    "enabled": false
    },
    "openclaw-lark": {
    "enabled": true
    }
    },
    "installs": {
    "openclaw-lark": {
    "source": "npm",
    "spec": "@larksuite/openclaw-lark",
    "installPath": "/home/node/.openclaw/extensions/openclaw-lark",
    "version": "2026.3.12",
    "resolvedName": "@larksuite/openclaw-lark",
    "resolvedVersion": "2026.3.12",
    "resolvedSpec": "@larksuite/openclaw-lark@2026.3.12",
    "integrity": "sha512-MNcDrerQrO42I09w+M8q6dwnWHMKxOnXSCLG4qNwcekjGeDmA53lIuWJtGMpjTzvDjYkoWnN+8Zg78+FRCSV9w==",
    "shasum": "113a4f9e9802fbb6b8c65677f1ede2c36e823a72",
    "resolvedAt": "2026-03-13T08:59:23.563Z",
    "installedAt": "2026-03-13T08:59:32.378Z"
    }
    }
    }
    }

    上面两处注释的地方可更改其他模型配置

    获取deepseek API KEY:

    进入deepseek官网,购买API即可,实验时充3元就够了。

    启动与运行

  • **启动容器:**在openclaw目录下打开终端
  • #启动
    docker compose up -d

    #关闭
    docker compose down

  • 进入 CLI 管理界面: 如果需要使用交互式命令行,可以执行:
  • # 进入容器内部
    docker exec -it openclaw-main /bin/bash

    # 交互式设置向导
    openclaw configure

  • 检查日志:
  • docker logs -f openclaw-main

  • Web登录
  • http://127.0.0.1:18789/#token=你的安全Token

    Token正确后在浏览器中进入网址即可

    接入QQ机器人

    一、创建qq机器人

    快速注册创建QQ机器人

    点击链接后登录,点击创建机器人

    在这里插入图片描述

    创建后,会有个AppID和AppSecret,这个需要留着。

    然后下方有一个安装插件的教程,需要先进入docker容器。

    二、安装插件

    #docker compose exec 进入docker容器
    docker compose exec openclaw-gateway openclaw plugins install @tencent-connect/openclaw-qqbot@latest

    三、 配置绑定当前QQ机器人

    直接把第2步的命令复制即可,仍然需要进入docker容器

    docker compose exec openclaw-gateway openclaw channels add –channel qqbot –token "AppID:AppSecret"

    "AppID:AppSecret"里的AppID和AppSecret需要换成自己的。

    四、重启本地OpenClaw服务

    docker compose exec openclaw-gateway openclaw gateway restart

    docker compose restart openclaw-gateway

    五、验证 QQ 机器人状态

    # 查看已配置的渠道
    docker compose exec openclaw-gateway openclaw channels list

    # 查看日志
    docker compose logs -f openclaw-gateway | grep qqbot

    参考:

    [OpenClaw 容器化部署指南](https://bujic.cc/blogs/OpenClaw 部署指南)

    使用Docker部署OpenClaw完整指南 – 栈上堆语

    别再花钱买云服务器了!OpenClaw 本地部署保姆级教程,10分钟拥有私人AI助手 – warm3snow – 博客园

    二、创建agent

    agent 管理

    注意:下面所有命令均需在容器内部输入

    方便复制:

    docker exec -it openclaw-main /bin/bash

    # 列出所有 Agent
    openclaw agents list

    # 详细信息
    openclaw agents list –verbose

    输出示例:

    请添加图片描述

    创建agent

    # 创建名为 coder 的 Agent
    openclaw agents add coder #coder是新建的agent的名字,根据需要更换

    过程

    可能是每次更新都不同,向导问题也不同,所以这里就不给出过程了。

    根据自己的需要选择就行了。

    删除agent

    # 删除 Agent
    openclaw agents remove coder

    我尝试remove反馈无指令,然后使用delete可以。

    openclaw agents delete coder

    agent配置文件

    SOUL.md – 性格定义

    定义 Agent 的性格、行为准则和能力边界。

    创建好后打开workspace-coder目录,发现里面已经有了默认文件,打开后直接编写即可。

    请添加图片描述

    示例内容:

    # Coder Agent

    ## 核心原则

    – 专注于代码审查、编写和技术问题解答
    – 遵循最佳实践和代码规范
    – 提供清晰的技术解释和示例
    – 注重代码质量、性能和安全性

    ## 风格定位

    – 技术专业、逻辑清晰
    – 代码示例丰富
    – 善于发现潜在问题
    – 提供建设性的改进建议

    ## 能力范围

    ### 擅长领域
    – 代码审查和重构建议
    – Bug 诊断和修复方案
    – 性能优化建议
    – 安全漏洞识别
    – 技术架构讨论

    ### 边界限制
    – 不处理非技术问题
    – 不提供项目管理建议
    – 不涉及商业决策
    – 专注于代码质量和技术实现

    ## 交互风格

    – 直接、简洁
    – 提供代码示例
    – 解释技术原理
    – 给出多个方案供选择

    USER.md – 用户信息

    记录用户的基本信息、偏好和项目背景。

    示例:

    # 用户信息

    ## 基本信息

    – 姓名:张三
    – 角色:全栈开发工程师
    – 团队:技术部
    – 时区:Asia/Shanghai

    ## 技术栈

    – 前端:React, Vue, TypeScript
    – 后端:Node.js, Python, Go
    – 数据库:PostgreSQL, MongoDB, Redis
    – 工具:Git, Docker, Kubernetes

    ## 项目信息

    ### 当前项目
    – OpenClaw:开源 AI Agent 平台
    – 角色:核心开发者
    – 主要职责:后端开发、架构设计

    ### 历史项目
    – ProjectA:电商平台(2024-2025)
    – ProjectB:数据分析系统(2023-2024)

    ## 偏好设置

    – 代码风格:遵循 ESLint 规范
    – 注释语言:中文
    – 测试框架:Jest
    – 文档格式:Markdown

    ## 常用命令

    – 测试:`npm test`
    – 构建:`npm run build`
    – 部署:`npm run deploy`

    AGENTS.md – 工作方式

    定义 Agent 的工作方式、记忆机制和协作规则。

    # Agent 工作方式

    ## 会话管理

    ### 会话读取规则
    – 读取最近 50 条消息作为上下文
    – 优先读取标记为重要的消息
    – 自动过滤无关的系统消息

    ### 会话写入规则
    – 重要决策和结论写入长期记忆
    – 代码片段和配置保存到知识库
    – 定期清理过期的临时信息

    ## 记忆机制

    ### 短期记忆
    – 当前会话的上下文
    – 最近的对话历史
    – 临时的工作状态

    ### 长期记忆
    – 项目架构和设计决策
    – 常见问题和解决方案
    – 代码规范和最佳实践
    – 用户偏好和习惯

    ## 心跳任务

    ### 每日任务(9:00)
    – 检查 GitHub 新 PR
    – 汇总未解决的 Issues
    – 推送每日技术摘要

    ### 每周任务(周一 10:00)
    – 生成周报
    – 分析代码质量趋势
    – 提醒待办事项

    ## 群聊礼仪

    ### 响应规则
    – 被 @提及时立即响应
    – 技术问题主动参与讨论
    – 非技术话题保持沉默

    ### 消息格式
    – 代码使用代码块格式
    – 长消息分段发送
    – 重要信息使用引用格式

    ## 协作规则

    ### 与其他 Agent 协作
    – 技术问题转给 Coder Agent
    – 用户支持转给 Support Agent
    – 项目管理转给 PM Agent

    ### 权限边界
    – 只能访问技术相关的仓库
    – 不能修改生产环境配置
    – 敏感操作需要人工确认

    IDENTITY.md – 身份配置

    # IDENTITY.md – Who Am I?

    – **Name:** CodeMaster
    – **Creature:** Code Whisper
    – **Vibe:** Technical, precise, helpful
    – **Emoji:** 💻
    – **Avatar:**

    身份配置好后,可以输入以下命令设置身份:

    openclaw agents set-identity –agent coder –from-identity

    路由配置

    基于渠道路由

    将不同渠道的消息路由到不同的 Agent:

    {
    "bindings":
    {
    "type": "route",
    "agentId": "coder", #agent名
    "match": {
    "channel": "qqbot", //信息渠道为qqbot
    "accountId": "default",
    "textMatches": ["代码", "编程", "bug", "审查", "技术", "Python", "JavaScript", "Java", "Go", "C++", "算法", "数据结构", "调试", "优化", "重构", "测试", "部署"]
    },
    "priority": 10
    },
    {
    "type": "route",
    "agentId": "main",
    "match": {
    "channel": "qqbot",
    "accountId": "default"
    },
    "priority": 1
    }
    ],
    }

    检查QQBot状态

    openclaw channels status –probe

    然后就可以在qqbot上的机器人上测试了,如:

    ​ 你好,你介绍一下你自己吧。

    多Agent(待做……)

    通过创建多个agent,可以实现多agent团队帮助我们项目的管理与开发。

    openclaw创建agent

    偶然发现,只需把任务给openclaw,事实上它可以自己创建好一个agent !!!

    参考:

    多 Agent 配置 | 指南 | OpenClaw 中文教程

    持续更新……

    赞(0)
    未经允许不得转载:171主机测评 » Docker+deepseek云模型部署openclaw
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址