ClawHost 深度研究:用 Kubernetes 把 OpenClaw 变成多租户 Bot 平台

> GitHub: fastclaw-ai/clawhost

> 组织: fastclaw-ai

> License: Apache 2.0

> 技术栈: Go + PostgreSQL + Kubernetes + Next.js

> 研究时间: 2026-03-24

🎯 一句话版本

一个用 Kubernetes 管理 OpenClaw 实例的平台——每个 Bot 跑在独立的 K8s Pod 里,通过 API 创建/启停/升级/删除,子域名自动路由,多租户隔离。适合想把 OpenClaw 做成 SaaS 服务的团队。

🧠 它解决什么问题?

OpenClaw 默认是"一台机器跑一个 Agent"。如果你想:

手动管理就是噩梦。ClawHost 把这个编排层标准化了。

🏗️ 架构


┌────────┐     ┌─────────────────────┐     ┌─────────────────────┐
│ Client │────▶│     ClawHost        │────▶│    K8s Cluster      │
└────────┘     │                     │     │                     │
               │  ┌──────┐ ┌──────┐ │     │  ┌───────────────┐  │
  Subdomain    │  │Bot   │ │Admin │ │     │  │ OpenClaw Pod  │  │
  Routing ────▶│  │ API  │ │ API  │ │     │  │  Gateway      │  │
               │  └──────┘ └──────┘ │     │  │  IM Channels  │  │
               │  ┌────────────────┐│     │  │  Devices      │  │
               │  │ Proxy (HTTP/WS)│├────▶│  └───────────────┘  │
               │  └────────────────┘│     │  ┌───────────────┐  │
               └─────────┬──────────┘     │  │ Shared PVC    │  │
                         │                │  └───────────────┘  │
                  ┌──────┴──────┐         └─────────────────────┘
                  │ PostgreSQL  │
                  └─────────────┘

核心设计:

📦 功能清单

Bot 生命周期


# 创建 App(每个 App 有独立 API Token)
curl -X POST /bot/api/v1/admin/apps -d '{"name": "my-app"}'

# 创建 Bot
curl -X POST /bot/api/v1/bots -d '{
  "user_id": "user-001",
  "name": "my-bot",
  "config": {"model": "claude-sonnet-4-20250514", "api_key": "sk-ant-xxx"}
}'

# 启动(创建 K8s Pod)→ 停止 → 重启 → 升级 → 删除
POST /bots/:id/start
POST /bots/:id/stop
POST /bots/:id/restart
POST /bots/:id/upgrade   # 升级 OpenClaw 版本
DELETE /bots/:id

IM 频道管理


# 给 Bot 添加 Telegram 频道
POST /bots/:id/channels -d '{"channel": "telegram", "config": {...}}'
# 列出频道 / 删除频道
GET /bots/:id/channels
DELETE /bots/:id/channels/telegram

支持:Telegram, Slack, Discord, Teams, LINE, Feishu 等。

Skills 动态管理


# 给运行中的 Bot 安装/更新 Skill
PUT /bots/:id/skills/weather
# 删除 Skill
DELETE /bots/:id/skills/weather

设备配对


# 列出待审批设备
GET /bots/:id/devices
# 审批 / 撤销
POST /bots/:id/devices/:request_id/approve
DELETE /bots/:id/devices/:device_id

Model Provider 配置


# 添加多个 AI 供应商
POST /bots/:id/config/models -d '{"provider": "anthropic", "api_key": "..."}'
POST /bots/:id/config/models -d '{"provider": "openai", "api_key": "..."}'

Admin Panel

内置 Next.js + shadcn/ui 管理面板(/admin),嵌入 Go binary:

🚀 部署方式

1. Helm Chart(推荐)


docker build -t clawhost:latest .

helm install clawhost deploy/helm/clawhost \
  -n clawhost --create-namespace \
  --set adminToken="my-admin-token" \
  --set domain.botDomain="clawhost.ai"

2. 手动 K8s Manifests


kubectl apply -f deploy/k8s/namespace.yaml
kubectl apply -f deploy/k8s/rbac.yaml
kubectl apply -f deploy/k8s/pvc.yaml
kubectl apply -f deploy/k8s/postgres.yaml
kubectl apply -f deploy/k8s/deployment.yaml

3. 本地开发


make build        # 编译 admin UI + Go binary
./clawhost server  # 连接外部 K8s cluster

资源配额

资源默认值
Bot CPU2000m (2 核)
Bot Memory4Gi
Shared Storage10Gi PVC
Bot Image`1panel/openclaw:latest`

🆚 OpenClaw 托管生态

方案类型特点适合
**ClawHost (fastclaw-ai)**K8s 平台API 驱动,多租户,Go 后端想做 SaaS 的团队
[bfzli/clawhost](https://github.com/bfzli/clawhost)一键云托管React + Hono.js + Expo mobile个人用户一键部署
[openclaw-operator](https://github.com/openclaw-rocks/k8s-operator)K8s OperatorCRD 声明式管理K8s 原生运维团队
LumaDockVPS 托管$1.99/月起最简单的托管
HostingerDocker 模板一键 VPS不想碰 K8s 的
**我们(手动 VPS)**单机直接 npm install当前方式

💡 与我们的关联

1. 我们不需要

我们当前是单用户单实例——一台 VPS 跑一个 OpenClaw。ClawHost 解决的是多租户平台问题,不是我们的痛点。

2. 但设计值得学习

3. 如果我们未来做 Agent 平台

假设要给其他人提供 OpenClaw Bot(比如做个"AI 助手即服务"),ClawHost 就是现成的底座:


用户注册 → 创建 Bot → 选 IM 频道 → 配置模型 → 一键启动

整个流程 API 已经全部实现了。

4. 与 openclaw-operator 的区别

两者互补,不冲突。

5. 短期价值

可以参考它的 Helm Chart 结构——如果未来想把我们的 VPS 迁移到 K8s,这套 chart 可以直接用。

⚠️ 注意事项

1. K8s 门槛:需要 K8s 1.28+ 集群,不适合小白

2. 资源消耗:每个 Bot 默认 2 核 + 4G 内存,10 个 Bot 就要 20 核 + 40G

3. 早期项目:commit 历史不长,社区小,生产稳定性待验证

4. Bot Image 固定:默认用 1panel/openclaw:latest,不是官方 npm 安装

5. 存储共享:所有 Bot 共享一个 10Gi PVC,大规模部署需要调整

📊 评分

维度评分(/10)
架构设计8.5 — K8s 原生 + 子域名路由 + 双向同步,设计合理
API 完整度9.0 — Bot/Skills/Channels/Devices/Models 全覆盖
工程质量7.5 — Go + Helm + Admin Panel,但项目早期
文档8.0 — README 详尽,部署步骤清晰
与我们的适配度5.0 — 多租户平台,不是我们当前需求
**综合****7.5**

🆚 与小虾 (xiaoxia.app) 的对比

ClawHost 和小虾都是"让很多人用上 AI",但解决的问题完全不同:

**ClawHost****小虾 (xiaoxia.app)**
**一句话**K8s 编排 OpenClaw 实例给用户一个能跑 AI 的容器环境
**核心问题**如何管理 100 个 OpenClaw Bot如何给 100 个用户各一个开发环境
**用户是谁**平台运营方(给别人提供 Bot 服务)终端用户(自己折腾 AI 项目)
**交付物**一个运行中的 OpenClaw Agent一个 Docker 容器(SSH/Web IDE)
**技术栈**Go + K8s + HelmGo 单体 + Docker API
**基础设施**需要 K8s 集群(K8s 1.28+)单机 Docker 就行
**门槛**低(一台 VPS 即可)
**每用户成本**2核+4G(重,~$10+/月)~$0.40/月(Hetzner ARM,轻)
**商业模式**Bot 即服务(BaaS)环境即服务(类 Replit/Gitpod)

本质区别

对小虾的启发

1. API 设计值得参考 — ClawHost 的 Bot/Skills/Channels/Models 全 RESTful API 化,如果小虾未来加 Agent 托管功能,这套 API 结构是现成参考。

2. 不需要 K8s — 小虾的 Worker Agent 架构(单机 Docker)比 K8s 轻太多,成本优势明显,适合 $5/月定价。

3. 产品层次互补 — 小虾可以是三层产品:容器层(已有)→ LLM 代理层(llmproxy + 内置工具,设计中)→ Agent 层(未来可参考 ClawHost)。

4. 子域名路由 — ClawHost 的统一 proxy 层 + 子域名自动路由设计优雅,小虾做多用户时可以借鉴。

🔬 源码级深度对比:小虾 vs ClawHost

> 基于小虾 (github.com/xiaojay/xx) 最新代码 ~3,300 行 Go 和 ClawHost 源码的逐模块对比。

代码规模

**小虾 (xx)****ClawHost**
Go 代码~3,300 行~5,000-8,000 行(估算)
包结构6 个(config/store/selector/hosting/llmproxy/cmd)更多(含 K8s client、admin UI 嵌入等)
前端Vue 3 + Vite(独立进程)Next.js + shadcn/ui(嵌入 Go binary)
测试覆盖✅ container_test, proxy_test, selector_test, config_test不详
数据库SQLite / MySQLPostgreSQL

架构核心差异

维度**小虾****ClawHost**
**容器编排**直接调 Docker API(`docker/docker/client`)K8s API(Deployment + Service + PVC)
**服务拆分**两个独立进程:`hosting`(:8080) + `llmproxy`(:8402)单体 API server
**LLM 代理**✅ **核心差异化**:自建智能路由代理❌ 没有,用户自己配 API key
**模型选择**规则评分分类器(4 tier + capability 过滤 + fallback 链)
**用量追踪**每请求明细(usage_events)+ 每日聚合(usage_dailies)无(依赖 K8s 资源监控)
**路由**单机 Docker,无子域名K8s Ingress + 子域名自动路由
**多租户**一用户一容器一实例一用户一 K8s Pod
**每用户资源**512MB RAM + 1 CPU(轻量)4GB RAM + 2 CPU(重量)

小虾独有优势(ClawHost 没有的)

1. LLM Proxy — 最大差异化

小虾的 llmproxy 是整个产品的核心竞争力:


用户容器 → llmproxy(智能路由 + fallback + usage 统计)→ 上游 Provider

ClawHost 完全没有这层——用户必须自己搞 API key 和模型配置,成本不可控。

2. 容器安全加固

小虾的 hostConfig 在 Docker 层做了完整的安全措施:

ClawHost 将这些交给 K8s Pod Security Standards 处理,但小虾在应用层就做好了防护。

3. 从架构层控制成本

ClawHost 有但小虾缺的

功能小虾现状优先级
Skills 动态安装/删除 API低(后期加)
多 IM 频道管理(TG/Slack/Discord/飞书)仅 QQ中(微信是下一个)
设备配对管理
子域名自动路由无(单机不需要)等多机时再加
Admin 管理面板(嵌入式)独立 Vue UI已有,形式不同
Bot 升级(版本热更新)重建容器低(重建够用)
Model Provider 多供应商 UI 配置llmproxy 层统一处理已解决,方式不同

结论

定位差异:ClawHost 是"Bot 编排平台"(管生命周期),小虾是"带智能 LLM 路由的容器托管"(管使用成本)。

小虾的护城河llmproxy + selector——用户不需要懂模型选择、不需要管 API key、不需要配 fallback,交 $5/月就有智能路由的 AI 能力。ClawHost 给你一个 Bot,但模型成本你自己扛。

下一步建议

1. IM 频道扩展:QQ 之外加微信/TG(参考 ClawHost 的 channel API 设计)

2. Tool-Augmented 层:proxy 拦截 tool_call 并执行,差异化更大

3. 子域名路由:等多机 Worker Agent 架构时再加

4. ClawHost 的 API 设计(Skills/Channels/Devices RESTful 化)可做远期参考

报告由深度研究助手自动生成 | 2026-03-24

来源: GitHub