一、配置openclaw+QQBot

docker

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

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

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

# 检查 Docker 版本
docker --version

# 检查 Docker Compose 版本
docker compose version

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

部署Docker

  1. 创建一个工作目录,命名为openclaw即可,

在该目录下创建文件 .env ,进去后写下以下内容:

VOLC_API_KEY=xxxxxxxx
LARK_APP_ID=xxxxxxx
LARK_APP_SECRET=xxxxxx

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

  1. 创建文件 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元就够了。

启动与运行

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

#关闭
docker compose down

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

# 交互式设置向导
openclaw configure

  1. 检查日志:
docker logs -f openclaw-main

  1. 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 中文教程

持续更新……

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