logo
1
0
WeChat Login
Forkfromqiuyurs/claude, aheadmain6 commits

飞书机器人多实例管理平台

基于飞书官方SDK的企业级智能机器人平台,支持多机器人并发管理、消息存储、AI对话和用户意图识别。

🌟 当前功能

✅ Phase 1: 基础架构重构 (100% 完成)

  • 多机器人管理:支持同时运行多个机器人实例
  • 模块化架构:高度解耦的消息处理系统
  • 智能消息路由:基于规则的消息分发和过滤
  • 配置管理系统:YAML配置文件支持热更新
  • 健康检查和监控:自动故障检测和恢复

✅ Phase 2: 数据库系统 (100% 完成)

  • 完整的数据持久化:SQLite/PostgreSQL/MySQL支持
  • 消息历史记录:按机器人、群聊、用户全面区分
  • 用户管理系统:自动用户跟踪、活跃度统计
  • Repository数据访问层:清晰的DAO模式实现
  • 数据库迁移系统:版本管理和自动升级

✅ Phase 3: AI智能对话系统 (已完成基础集成)

  • AI处理器核心架构:统一的AI接口和管理
  • OpenAI模型适配器:支持GPT-3.5/GPT-4等模型
  • AI配置管理系统:完整的模型配置和切换
  • 消息处理器AI集成:智能回复处理流程
  • 🚧 意图识别引擎:用户意图分析和分类(开发中)
  • 🚧 上下文管理:多轮对话记忆(开发中)

🚀 下一步开发计划

Phase 4: Web管理界面和API服务

  • 🌐 FastAPI服务器:完整的REST API接口
  • 🖥️ React管理界面:可视化的机器人管理后台
  • 📊 实时监控仪表板:消息统计、性能指标
  • 🔐 用户认证系统:JWT认证和权限管理

Phase 5: 高级功能

  • 🎴 富文本消息:支持图片、卡片、按钮等
  • 🔔 定时任务:定时提醒、天气预报等
  • 📈 数据分析:用户行为分析、对话统计
  • 🔧 插件系统:支持第三方功能扩展

🏗️ 技术架构

┌─────────────────┐    ┌────────────────┐    ┌─────────────────┐
│   飞书平台      │    │   多机器人管理  │    │   消息路由系统  │
│                 │    │                │    │                │
│ • 用户消息      │───▶│ • 机器人实例    │───▶│ • 规则路由      │
│ • 群聊/私聊     │    │ • 配置管理      │    │ • 过滤和分发    │
│ • 事件推送      │    │ • 健康检查      │    │ • 优先级处理    │
└─────────────────┘    └────────────────┘    └─────────────────┘
                                                        │
                                                        ▼
┌─────────────────┐    ┌────────────────┐    ┌─────────────────┐
│   数据存储层    │    │  AI智能对话系统 │    │   消息处理器    │
│                 │    │                │    │                │
│ • 消息历史      │◀───│ • OpenAI集成    │◀───│ • 智能回复      │
│ • 用户管理      │    │ • 意图识别      │    │ • 关键词回复    │
│ • 统计分析      │    │ • 上下文管理    │    │ • 业务规则      │
└─────────────────┘    └────────────────┘    └─────────────────┘

核心组件

  • 多机器人管理器:并发管理多个机器人实例
  • 消息路由器:基于规则的智能消息分发
  • 消息处理器:模块化的消息处理和业务逻辑
  • AI处理器:统一的AI接口和模型管理
  • 数据访问层:Repository模式的数据持久化
  • 配置管理器:灵活的YAML配置系统

📁 项目结构

