# clawbot-hub **Repository Path**: dhb52/clawbot-hub ## Basic Information - **Project Name**: clawbot-hub - **Description**: Clawbot-Hub - 多租户Openclaw/Hermes管理平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-07-13 - **Last Updated**: 2026-07-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Clawbot-Hub - 多租户Openclaw/Hermes管理平台 ![](images/clawbothub_logo.png) - [英文文档](README.md) - [中文文档](README-zh.md) - 项目地址: - [github.com/cookeem/clawbot-hub](https://github.com/cookeem/clawbot-hub) - [gitee.com/cookeem/clawbot-hub](https://gitee.com/cookeem/clawbot-hub) ## 目录 - [Clawbot-Hub - 多租户Openclaw/Hermes管理平台](#clawbot-hub---多租户openclawhermes管理平台) - [目录](#目录) - [1. Clawbot-Hub是什么?](#1-clawbot-hub是什么) - [2. Clawbot-Hub相关组件](#2-clawbot-hub相关组件) - [3. 快速安装(Docker)](#3-快速安装docker) - [4. 本地安装(开发调试)](#4-本地安装开发调试) - [5. 构建docker镜像](#5-构建docker镜像) - [6. 本地Openclaw如何连接Clawbot-hub](#6-本地openclaw如何连接clawbot-hub) - [7. 本地Hermes如何连接Clawbot-hub](#7-本地hermes如何连接clawbot-hub) ## 1. Clawbot-Hub是什么? - Clawbot-Hub —— 是一个多租户智能Agent管理平台 1. Clawbot-Hub可以帮用户在容器中创建和管理Openclaw/Hermes实例(创建/删除/重启/重建/查看日志/查看资源消耗)。 2. 用户可以通过Clawbot-Hub的聊天界面与Openclaw/Hermes进行对话和安排任务。 3. Clawbot-Hub也可以通过Channel的形式与你自己创建的Openclaw/Hermes进行对话聊天和安排任务。 4. Clawbot-Hub可以管理Openclaw/Hermes中的文件和计划任务。 ![](images/screenshot1.png) - 在容器中创建和管理Openclaw/Hermes实例 ![](images/screenshot2.png) - 跟你的Openclaw/Hermes实例对话聊天和安排任务 - Clawbot-Hub的使用方法(创建Openclaw/Hermes实例): 1. 在“Agent管理”中创建Openclaw/Hermes的Agent实例。 2. 在“机器人管理”中创建机器人,然后在操作菜单选择“绑定Agent”,绑定刚才创建的Agent的实例。 3. 在“机器人管理”中的操作菜单选择“聊天”,输入聊天的名字,点击“创建聊天”,创建聊天后就可以跟Agent实例进行对话聊天和安排任务。 - Clawbot-Hub的使用方法(已有Openclaw/Hermes实例): 1. 在“机器人管理”中创建机器人 2. 如果使用Openclaw,参见如下配置说明: [6. 本地Openclaw如何连接Clawbot-hub](#6-本地openclaw如何连接clawbot-hub) 3. 如果使用Hermes,参见如下配置说明: [7. 本地Hermes如何连接Clawbot-hub](#7-本地hermes如何连接clawbot-hub) 4. 完成Openclaw/Hermes的配置后,“机器人管理”中连接状态会变成“已连接” 5. 在“机器人管理”中的操作菜单选择“聊天”,输入聊天的名字,点击“创建聊天”,创建聊天后就可以跟Agent实例进行对话聊天和安排任务。 ## 2. Clawbot-Hub相关组件 - postgres: Clawbot-Hub数据库,用于存放用户/Agent实例/对话/计划任务等数据 - docker in docker(dind): Clawbot-Hub创建的Agent实例运行在dind中 ## 3. 快速安装(Docker) Docker 安装适合部署到服务器或本机长期运行。该方式会启动: - `clawbot-hub`:前端静态服务(5173)+ 后端 API(8787) - `postgres`:Hub 数据库 - `docker-0.docker`:Docker in Docker,用于运行 Hub 创建的 OpenClaw/Hermes Agent 容器 1. 拉取源代码 ```bash git clone https://github.com/cookeem/clawbot-hub.git cd clawbot-hub ``` 2. 构建OpenClaw 插件 ```bash npm --prefix plugin/openclaw install npm --prefix plugin/openclaw run build ``` 3. 准备 Docker 部署目录 ```bash mkdir -p data/sandbox mkdir -p data/clawbot-hub/uploads mkdir -p data/clawbot-hub/workspaces mkdir -p data/clawbot-hub/logs cp -rp backend/config.docker.yaml data/clawbot-hub/ cp -rp plugin data/clawbot-hub/ # 生成 DinD Docker daemon TLS 证书,证书会写入 ./certs sh docker_certs.sh ``` 4. 修改配置 编辑 `data/clawbot-hub/config.docker.yaml`: - `server.corsOrigin`:前端访问地址,例如 `http://服务器IP:5173` - `server.auth.tokenSecret`:生产环境请改成强随机字符串 - `docker.openclaw.channelBaseUrl`:OpenClaw Agent 访问 Hub 的地址,例如 `http://服务器IP:8787` - `docker.hermes.channelBaseUrl`:Hermes Agent 访问 Hub 的地址,例如 `http://服务器IP:8787` - `database.password`:需要和 `docker-compose-clawbothub.yaml` 中的 `POSTGRES_PASSWORD` 一致 - `models.providers`:模型服务地址、API Key、模型列表和参数 - `smtp`:密码重置邮件配置,未启用邮件时可保持 `enabled: false` 如果前端不是通过 `localhost` 访问后端,还需要在启动前设置: ```bash export FRONTEND_API_BASE_URL=http://服务器IP:8787 ``` 5. 启动服务 ```bash docker compose -f docker-compose-clawbothub.yaml up -d docker compose -f docker-compose-clawbothub.yaml ps ``` 6. 在 DinD 中加载 Agent 镜像 如果服务器无法直接拉取 OpenClaw/Hermes 镜像,可以先把镜像包放到 `data/sandbox/`,再进入 DinD 容器加载: ```bash docker exec -ti clawbot-hub-docker-0 ash docker pull ghcr.io/openclaw/openclaw:2026.6.5-slim docker pull nousresearch/hermes-agent:v2026.6.5 docker images exit ``` 7. 访问服务 - Web 应用:http://localhost:5173 - 后端 API:http://localhost:8787 - Swagger API 文档:http://localhost:8787/docs ## 4. 本地安装(开发调试) 1. 拉取源代码 ```bash git clone https://github.com/cookeem/clawbot-hub.git cd clawbot-hub ``` 2. 安装依赖 ```bash npm --prefix backend install npm --prefix frontend install npm --prefix plugin/openclaw install ``` 3. 启动 PostgreSQL 和 DinD ```bash sh docker_certs.sh docker compose up -d ``` 默认端口: - PostgreSQL:`127.0.0.1:15432` - Docker daemon:`127.0.0.1:22376` 4. 修改本地配置 编辑 `backend/config.yaml`: - `database`:默认连接本地 compose 启动的 PostgreSQL - `docker.daemonHosts` / `docker.daemonTls`:默认连接本地 compose 启动的 DinD - `docker.openclaw.channelBaseUrl` / `docker.hermes.channelBaseUrl`:改成 Agent 容器能访问到的 Hub 后端地址 - `models.providers`:配置模型服务 - `smtp`:配置密码重置邮件 5. 启动后端 ```bash npm run backend:dev ``` 后端默认地址: - API:http://localhost:8787 - Swagger:http://localhost:8787/docs 6. 启动前端 ```bash npm run frontend:dev ``` 前端默认地址: - Web 应用:http://localhost:5173 如需覆盖前端访问后端的地址: ```bash VITE_API_BASE_URL=http://localhost:8787 npm run frontend:dev ``` 7. 数据库迁移 默认 `backend/config.yaml` 中 `database.autoMigrateOnStart: true`,后端启动时会自动执行数据库迁移。也可以手动执行: ```bash npm run db:migrate ``` ## 5. 构建docker镜像 ```bash # 拉取代码 git clone https://github.com/cookeem/clawbot-hub.git cd clawbot-hub # 安装依赖 npm --prefix backend install npm --prefix frontend install npm --prefix plugin/openclaw install # 构建产物。Dockerfile 会直接复制这些产物,不会在镜像内执行 npm run build。 npm --prefix backend run build npm --prefix frontend run build npm --prefix plugin/openclaw run build # 构建单架构镜像 docker build --platform=linux/amd64 -t cookeem/clawbot-hub:v0.6.1 . # 可选:保存镜像包 docker save -o clawbot-hub__v0.6.1 cookeem/clawbot-hub:v0.6.1 ``` 多架构构建并推送: ```bash docker buildx create --name clawbot-multi --use docker buildx inspect --bootstrap docker buildx build \ --platform linux/amd64,linux/arm64/v8 \ -t cookeem/clawbot-hub:v0.6.1 \ -t cookeem/clawbot-hub:latest \ --push . ``` ## 6. 本地Openclaw如何连接Clawbot-hub Clawbot-Hub 通过 OpenClaw 原生 Channel 扩展连接本地 OpenClaw。完整说明见: - `plugin/openclaw/README.md` 1. 在 Hub 中创建机器人 在 Clawbot-Hub 前端创建机器人,类型选择 `openclaw`,记录机器人详情中的: - `appId` - `appSecret` 2. 安装 OpenClaw 插件 ```bash mkdir -p ~/.openclaw/extensions/clawbot-hub rsync -a plugin/openclaw/ ~/.openclaw/extensions/clawbot-hub/ ``` 如果本地插件没有构建过,先执行: ```bash npm --prefix plugin/openclaw install npm --prefix plugin/openclaw run build ``` 3. 配置 OpenClaw 在 OpenClaw 生效的 `openclaw.json` 中加入: ```json { "plugins": { "entries": { "clawbot-hub": { "enabled": true } } }, "channels": { "clawbot-hub": { "enabled": true, "baseUrl": "http://127.0.0.1:8787", "appId": "cb_app_xxx", "appSecret": "cb_sec_xxx", "openclawInstanceId": "openclaw-local-1", "pollTimeoutMs": 1000, "heartbeatIntervalMs": 15000 } } } ``` 如果 OpenClaw 运行在 Docker 容器中,而 Hub 在宿主机,`baseUrl` 通常应使用: ```text http://host.docker.internal:8787 ``` 4. 重启 OpenClaw Gateway 并验证 ```bash openclaw plugins list --enabled | grep -i clawbot-hub openclaw channels list | grep -i "ClawBot Hub" openclaw channels status | grep -i "ClawBot Hub" ``` 连接成功后,可以在 Hub 的机器人管理中看到 Agent 连接状态,并创建聊天对话。 ## 7. 本地Hermes如何连接Clawbot-hub Hermes 当前使用 bridge 方式接入 Hub:Hermes 自身启动 `api_server`,`plugin/hermes/bridge.py` 负责轮询 Hub、调用 Hermes API Server、再把结果推回 Hub。 完整说明见: - `plugin/hermes/README.md` 1. 在 Hub 中创建机器人 在 Clawbot-Hub 前端创建机器人,类型选择 `hermes`,记录: - `appId` - `appSecret` - `agentInstanceId`(可自定义,例如 `hermes-local-1`) 2. 安装 Hermes bridge ```bash mkdir -p ~/.hermes/extensions/clawbot-hub rsync -a plugin/hermes/bridge.py ~/.hermes/extensions/clawbot-hub/ chmod +x ~/.hermes/extensions/clawbot-hub/bridge.py ``` 3. 配置 Hermes 自身 `~/.hermes/config.yaml` 最小示例: ```yaml model: provider: openai model: MiniMax-M2_5 default: MiniMax-M2_5 base_url: "https://your-openai-compatible-endpoint/v1" api_key: "YOUR_API_KEY" api_mode: openai-completions platforms: api_server: enabled: true extra: host: 127.0.0.1 port: 8642 ``` 4. 配置 bridge `~/.hermes/clawbot-hub.json` ```json { "enabled": true, "hub": { "baseUrl": "http://127.0.0.1:8787", "appId": "cb_app_xxx", "appSecret": "cb_sec_xxx", "accountId": "clawbot-hub-cb_app_xxx", "agentInstanceId": "hermes-local-1", "pollTimeoutMs": 1000, "heartbeatIntervalMs": 15000 }, "apiServer": { "baseUrl": "http://127.0.0.1:8642", "keyFromEnv": "API_SERVER_KEY", "requestTimeoutMs": 180000 } } ``` 如果 Hermes 运行在 Docker 容器中,而 Hub 在宿主机,`hub.baseUrl` 通常应使用: ```text http://host.docker.internal:8787 ``` 5. 启动 Hermes 和 bridge 本机运行示例: ```bash export HERMES_HOME=~/.hermes export API_SERVER_ENABLED=true export API_SERVER_HOST=127.0.0.1 export API_SERVER_PORT=8642 export API_SERVER_KEY=Hello@123 export CLAWBOT_HUB_BRIDGE_CONFIG=$HERMES_HOME/clawbot-hub.json python $HERMES_HOME/extensions/clawbot-hub/bridge.py & gateway run ``` 6. 验证连接 ```bash curl -s http://127.0.0.1:8642/health ``` 查看 bridge 日志,期望看到: - `[clawbot-hub/hermes] config path: ...` - `[clawbot-hub/hermes] login success` 连接成功后,可以在 Hub 的机器人管理中看到 Hermes Agent 连接状态,并创建聊天对话。