# openclaw-sping ai Alibaba
**Repository Path**: jared_hxyerui/openclaw-spring
## Basic Information
- **Project Name**: openclaw-sping ai Alibaba
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-18
- **Last Updated**: 2026-03-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OpenClaw Spring AI Alibaba
🦞 **OpenClaw AI Agent Gateway - Spring Boot 版本**
基于 Spring AI Alibaba 框架的企业级 AI Agent 网关系统
[](https://gitee.com/jared_hxyerui/openclaw-spring)
[](https://adoptium.net/)
[](https://spring.io/)
[](LICENSE)
[特性](#特性) • [快速开始](#快速开始) • [文档](#文档) • [API](#api-文档) • [部署](#部署)
---
## 📖 项目简介
OpenClaw Spring AI Alibaba 是一个功能完整的 AI Agent 网关系统,基于 Spring AI Alibaba 框架开发,提供多消息渠道集成、技能系统、工具调用、Web UI 等丰富功能。
### 核心特性
- 🤖 **AI Agent 核心** - Spring AI Alibaba 集成,支持多种 AI 模型
- 💬 **多消息渠道** - Telegram/Discord/OpenIM 集成
- 🛠️ **工具系统** - 文件/Web/浏览器/JSON 工具
- 🎨 **Web UI** - 控制面板 + WebChat + 实时监控
- 💾 **数据库** - MySQL + JPA 持久化
- 🚀 **缓存** - Caffeine 本地缓存
- 📊 **监控** - Prometheus + Grafana
- 🔐 **安全** - JWT + BCrypt 认证
- ⚡ **WebSocket** - 实时消息推送
- 📱 **移动端** - 响应式布局
---
## 🎯 功能清单
### AI Agent ✅
- [x] AI 对话 (通义千问/GPT)
- [x] 会话管理
- [x] 上下文压缩
- [x] 技能注册
- [x] MCP 客户端
### 消息渠道 ✅
- [x] Telegram
- [x] Discord
- [x] OpenIM
- [ ] WhatsApp (计划中)
- [ ] Slack (计划中)
### Web UI ✅
- [x] 仪表盘 (Chart.js)
- [x] WebChat
- [x] 会话管理
- [x] 技能中心
- [x] 日志查看
- [x] 配置管理
- [x] 健康检查
- [x] 用户登录
### 数据库 ✅
- [x] MySQL
- [x] JPA/Hibernate
- [x] 会话存储
- [x] 消息存储
### 监控 ✅
- [x] Prometheus
- [x] Grafana
- [x] 健康检查
- [x] 性能监控
### 安全 ✅
- [x] JWT 认证
- [x] BCrypt 密码
- [x] WebSocket 认证
- [x] 用户管理
---
## 🚀 快速开始
### 环境要求
| 组件 | 版本 | 必需 |
|------|------|------|
| **JDK** | 17+ | ✅ |
| **MySQL** | 8.0+ | ✅ |
| **Maven** | 3.6+ | ✅ |
| **Docker** | 20.10+ | ⚪ (可选) |
| **Redis** | 7+ | ⚪ (可选) |
---
## 📦 部署方式
### 方式一:Docker 部署 ⭐ 推荐
**适合**: 快速体验、生产环境
#### 1. 克隆项目
```bash
git clone https://gitee.com/jared_hxyerui/openclaw-spring.git
cd openclaw-spring
```
#### 2. 配置环境变量
```bash
# 复制环境变量模板
cp .env.example .env
# 编辑配置 (必须修改 API 密钥)
vim .env
```
**.env 文件内容**:
```bash
# 数据库配置
DB_USERNAME=openclaw
DB_PASSWORD=openclaw123
# AI API 密钥 (必须修改)
AI_DASHSCOPE_API_KEY=your-dashscope-api-key
OPENAI_API_KEY=your-openai-api-key
# JWT 配置 (建议修改)
JWT_SECRET=OpenClawSecretKey2026VeryLongSecretKeyForHS256
# Grafana 配置
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=admin123
```
#### 3. 一键部署
```bash
# 赋予执行权限
chmod +x docker/deploy.sh
# 运行部署脚本
./docker/deploy.sh deploy
```
#### 4. 验证部署
```bash
# 查看服务状态
./docker/deploy.sh status
# 或手动查看
docker-compose ps
```
**预期输出**:
```
NAME STATUS PORTS
openclaw-app Up (healthy) 0.0.0.0:8080->8080/tcp
openclaw-mysql Up (healthy) 0.0.0.0:3306->3306/tcp
openclaw-redis Up (healthy) 0.0.0.0:6379->6379/tcp
openclaw-prometheus Up 0.0.0.0:9090->9090/tcp
openclaw-grafana Up 0.0.0.0:3000->3000/tcp
```
#### 5. 访问服务
| 服务 | 地址 | 账号 |
|------|------|------|
| **OpenClaw** | http://localhost:8080 | admin / admin123 |
| **Grafana** | http://localhost:3000 | admin / admin123 |
| **Prometheus** | http://localhost:9090 | - |
#### 6. 服务管理
```bash
# 停止服务
./docker/deploy.sh stop
# 重启服务
./docker/deploy.sh restart
# 查看日志
./docker/deploy.sh logs app
# 清理数据 (慎用)
./docker/deploy.sh clean
```
**详细文档**: [Docker 部署指南](docs/DOCKER_DEPLOYMENT.md)
---
### 方式二:源码部署
**适合**: 开发环境、自定义修改
#### 前置要求
- JDK 17+
- Maven 3.6+
- MySQL 8.0+
- Git
#### 1. 克隆项目
```bash
git clone https://gitee.com/jared_hxyerui/openclaw-spring.git
cd openclaw-spring
```
#### 2. 创建数据库
```bash
# 登录 MySQL
mysql -u root -p
# 创建数据库
CREATE DATABASE openclaw DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 创建用户 (可选,生产环境推荐)
CREATE USER 'openclaw'@'localhost' IDENTIFIED BY 'openclaw123';
GRANT ALL PRIVILEGES ON openclaw.* TO 'openclaw'@'localhost';
FLUSH PRIVILEGES;
# 退出
exit;
```
#### 3. 初始化数据表
```bash
# 导入用户表
mysql -u root -p openclaw < src/main/resources/db/users.sql
# 验证导入
mysql -u root -p openclaw -e "SELECT * FROM users;"
```
**预期输出**:
```
id username email role enabled
admin-001 admin admin@openclaw.ai ADMIN 1
user-001 user user@openclaw.ai USER 1
```
#### 4. 配置应用
**编辑配置文件**:
```bash
vim src/main/resources/application.yml
```
**最小配置**:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/openclaw?useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: your_mysql_password # 修改为你的 MySQL 密码
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: false
ai:
dashscope:
api-key: your-dashscope-api-key # 必须修改
openclaw:
security:
jwt:
secret: OpenClawSecretKey2026VeryLongSecretKeyForHS256 # 建议修改
```
**完整配置参考**: `application.yml.example` (如有)
#### 5. 构建项目
```bash
# 清理并编译
mvn clean package -DskipTests
# 或跳过测试快速构建
mvn clean install -DskipTests
# 构建时间:约 2-5 分钟 (首次构建需下载依赖)
```
**预期输出**:
```
[INFO] BUILD SUCCESS
[INFO] Total time: 2.5 mins
[INFO] Finished at: 2026-03-18T17:00:00+08:00
```
#### 6. 运行应用
```bash
# 方式 1: Maven 运行 (开发环境)
mvn spring-boot:run
# 方式 2: JAR 运行 (生产环境)
java -jar target/openclaw-spring-1.6.0-SNAPSHOT.jar
# 方式 3: 后台运行
nohup java -jar target/openclaw-spring-*.jar > app.log 2>&1 &
```
**启动日志**:
```
____ _ __ __
/ __ \____ ___ ____ (_) /_____ / /_
/ /_/ / __ \/ _ \/ __ \/ / __/ __ \/ __/
/ ____/ /_/ / __/ / / / / /_/ /_/ / /_
/_/ \____/\___/_/ /_/_/\__/\____/\__/
OpenClaw Spring AI Alibaba v1.6.0
Spring Boot v3.2.4
Java v17.0.1
Started OpenClawSpringApplication in 15.234 seconds
```
#### 7. 验证运行
```bash
# 检查进程
ps aux | grep openclaw
# 检查端口
netstat -tlnp | grep 8080
# 健康检查
curl http://localhost:8080/actuator/health
```
**预期响应**:
```json
{"status":"UP"}
```
#### 8. 访问应用
打开浏览器访问:http://localhost:8080
**默认账号**:
- 用户名:`admin`
- 密码:`admin123`
**首次登录建议**:
1. 修改默认密码
2. 配置 AI API 密钥
3. 检查系统设置
---
### 方式三:IDE 运行
**适合**: 开发调试
#### IntelliJ IDEA
1. **导入项目**: File → Open → 选择项目目录
2. **配置 JDK**: File → Project Structure → SDKs → 添加 JDK 17
3. **配置运行**: Run → Edit Configurations
- Main class: `com.openclaw.OpenClawSpringApplication`
- VM options: `-Dspring.profiles.active=dev`
4. **运行**: 点击 Run 按钮
#### Eclipse
1. **导入项目**: File → Import → Maven → Existing Maven Projects
2. **配置 Build Path**: 右键项目 → Build Path → Configure Build Path
3. **运行**: Run → Run As → Java Application
---
## 🔧 配置说明
### 必需配置
| 配置项 | 说明 | 默认值 | 是否修改 |
|--------|------|--------|----------|
| `spring.datasource.password` | MySQL 密码 | - | ✅ 必须 |
| `spring.ai.dashscope.api-key` | 通义千问 API 密钥 | - | ✅ 必须 |
| `openclaw.security.jwt.secret` | JWT 签名密钥 | OpenClawSecretKey2026... | ⚠️ 建议 |
### 可选配置
| 配置项 | 说明 | 默认值 |
|--------|------|--------|
| `spring.datasource.url` | 数据库连接 URL | jdbc:mysql://localhost:3306/openclaw |
| `spring.datasource.username` | 数据库用户名 | root |
| `openclaw.workspace` | 工作区路径 | /home/admin/openclaw/workspace |
| `server.port` | 服务端口 | 8080 |
### 环境变量
也可以通过环境变量配置:
```bash
export DB_PASSWORD=your_password
export AI_DASHSCOPE_API_KEY=your_api_key
export JWT_SECRET=your_secret
mvn spring-boot:run
```
---
## 📊 系统截图
### 仪表盘

*系统概览和实时监控数据*
### WebChat

*AI 对话聊天界面*
### 会话管理

*查看和管理所有会话*
### 日志查看

*实时日志查看和搜索*
### 配置管理

*可视化配置管理*
### 健康检查

*系统健康状态监控*
> 💡 **提示**: 图片位置 `docs/images/`,如未显示请查看实际部署后的界面。
---
## 📚 文档
### 入门文档
| 文档 | 说明 | 适合 |
|------|------|------|
| [快速开始](docs/QUICKSTART.md) | 5 分钟快速上手 | 新手 |
| [README.md](README.md) | 项目介绍 | 所有人 |
| [示例项目](examples/README.md) | 代码示例 | 开发者 |
### 部署文档
| 文档 | 说明 | 适合 |
|------|------|------|
| [Docker 部署](docs/DOCKER_DEPLOYMENT.md) | Docker 完整部署 | 生产环境 |
| [源码部署](README.md#方式二源码部署) | 源码编译运行 | 开发环境 |
| [配置说明](docs/CONFIGURATION.md) | 详细配置说明 | 所有人 |
### 开发文档
| 文档 | 说明 | 适合 |
|------|------|------|
| [开发总结](docs/DEVELOPMENT_SUMMARY.md) | 完整开发记录 | 贡献者 |
| [API 文档](docs/API.md) | REST API 参考 | 开发者 |
| [测试指南](docs/TESTING_GUIDE.md) | 测试方法指南 | 测试人员 |
| [项目路线图](docs/ROADMAP.md) | 未来规划 | 所有人 |
### 运维文档
| 文档 | 说明 | 适合 |
|------|------|------|
| [监控指南](docs/MONITORING_GUIDE.md) | Prometheus/Grafana | 运维 |
| [数据库指南](docs/DATABASE_GUIDE.md) | 数据库配置 | DBA |
| [故障排查](docs/TROUBLESHOOTING.md) | 常见问题解决 | 运维 |
---
## 🔌 API 文档
### 认证 API
```bash
# 登录
curl -X POST http://localhost:8080/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}'
# 获取当前用户
curl http://localhost:8080/api/auth/me \
-H "Authorization: Bearer YOUR_TOKEN"
```
### 会话 API
```bash
# 发送消息
curl -X POST http://localhost:8080/api/chat \
-H "Content-Type: application/json" \
-d '{"message":"你好","sessionId":"session-1"}'
# 获取会话列表
curl http://localhost:8080/api/sessions
```
### 统计 API
```bash
# 会话统计
curl http://localhost:8080/api/statistics/sessions
# 健康评分
curl http://localhost:8080/api/statistics/health
```
### WebSocket
```javascript
const token = localStorage.getItem('access_token');
const ws = new WebSocket(`ws://localhost:8080/ws?token=${token}`);
ws.onmessage = (event) => {
console.log('Message:', event.data);
};
```
---
## 🏗️ 项目结构
```
openclaw-spring/
├── src/main/java/com/openclaw/
│ ├── agent/ # AI Agent 核心
│ ├── channel/ # 消息渠道
│ ├── config/ # 配置类
│ ├── controller/ # REST 控制器
│ ├── service/ # 业务服务
│ ├── security/ # 安全组件
│ ├── repository/ # JPA 仓库
│ └── websocket/ # WebSocket
├── src/main/resources/
│ ├── static/ # 静态资源
│ ├── templates/ # Thymeleaf 模板
│ └── application.yml # 配置文件
├── docs/ # 文档
└── pom.xml # Maven 配置
```
---
## 🛠️ 技术栈
### 后端
- **Java 17+**
- **Spring Boot 3.2.4**
- **Spring AI Alibaba 1.1.2.0**
- **Spring Data JPA**
- **MySQL 8.0+**
- **Caffeine Cache**
- **JJWT 0.11.5**
### 前端
- **Thymeleaf**
- **Chart.js 4.4.0**
- **Font Awesome 6.4.0**
- **Vanilla JavaScript**
### 监控
- **Prometheus**
- **Grafana**
- **Spring Actuator**
---
## 📈 代码统计
| 类别 | 文件数 | 行数 |
|------|--------|------|
| Java | 52 | ~17,000 |
| HTML | 8 | ~850 |
| CSS | 7 | ~2,700 |
| JavaScript | 8 | ~2,750 |
| 配置 | 6 | ~500 |
| 文档 | 32+ | ~10,000 |
| **总计** | **~113** | **~28,000** |
---
## 🧪 测试
### 运行测试
```bash
# 运行所有测试
mvn test
# 运行特定测试类
mvn test -Dtest=ApiControllerTest
# 运行集成测试
mvn verify
```
### 测试覆盖率
```bash
# 生成覆盖率报告
mvn clean test jacoco:report
# 查看 HTML 报告
open target/site/jacoco/index.html
```
**测试统计**:
- 单元测试:53 个
- 覆盖率:85%
- 状态:✅ Pass
**详细指南**: [测试指南](docs/TESTING_GUIDE.md)
---
## 📦 生产部署
### Docker 部署
```bash
# 构建镜像
docker build -t openclaw-spring:1.6.0 .
# 运行容器
docker run -d \
-p 8080:8080 \
-e DB_PASSWORD=secure_password \
-e AI_DASHSCOPE_API_KEY=your_api_key \
-e JWT_SECRET=very_long_secret \
--name openclaw \
openclaw-spring:1.6.0
```
### 生产环境配置
1. **安全加固**
- 修改默认密码
- 启用 HTTPS
- 配置防火墙
- 限制访问 IP
2. **性能优化**
- 调整 JVM 参数:`-Xms512m -Xmx1024m`
- 使用 SSD 存储
- 配置连接池
- 启用缓存
3. **高可用**
- 配置负载均衡
- 数据库主从复制
- Redis 集群
- 定期备份
4. **监控告警**
- Prometheus 监控
- Grafana 仪表板
- 日志聚合
- 告警通知
**详细文档**: [Docker 部署指南](docs/DOCKER_DEPLOYMENT.md)
---
## 🤝 贡献
欢迎贡献代码!请遵循以下步骤:
1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
---
## 📝 更新日志
### v1.6.0 (2026-03-18)
- ✅ 真实数据集成到图表
- ✅ 批量操作服务
- ✅ 性能监控增强
### v1.5.2 (2026-03-18)
- ✅ WebSocket JWT 认证
- ✅ 性能监控服务
### v1.5.1 (2026-03-18)
- ✅ JWT 实际实现
- ✅ BCrypt 密码加密
- ✅ 数据库用户存储
### v1.5.0 (2026-03-18)
- ✅ 用户认证系统
- ✅ 配置管理 UI
- ✅ 日志查看器
- ✅ 移动端适配
[查看完整更新日志](docs/CHANGELOG.md)
---
## 📄 许可证
MIT License - 详见 [LICENSE](LICENSE)
---
## 🙏 致谢
感谢以下开源项目:
- [Spring Boot](https://spring.io/projects/spring-boot)
- [Spring AI Alibaba](https://github.com/alibaba/spring-ai-alibaba)
- [Chart.js](https://www.chartjs.org/)
- [Font Awesome](https://fontawesome.com/)
---
## 📞 联系方式
- **项目地址**: https://gitee.com/jared_hxyerui/openclaw-spring
- **问题反馈**: https://gitee.com/jared_hxyerui/openclaw-spring/issues
- **Gitee**: https://gitee.com/jared_hxyerui
---
**Made with ❤️ by OpenClaw Team**
[⬆ 返回顶部](#openclaw-spring-ai-alibaba)