/workspace/
├── main.py                         # 主程序入口
├── bot_manager.py                  # 机器人管理器
├── bot_instance.py                 # 机器人实例
├── message_router.py               # 消息路由器
├── message_processor.py            # 消息处理器
├── config_manager.py               # 配置管理器
│
├── ai/                             # AI模块
│   ├── __init__.py
│   ├── ai_handler.py               # AI处理器核心
│   ├── config.py                   # AI配置管理
│   └── models/                     # AI模型适配器
│       ├── __init__.py
│       ├── base_model.py           # AI模型基类
│       └── openai_model.py         # OpenAI适配器
│
├── models/                         # 数据模型
│   ├── __init__.py
│   ├── message.py                  # 消息模型
│   ├── user.py                     # 用户模型
│   └── database/                   # 数据库ORM模型
│       ├── __init__.py
│       ├── bot.py
│       ├── message.py
│       └── user.py
│
├── services/                       # 业务服务层
│   └── database_service.py         # 数据库服务
│
├── repositories/                   # 数据访问层
│   ├── __init__.py
│   ├── base_repository.py
│   ├── message_repository.py
│   └── user_repository.py
│
├── config/                         # 配置文件目录
│   ├── bots.yaml                   # 机器人配置
│   ├── database.yaml               # 数据库配置
│   ├── ai.yaml                     # AI配置
│   └── settings.yaml               # 全局设置
│
├── migrations/                     # 数据库迁移
│   └── migration_001_initial.py
│
├── requirements.txt                # 依赖包列表
├── test_ai_integration.py          # AI集成测试
├── test_database.py               # 数据库测试
└── README.md                       # 项目说明

🚀 快速开始

1. 安装依赖

# 创建虚拟环境
python3 -m venv feishu_bot_env
source feishu_bot_env/bin/activate

# 安装依赖
pip install -r requirements.txt

2. 配置飞书应用

编辑 config/bots.yaml 文件,填入你的飞书应用信息:

bots:
  - bot_id: "your_bot_001"
    bot_name: "我的机器人"
    app_id: "cli_your_app_id"
    app_secret: "your_app_secret"
    enabled: true
    ai:
      enabled: true
      model: "gpt-3.5-turbo"

3. 配置AI功能(可选)

如果要启用AI功能,需要:

  1. 设置OpenAI API密钥

    export OPENAI_API_KEY="your-openai-api-key"
    
  2. 启用AI配置: 编辑 config/ai.yaml,启用所需模型:

    ai_config:
      enabled: true
      default_model: "gpt-3.5-turbo"
      models:
        gpt-3.5-turbo:
          enabled: true
          api_key: "${OPENAI_API_KEY}"
    

4. 配置数据库

编辑 config/database.yaml

type: "sqlite"
sqlite:
  path: "data/feishu_bot.db"

5. 配置事件订阅

在飞书开放平台配置:

  • 订阅方式:"使用长连接接收事件"
  • 添加事件:"消息与群组" → "接收消息v2.0"
  • 配置相关权限

6. 启动机器人

# 使用启动脚本(推荐)
./start_bots.sh

# 或直接运行主程序
python main.py

7. 测试AI功能

# 运行AI集成测试
python test_ai_integration.py

📊 开发进度

功能模块状态进度
多机器人管理✅ 完成100%
基础消息接收✅ 完成100%
长连接通信✅ 完成100%
消息存储系统✅ 完成100%
数据库集成✅ 完成100%
AI处理器架构✅ 完成100%
OpenAI集成✅ 完成100%
AI配置管理✅ 完成100%
消息处理器AI集成✅ 完成100%
用户意图识别🚧 开发中30%
上下文管理🚧 开发中20%
Web API服务⏳ 计划中0%
管理后台界面⏳ 计划中0%
富文本支持⏳ 计划中0%
插件系统⏳ 计划中0%

🎯 AI功能特性

已支持的AI模型

  • OpenAI GPT-3.5 Turbo:快速高效的智能对话
  • OpenAI GPT-4:更强大的理解和生成能力
  • OpenAI GPT-4 Turbo:长上下文支持
  • OpenAI GPT-4o:最新的多模态模型
  • 自定义OpenAI兼容API:支持本地部署模型

AI配置功能

  • 🔧 多模型支持:可同时配置多个AI模型
  • 🔄 智能切换:自动选择可用模型,支持故障转移
  • 📊 使用统计:详细的Token使用和成本统计
  • 性能优化:请求缓存和速率限制
  • 🛡️ 安全控制:内容过滤和输入验证

智能对话能力

  • 💬 上下文理解:支持多轮对话历史
  • 🎯 意图识别:理解用户真实需求
  • 🤖 个性化回复:根据历史对话优化回复
  • 📝 系统提示:可配置的AI行为和风格

🛠️ 开发环境要求

  • Python 3.9+
  • 飞书开放平台应用
  • 网络环境(支持WebSocket连接)

📖 参考资料

🤝 贡献指南

欢迎提交Issue和Pull Request来改进这个项目!

📄 许可证

MIT License

About

测试飞书机器人的自动回复功能

Language
Python98.7%
Shell1.3%