在 KubeSphere 上运行 Moltbot(Clawdbot):自托管 AI 助手的云原生实践

更名说明:Clawdbot 项目已更名为 Moltbot ,当前官方仓库为 https://github.com/moltbot/moltbot。 本文基于最新仓库内容和 README 编写。

一、什么是 Clawdbot?

Clawdbot 是一个开源的、自托管的个人 AI 助手框架。它以本地服务或守护进程的形式运行,通过接入不同的消息通道(如 Telegram、Discord、Slack 等)与用户交互,并根据配置执行自动化任务。

从官方 README 可以明确以下几点:

  • 完全自托管:非 SaaS,数据和运行完全由用户控制
  • CLI + Gateway 服务:核心运行方式,支持多种部署模式
  • 配置驱动:通过配置文件定义 Bot 的行为和接入通道
  • 长期运行:适合作为后台服务持续运行

该项目更偏向"可编排的 AI 助手代理",而不是传统意义上的云服务或平台组件。

二、为什么在 KubeSphere 上运行 Clawdbot?

虽然 Clawdbot 可以直接在本地或单台服务器上运行,但在团队或长期运行场景中,使用 Kubernetes 平台更具优势,而 KubeSphere 提供了完整的可视化运维能力。

将 Clawdbot 部署在 KubeSphere 上可以解决以下问题:

  • 部署标准化:避免手动维护本地守护进程
  • 配置集中管理:通过 ConfigMap / Secret 管理 Bot 配置和密钥
  • 运行状态可观测:统一查看日志和 Pod 状态
  • 可重复部署:同一套定义可在不同环境复用

对于希望将 Bot 类服务纳入云原生运维体系的团队,这是一种更稳妥的方式。

三、部署前准备

环境要求

  • KubeSphere 集群:已部署完成,版本要求 v4.x 及以上
  • 已安装扩展:KubeSphere Gateway 及 cert-manager 扩展
  • 镜像仓库:可访问公有或私有镜像仓库

四、在 KubeSphere 中部署 Clawdbot

步骤一:安装扩展组件

将 Clawdbot 扩展组件推送到 KubeSphere 扩展商店,并进行安装。在安装过程中,通过扩展组件配置加载相关密钥:

您需要将相关秘钥通过扩展组件配置加载到 Clawdbot。

yaml 复制代码
clawdbot:
  secrets:
    create: true
    data:
      # Set via --set or environment variables
      anthropicApiKey: ""
      openaiApiKey: ""
      discordBotToken: ""
      telegramBotToken: ""
      gatewayToken: ""  # Auto-generated if empty

注意: 当前配置中禁用了控制界面中的设备识别和配对功能。

步骤二:配置 Ingress

您可以通过 KubeSphere Gateway 扩展配合 cert-manager 扩展,使用 HTTPS 协议将 Clawdbot 服务以 Ingress 的方式对外暴露。

首先,在集群中创建并启用集群网关,作为统一的 Ingress 入口。随后,在该网关之上为 Clawdbot 服务创建对应的应用路由,并通过 cert-manager 自动签发和管理 TLS 证书,从而实现安全的 HTTPS 访问。

yaml 复制代码
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: clawdbot
  namespace: extension-clawdbot
  annotations:
    cert-manager.io/cluster-issuer: default-issuer       # 借助 cert-manager, 为 ingress 自动生成和创建证书
    kubesphere.io/creator: admin
spec:
  ingressClassName: kubesphere-router-cluster
  tls:
    - hosts:
        - 172.31.19.4.nip.io
      secretName: clawdbot-cert
  rules:
    - host: 172.31.19.4.nip.io
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: clawdbot
                port:
                  number: 18789

步骤三:访问控制页面

使用如下命令获取 Gateway token:

复制代码
kubectl get secret clawdbot -n extension-clawdbot \
  -o jsonpath='{.data.gatewayToken}' | base64 --decode

然后在浏览器中输入以下地址访问 Clawdbot 控制页面:

复制代码
https://{ingress 暴露地址}/?token=${token}

五、运维建议

在生产或长期运行场景中,建议遵循以下最佳实践:

  • 资源限制:为 Clawdbot 设置合理的 CPU / 内存限制,避免资源争用。
  • 配置管理:通过修改 ConfigMap 调整 Bot 行为,而非重新构建镜像。
  • 版本更新:定期更新镜像,跟进上游版本变更,获取新功能和修复。
  • 密钥轮换:对 Secret 中的 Token 进行定期轮换,增强安全性。

需要注意的是,Clawdbot 本身并不负责外部平台的权限管理,相关 OAuth 或 Bot Token 仍需在对应平台侧正确配置。

六、总结

Clawdbot 并不是一个"即开即用"的 SaaS 产品,而是一个强调自主可控、可编排、可长期运行的 AI 助手框架。这类服务一旦进入稳定使用阶段,其运行可靠性、配置管理能力和运维成本,往往比功能本身更重要。

通过 KubeSphere,将 Clawdbot 纳入 Kubernetes 的统一管理体系,可以在不改变其原有架构和使用方式的前提下,获得标准化部署、可观测运维以及安全可控的运行环境。对于希望长期运行 Bot 服务、或在团队内复用 AI 助手能力的用户来说,这是一条非常自然、也非常稳妥的路径。

如果你正在寻找一种更工程化、更可持续的方式来运行自托管 AI 服务,不妨试试 KubeSphere ------它不仅适合管理传统应用,也同样适合承载新一代的 AI Agent 与自动化服务。

欢迎大家体验 KubeSphere,也欢迎在社区中分享你自己的 AI + 云原生实践。

相关推荐
我不会起名字3225 小时前
Redis 从 0 到 1(九):主库宕机 30 秒自动切主——1 主 2 从 3 哨兵 + Go 客户端
redis·docker·sentinel·高可用·哨兵
姜鱼问生7 小时前
每次开机手动检查 6 样东西?我写了个 2 秒自检脚本
运维·网络·nginx·docker·容器
wangqiaowq7 小时前
PostgresSQL server Docker 安装部署
运维·docker·容器
程序员阿明7 小时前
docker搭建视频流服务go2rtc,webRTC
docker·容器·webrtc
TTATTC8 小时前
让 16 个 AI 员工在飞书群自我协同:基于 OpenClaw 的多 Agent 敏捷 Squad 拓扑与一人公司实操
docker·开源
TTATTC8 小时前
从分片续传到 SPI 插件化扩展:Free-FS 企业级文件系统核心架构与万能预览技术拆解
docker·开源
JavaPub-rodert9 小时前
Docker 容器为什么 stop 半天停不下来?讲透 PID 1、SIGTERM、SIGKILL、僵尸进程与 tini
运维·docker·容器
我不会起名字3229 小时前
Pod 一直 Pending:调度器 5 类失败原因与 kubectl describe 的正确读法
云原生·kubernetes·调度·排查
risc12345612 小时前
万变不离其宗
人工智能·低代码·云原生
EterNity_TiMe_13 小时前
Docker服务越装越多记不住端口?我用Fenrus把NAS里的常用入口整理成一个导航页
运维·人工智能·docker·ai·容器·cpolar