# ClawManager
一个面向团队和集群规模场景的 Kubernetes-first 控制平面,用于统一管理 OpenClaw 与 Linux 桌面运行时。
语言:
English |
中文 |
日本語 |
한국어 |
Deutsch
## 它是什么
ClawManager 帮助团队在 Kubernetes 上统一部署、运维和访问桌面运行时。
它适合这些场景:
- 需要为多个用户创建桌面实例
- 需要集中管理配额、镜像和生命周期
- 希望桌面服务保持在集群内部
- 希望通过安全的浏览器访问方式,而不是直接暴露 Pod
## 为什么用户会选择它
- 一个后台统一管理用户、配额、实例和运行时镜像
- 支持 OpenClaw,并提供记忆与偏好设置的导入导出
- 通过平台提供安全桌面访问,而不是直接暴露服务
- 天然适配 Kubernetes 的部署和运维方式
- 同时支持管理员统一发放和用户自助创建实例
## 快速开始
### 前置条件
- 有一个可用的 Kubernetes 集群
- `kubectl get nodes` 可以正常执行
### 部署
直接应用仓库自带的清单:
```bash
kubectl apply -f deployments/k8s/clawmanager.yaml
kubectl get pods -A
kubectl get svc -A
```
## 从源码构建
如果你想从源码运行或打包 ClawManager,而不是直接使用仓库自带的 Kubernetes 清单:
### 前端
```bash
cd frontend
npm install
npm run build
```
### 后端
```bash
cd backend
go mod tidy
go build -o bin/clawreef cmd/server/main.go
```
### Docker 镜像
在仓库根目录构建完整应用镜像:
```bash
docker build -t clawmanager:latest .
```
### 默认账号
- 默认管理员账号:`admin / admin123`
- 导入管理员用户时的默认密码:`admin123`
- 导入普通用户时的默认密码:`user123`
### 首次使用
1. 先使用管理员账号登录。
2. 创建或导入用户,并分配配额。
3. 在系统设置中查看或更新运行时镜像卡片。
4. 使用普通用户登录并创建实例。
5. 通过 Portal View 或 Desktop Access 访问桌面。
## 核心能力
- 实例生命周期管理:创建、启动、停止、重启、删除、查看和同步
- 支持的运行时类型:`openclaw`、`webtop`、`ubuntu`、`debian`、`centos`、`custom`
- 后台运行时镜像卡片管理
- 用户级 CPU、内存、存储、GPU 和实例数量配额控制
- 节点、CPU、内存和存储的集群资源总览
- 基于令牌的桌面访问与 WebSocket 转发
- 基于 CSV 的批量用户导入
- 多语言界面
## 产品使用流程
1. 管理员配置用户、配额和运行时镜像策略。
2. 用户创建 OpenClaw 或 Linux 桌面实例。
3. ClawManager 创建并跟踪对应的 Kubernetes 资源。
4. 用户通过平台访问桌面。
5. 管理员通过仪表盘查看健康状态和容量。
## 架构
```text
Browser
-> ClawManager Frontend
-> ClawManager Backend
-> MySQL
-> Kubernetes API
-> Pod / PVC / Service
-> OpenClaw / Webtop / Linux Desktop Runtime
```
## 配置说明
- 实例服务运行在 Kubernetes 内部网络中
- 桌面访问通过已认证的后端代理转发
- 运行时镜像可在系统设置中覆盖
- 后端最佳部署位置是集群内部
常用后端环境变量:
- `SERVER_ADDRESS`
- `SERVER_MODE`
- `DB_HOST`
- `DB_PORT`
- `DB_USER`
- `DB_PASSWORD`
- `DB_NAME`
- `JWT_SECRET`
### CSV 导入模板
```csv
Username,Email,Role,Max Instances,Max CPU Cores,Max Memory (GB),Max Storage (GB),Max GPU Count (optional)
```
说明:
- `Email` 为可选项
- `Max GPU Count (optional)` 为可选项
- 其他列均为必填项
## 许可证
本项目基于 MIT License 发布。
## 开源
欢迎提交 issue 和 pull request。