基于飞书官方SDK的企业级智能机器人平台,支持多机器人并发管理、消息存储、AI对话和用户意图识别。
┌─────────────────┐ ┌────────────────┐ ┌─────────────────┐
│ 飞书平台 │ │ 多机器人管理 │ │ 消息路由系统 │
│ │ │ │ │ │
│ • 用户消息 │───▶│ • 机器人实例 │───▶│ • 规则路由 │
│ • 群聊/私聊 │ │ • 配置管理 │ │ • 过滤和分发 │
│ • 事件推送 │ │ • 健康检查 │ │ • 优先级处理 │
└─────────────────┘ └────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐ ┌────────────────┐ ┌─────────────────┐
│ 数据存储层 │ │ AI智能对话系统 │ │ 消息处理器 │
│ │ │ │ │ │
│ • 消息历史 │◀───│ • OpenAI集成 │◀───│ • 智能回复 │
│ • 用户管理 │ │ • 意图识别 │ │ • 关键词回复 │
│ • 统计分析 │ │ • 上下文管理 │ │ • 业务规则 │
└─────────────────┘ └────────────────┘ └─────────────────┘
核心组件:
/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 # 项目说明
# 创建虚拟环境
python3 -m venv feishu_bot_env
source feishu_bot_env/bin/activate
# 安装依赖
pip install -r requirements.txt
编辑 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"
如果要启用AI功能,需要:
设置OpenAI API密钥:
export OPENAI_API_KEY="your-openai-api-key"
启用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}"
编辑 config/database.yaml:
type: "sqlite"
sqlite:
path: "data/feishu_bot.db"
在飞书开放平台配置:
# 使用启动脚本(推荐)
./start_bots.sh
# 或直接运行主程序
python main.py
# 运行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% |
欢迎提交Issue和Pull Request来改进这个项目!
MIT License