# loli-bot **Repository Path**: wang-guofu/loli-bot ## Basic Information - **Project Name**: loli-bot - **Description**: 基于napcat和SpringBoot搭建的qq机器人 暂时只能ai聊天(langchain4j),爬取bangumi每日新番和角色信息(HttpClient),爬取萌娘百科信息(JSoup) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-08-24 - **Last Updated**: 2025-08-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, Java, Napcat, langchain4j ## README # LoliBot 项目说明 ## 项目简介 LoliBot 是一个基于 Java 的多功能机器人项目,主要面向中文用户。它整合了 AI 对话、番剧信息查询、萌娘百科查询等功能,适用于 QQ 或微信等社交平台的私人和群组消息处理。 该项目使用 Spring Boot 框架开发,结合 DashScope AI 接口和流式消息处理,提供高效的交互体验。此外,LoliBot 还支持通过 RAG(Retrieval-Augmented Generation)技术增强 AI 的回答能力。 ## 技术栈 - Java 8+ - Spring Boot - DashScope AI API - Maven 构建工具 - Shiro 权限控制 - WebFlux + SSE(Server-Sent Events)流式响应 ## 功能特性 - 🤖 **AI 对话**:通过 `/ai/chat` 接口与 DashScope 的 AI 模型对话。 - 🎬 **今日新番**:输入“今日新番”获取当前日期最新上映的动漫信息。 - 📚 **萌娘百科**:输入 `baka [角色名]` 查询萌娘百科信息。 - 💬 **群聊 & 私聊支持**:支持 QQ/微信的群消息(需要 @ 机器人)和私聊消息。 - 🌐 **跨域支持**:通过 `CorsConfig` 提供跨域访问配置。 - 🧠 **RAG 增强回答**:结合向量模型和存储模型,提供基于内容检索的 AI 回答。 ## 使用说明 ### 群消息指令 | 指令 | 功能描述 | |-------------|-----------------------------------| | `今日新番` | 获取今日新番信息 | | `baka 角色名` | 查询萌娘百科中指定角色的信息 | | `loli 角色名` | 查bangumi角色信息 | | `@` | 触发 AI 模型进行回复 | ### API 接口 访问 `/ai/chat` 接口可以进行 AI 对话,支持以下参数: - `memoryId`: 用于记忆上下文的 ID - `message`: 发送给 AI 的消息内容 ## 环境依赖 - DashScope API 密钥 - QQ/微信 Bot SDK(项目中使用 Shiro 注解进行消息处理) - Redis(用于存储记忆上下文) ## 配置文件 - `application.yml`: 主配置文件,包含 Spring Boot、DashScope、RAG、数据库连接等配置。 - `system-prompt.txt`: AI 模型的系统提示信息。 ## 模块结构 - `controller`: AI 对话接口。 - `service`: AI 服务接口与工厂类,负责生成 DashScopeService 实例。 - `utils`: 工具类,如番剧查询、萌娘百科、AI 请求封装等。 - `plugin`: 消息处理器插件,包含各种 Bot 指令的处理逻辑。 - `config`: Spring 配置类,如 CORS、RAG 等。 ## 安装与部署 1. 安装 Maven 和 JDK 1.8+ 2. 克隆项目: ```bash git clone https://gitee.com/wang-guofu/loli-bot ``` 3. 修改 `application.yml` 配置,添加 DashScope API Key、Bot Token 等信息。 4. 构建并运行: ```bash mvn spring-boot:run ``` ## 测试用例 项目包含完整的测试模块: - `LoliBotApplicationTests`: 主程序测试,验证 Bot 功能。 - `DashScopeServiceTest`: AI 服务测试,确保 AI 接口返回正确结果。 - `test.java`: 一些简单的工具类测试。 ## 贡献指南 欢迎提交 PR 或 Issue。请确保遵循以下原则: - 保持代码简洁,注释清晰。 - 提交前运行测试用例。 - 使用合理的命名和代码结构。 ## 许可协议 该项目使用 [MIT License](LICENSE),详情请查看项目根目录的 `LICENSE` 文件。 ## 联系方式 如有问题,请访问项目主页:[Gitee - LoliBot](https://gitee.com/wang-guofu/loli-bot) 并提交 Issue 或 PR。 --- 🌟 一个可爱又智能的 Bot,适合二次元和 AI 爱好者!希望你也喜欢这个项目~