logo
0
0
WeChat Login

Chatbot System

一个基于 FastAPI 和 TailwindCSS 的机器人聊天管理系统。

功能特性

  • 🤖 多平台机器人管理(微信、钉钉、飞书等)
  • 💬 消息接收与存储
  • 📊 消息历史查看
  • 🔌 Webhook 接口设计
  • 🎨 现代化 Web 界面

技术栈

  • 后端: FastAPI + SQLAlchemy + SQLite
  • 前端: TailwindCSS + JavaScript
  • 数据库: SQLite(可轻松切换至其他数据库)

项目结构

chatbot-system/
├── app/
│   ├── api/          # API 路由
│   │   ├── robots.py # 机器人相关接口
│   │   └── messages.py # 消息相关接口
│   ├── core/         # 核心配置
│   ├── crud/         # 数据库操作
│   ├── db/           # 数据库配置
│   ├── models/       # 数据库模型
│   └── schemas/      # Pydantic 模型
├── static/           # 静态文件
├── templates/        # HTML 模板
└── requirements.txt  # 依赖包

快速开始

1. 安装依赖

cd chatbot-system
pip install -r requirements.txt

2. 启动服务

python -m app.main

服务将在 http://localhost:8000 启动

3. 访问界面

打开浏览器访问 http://localhost:8000

API 文档

启动服务后,访问 http://localhost:8000/docs 查看自动生成的 API 文档

数据库表结构

robots 表

  • id: 主键
  • name: 机器人名称
  • platform: 平台类型
  • app_id: 应用 ID
  • app_key: 应用密钥
  • webhook_url: Webhook 地址
  • enabled: 是否启用
  • created_at: 创建时间
  • updated_at: 更新时间

messages 表

  • id: 主键
  • robot_id: 机器人 ID
  • sender_id: 发送人 ID
  • sender_name: 发送人昵称
  • group_id: 群组 ID
  • group_name: 群组名称
  • message_type: 消息类型(private/group/mention)
  • content: 消息内容
  • role: 角色(user/assistant)
  • raw_data: 原始消息数据(JSON)
  • created_at: 消息时间

Webhook 接口

接收消息的 Webhook 地址:

POST /api/messages/webhook/{robot_id}

消息格式示例:

{
  "sender_id": "user123",
  "sender_name": "张三",
  "group_id": "group456",
  "group_name": "技术交流群",
  "message_type": "group",
  "content": "你好,机器人!"
}

后续扩展

  • AI 智能回复集成
  • 消息规则配置
  • 多租户支持
  • 消息统计分析
  • 实时消息推送

License

MIT License

About

AI机器人

Language
Vue46.9%
Python41%
JavaScript7.3%
CSS3.1%
Others1.7%