在 KubeSphere 上运行 Moltbot(Clawdbot):自托管 AI 助手的云原生实践
更名说明:Clawdbot 项目已更名为 Moltbot,当前官方仓库为 https://github.com/moltbot/moltbot。 本文基于最新仓库内容和 README 编写。 Clawdbot 是一个开源的、自托管的个人 AI 助手框架。它以本地服务或守护进程的形式运行,通过接入不同的消息通道(如 Telegram、Discord、Slack 等)与用户交互,并根据配置执行自动化任务。 从官方 README 可以明确以下几点: 该项目更偏向“可编排的 AI 助手代理”,而不是传统意义上的云服务或平台组件。 虽然 Clawdbot 可以直接在本地或单台服务器上运行,但在团队或长期运行场景中,使用 Kubernetes 平台更具优势,而 KubeSphere 提供了完整的可视化运维能力。 将 Clawdbot 部署在 KubeSphere 上可以解决以下问题: 对于希望将 Bot 类服务纳入云原生运维体系的团队,这是一种更稳妥的方式。 将 Clawdbot 扩展组件推送到 KubeSphere 扩展商店,并进行安装。在安装过程中,通过扩展组件配置加载相关密钥: 您需要将相关秘钥通过扩展组件配置加载到 Clawdbot。 注意: 当前配置中禁用了控制界面中的设备识别和配对功能。 您可以通过 KubeSphere Gateway 扩展配合 cert-manager 扩展,使用 HTTPS 协议将 Clawdbot 服务以 Ingress 的方式对外暴露。 首先,在集群中创建并启用集群网关,作为统一的 Ingress 入口。随后,在该网关之上为 Clawdbot 服务创建对应的应用路由,并通过 cert-manager 自动签发和管理 TLS 证书,从而实现安全的 HTTPS 访问。 使用如下命令获取 Gateway token: 然后在浏览器中输入以下地址访问 Clawdbot 控制页面: 在生产或长期运行场景中,建议遵循以下最佳实践: 需要注意的是,Clawdbot 本身并不负责外部平台的权限管理,相关 OAuth 或 Bot Token 仍需在对应平台侧正确配置。 Clawdbot 并不是一个“即开即用”的 SaaS 产品,而是一个强调自主可控、可编排、可长期运行的 AI 助手框架。这类服务一旦进入稳定使用阶段,其运行可靠性、配置管理能力和运维成本,往往比功能本身更重要。 通过 KubeSphere,将 Clawdbot 纳入 Kubernetes 的统一管理体系,可以在不改变其原有架构和使用方式的前提下,获得标准化部署、可观测运维以及安全可控的运行环境。对于希望长期运行 Bot 服务、或在团队内复用 AI 助手能力的用户来说,这是一条非常自然、也非常稳妥的路径。 如果你正在寻找一种更工程化、更可持续的方式来运行自托管 AI 服务,不妨试试 KubeSphere ——它不仅适合管理传统应用,也同样适合承载新一代的 AI Agent 与自动化服务。 欢迎大家体验 KubeSphere,也欢迎在社区中分享你自己的 AI + 云原生实践。一、什么是 Clawdbot?

二、为什么在 KubeSphere 上运行 Clawdbot?
三、部署前准备
环境要求
四、在 KubeSphere 中部署 Clawdbot
步骤一:安装扩展组件

clawdbot:
secrets:
create: true
data:
# Set via --set or environment variables
anthropicApiKey: ""
openaiApiKey: ""
discordBotToken: ""
telegramBotToken: ""
gatewayToken: "" # Auto-generated if empty步骤二:配置 Ingress
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
步骤三:访问控制页面
kubectl get secret clawdbot -n extension-clawdbot \
-o jsonpath='{.data.gatewayToken}' | base64 --decodehttps://{ingress 暴露地址}/?token=${token}
五、运维建议
六、总结