# 项目介绍

**AniaBot** 是一个基于 Go 语言开发的高性能、插件驱动型 QQ 机器人框架。它采用模块化设计，提供简洁的插件接口和丰富的内置功能，让开发者能够快速构建功能强大的 QQ 机器人应用。

## 框架特色

- **高性能**：基于 Go 语言开发，充分利用并发特性，支持高并发消息处理
- **插件驱动**：采用插件化架构，功能模块化，易于扩展和维护
- **协议兼容**：支持多种 QQ 机器人协议适配器（如 napcat websocket/http）
- **配置灵活**：基于 Viper 的配置文件管理，支持 YAML 格式
- **开发友好**：简洁的插件接口，几十行代码即可完成一个功能插件

## 系统架构

AniaBot 采用分层架构设计，确保高内聚、低耦合：

![系统架构](./framework.png)

### 协议适配层

负责与 QQ 协议进行通信，处理网络连接、消息收发等底层通信，屏蔽协议细节。

### 核心引擎层

- **消息分发**：接收协议层消息，路由给相应插件处理
- **插件管理**：插件的注册、加载和生命周期管理
- **事件调度**：基于优先级（`Order` 字段）的事件处理机制
- **命令解析**：识别命令名称、提取参数

### 插件生态层

- 丰富的内置插件：AI 对话、防撤回、复读机、新闻推送等
- 自定义插件接口：简洁的插件开发 API，实现对应方法即可

### 配置管理层

基于 Viper 的统一配置管理，支持 YAML 格式，各插件拥有独立配置节。

## 项目仓库

| 分支 | 说明 |
|------|------|
| [main](https://github.com/jeanhua/AniaBot) | 框架主分支，稳定版本 |
| [dev/deploy](https://github.com/jeanhua/AniaBot/tree/dev/deploy) | 部署分支，包含丰富的插件示例 |
