Skip to content

Repository files navigation

OpenClaw的数据库搭建skills

License: MIT Python 3.9+ Docker

智能数据收集和API服务平台 - 从自然语言描述到稳定API服务的端到端解决方案

🌟 特性

  • 🤖 智能推荐 - 用自然语言描述需求,AI自动推荐最佳数据源
  • 💰 成本透明 - 实时显示Token消耗,按日/月/年展示成本
  • 🔄 自动收集 - 定时任务自动从多个数据源收集数据
  • 数据增强 - AI自动补充缺失信息,智能推断数据类型
  • 📊 自动日报 - 每日自动生成数据收集报告
  • 🔌 稳定API - RESTful API接口,支持数据查询和调用
  • ☁️ 云端部署 - 一键部署到阿里云轻量应用服务器
  • 💬 多端支持 - CLI、飞书机器人、钉钉机器人

🚀 快速开始

前置要求

  • 阿里云轻量应用服务器(2核4GB或更高)
  • Docker和Docker Compose
  • OpenAI API密钥

一键部署

# 1. 克隆仓库
git clone https://github.com/your-username/openclaw-cloud-service.git
cd openclaw-cloud-service

# 2. 配置环境变量
cp .env.example .env
# 编辑.env文件,填写API密钥等配置

# 3. 启动服务
docker-compose up -d

# 4. 查看日志
docker-compose logs -f

# 5. 访问服务
# API文档: http://your-server-ip:8000/docs
# Web界面: http://your-server-ip:8000

📖 使用指南

创建数据库(CLI方式)

python -m openclow.cli.configure

创建数据库(API方式)

curl -X POST http://your-server:8000/api/v1/databases \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_api_key" \
  -d '{
    "name": "电商订单数据库",
    "description": "需要收集商品价格、物流信息、用户地理位置等数据",
    "table_name": "orders",
    "fields": ["order_id", "product_id", "price", "quantity"]
  }'

查询数据

curl -X GET http://your-server:8000/api/v1/databases/db_xxx/data \
  -H "Authorization: Bearer your_api_key" \
  -G -d "limit=10" -d "offset=0"

飞书机器人使用

  1. 在飞书中添加OpenClaw机器人
  2. 发送消息:创建数据库
  3. 按提示输入业务描述
  4. 查看AI推荐的数据源
  5. 选择数据源并配置

📁 项目结构

openclaw-cloud-service/
├── openclow/
│   ├── core/                  # 核心模块
│   │   ├── data_source_recommender.py  # 智能推荐引擎
│   │   ├── data_collector.py           # 数据收集器
│   │   ├── data_enhancer.py            # 数据增强器
│   │   └── daily_report.py             # 日报生成器
│   ├── api/                   # REST API
│   │   ├── main.py                     # FastAPI应用
│   │   ├── routers/                    # API路由
│   │   └── middleware/                 # 中间件
│   ├── scheduler/             # 定时任务
│   │   └── collector_scheduler.py      # 数据收集调度
│   └── integrations/          # 第三方集成
│       ├── lark.py                    # 飞书集成
│       └── dingtalk.py                # 钉钉集成
├── scripts/                # 部署脚本
│   ├── deploy.sh          # 一键部署脚本
│   └── backup.sh          # 备份脚本
├── docker-compose.yml      # Docker编排配置
├── Dockerfile             # Docker镜像配置
└── README.md              # 项目说明

🔧 配置说明

环境变量

# OpenAI配置
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_BASE_URL=https://api.openai.com/v1

# 数据库配置
DATABASE_URL=postgresql://openclaw:password@db:5432/openclaw

# Redis配置
REDIS_URL=redis://redis:6379/0

# API配置
API_HOST=0.0.0.0
API_PORT=8000
API_SECRET_KEY=your_secret_key_here

详细配置说明请参考 配置文档

📊 数据源列表

分类 数据源 可靠性 成本
公共API OpenWeatherMap ⭐⭐⭐⭐⭐ 免费
公共API Nominatim ⭐⭐⭐⭐⭐ 免费
开放数据 中国政府数据 ⭐⭐⭐⭐⭐ 免费
开放数据 World Bank ⭐⭐⭐⭐⭐ 免费
网页抓取 新浪财经 ⭐⭐⭐ 免费
学术数据 arXiv ⭐⭐⭐⭐⭐ 免费

完整数据源列表请参考 数据源文档

🔐 安全建议

  1. 使用强API密钥,定期更换
  2. 敏感数据加密存储
  3. 配置防火墙规则
  4. 使用HTTPS加密传输
  5. 定期备份数据

详细安全指南请参考 安全文档

📈 性能优化

  1. 启用Redis缓存
  2. 创建数据库索引
  3. 使用Celery异步处理
  4. 配置CDN加速

详细优化指南请参考 性能文档

🐛 故障排除

数据收集失败

检查数据源API是否正常,查看日志获取详细错误信息

Token成本超限

调整数据收集频率,减少字段增强数量,提高成本上限

API响应慢

检查Redis缓存是否正常,优化数据库查询

常见问题请参考 FAQ

🤝 贡献指南

欢迎提交Issue和Pull Request!

  1. Fork本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启Pull Request

📝 许可证

本项目采用MIT许可证 - 详见 LICENSE 文件

📧 联系方式

🙏 致谢

感谢所有为本项目做出贡献的开发者!


⭐ 如果这个项目对您有帮助,请给我们一个Star!

About

智能数据收集和API服务平台 - 从自然语言描述到稳定API服务的端到端解决方案

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages