Files
Mofox-Core/README.md
SengokuCola fca56a5bbd Merge pull request #585 from Cookie987/main-fix
feat: Linux一键安装脚本支持Arch/Ubuntu/CentOS9
2025-03-28 00:24:27 +08:00

267 lines
12 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 关于项目分支调整与贡献指南的重要通知
<details>
<summary>
- 📂 致所有为麦麦提交过贡献,以及想要为麦麦提交贡献的朋友们!</summary>
---
**📢 关于项目分支调整与贡献指南的重要通知**
**致所有关注MaiMBot的开发者与贡献者**
首先我们由衷感谢大家近期的热情参与感谢大家对MaiMBot的喜欢项目突然受到广泛关注让我们倍感惊喜也深深感受到开源社区的温暖力量。为了保障项目长期健康发展我们不得不对开发流程做出重要调整恳请理解与支持。
---
### **📌 本次调整的核心原因**
1. **维护团队精力有限**
核心成员(包括我本人)均为在校学生/在职开发者近期涌入的大量PR和意见已远超我们的处理能力。为确保本职工作与项目质量我们必须优化协作流程。
2. **重构核心架构的紧迫性**
当前我们正与核心团队全力重构项目底层逻辑,这是为未来扩展性、性能提升打下的必要基础,需要高度专注。
3. **保障现有用户的稳定性**
我们深知许多用户已依赖当前版本,因此必须划分清晰的维护边界,确保生产环境可用性。
---
### **🌿 全新分支策略与贡献指南**
为平衡上述目标,即日起启用以下分支结构:
| 分支 | 定位 | 接受PR类型 | 提交对象 |
| ---------- | ---------------------------- | --------------------------------------------- | ---------------- |
| `main` | **稳定版**(供下载使用) | 仅接受来自`main-fix`的合并 | 维护团队直接管理 |
| `main-fix` | 生产环境紧急修复 | 明确的功能缺陷修复(需附带复现步骤/测试用例) | 所有开发者 |
| `refactor` | 重构版(**不兼容当前main** | 仅重构与相关Bug修复 | 重构小组维护 |
---
### **⚠️ 对现有PR的处理说明**
由于分支结构调整,**GitHub已自动关闭所有未合并的PR**这并非否定您的贡献价值如果您认为自己的PR符合以下条件
- 属于`main-fix`明确的**功能性缺陷修复**(非功能增强) 包括非预期行为和严重报错需要发布issue讨论确定。
- 属于`refactor`分支的**重构适配性修复**
**欢迎您重新提交到对应分支**并在PR描述中标注`[Re-submit from closed PR]`我们将优先审查。其他类型PR暂缓受理但您的创意我们已记录在案未来重构完成后将重新评估。
---
### **🙏 致谢与协作倡议**
- 感谢每一位提交Issue、PR、参与讨论的开发者您的每一行代码都是maim吃的
- 特别致敬在交流群中积极答疑的社区成员,你们自发维护的氛围令人感动❤️ maim哭了
- **重构期间的非代码贡献同样珍贵**文档改进、测试用例补充、用户反馈整理等欢迎通过Issue认领任务
---
### **📬 高效协作小贴士**
1. **提交前请先讨论**创建Issue描述问题确认是否符合`main-fix`修复范围
2. **对重构提出您的想法**如果您对重构版有自己的想法欢迎提交讨论issue亟需测试伙伴欢迎邮件联系`team@xxx.org`报名
3. **部分main-fix的功能在issue讨论后经过严格讨论一致决定可以添加功能改动或修复的可以提交pr**
---
**谢谢大家谢谢大家谢谢大家谢谢大家谢谢大家谢谢大家!**
虽然此刻不得不放缓脚步,但这一切都是为了跳得更高。期待在重构完成后与各位共建更强大的版本!
千石可乐 敬上
2025年3月14日
</details>
# 麦麦MaiMBot (编辑中)
<div align="center">
![Python Version](https://img.shields.io/badge/Python-3.9+-blue)
![License](https://img.shields.io/github/license/SengokuCola/MaiMBot)
![Status](https://img.shields.io/badge/状态-开发中-yellow)
</div>
## 📝 项目简介
**🍔麦麦是一个基于大语言模型的智能QQ群聊机器人**
- 基于 nonebot2 框架开发
- LLM 提供对话能力
- MongoDB 提供数据持久化支持
- NapCat 作为QQ协议端支持
**最新版本: v0.5.15** ([查看更新日志](changelog.md))
> [!WARNING]
> 该版本更新较大,建议单独开文件夹部署,然后转移/data文件数据库可能需要删除messages下的内容不需要删除记忆
<div align="center">
<a href="https://www.bilibili.com/video/BV1amAneGE3P" target="_blank">
<img src="docs/pic/video.png" width="300" alt="麦麦演示视频">
<br>
👆 点击观看麦麦演示视频 👆
</a>
</div>
> [!WARNING]
> - 项目处于活跃开发阶段,代码可能随时更改
> - 文档未完善,有问题可以提交 Issue 或者 Discussion
> - QQ机器人存在被限制风险请自行了解谨慎使用
> - 由于持续迭代可能存在一些已知或未知的bug
> - 由于开发中可能消耗较多token
**📚 有热心网友创作的wiki:** https://maimbot.pages.dev/
**📚 由SLAPQ制作的B站教程:** https://www.bilibili.com/opus/1041609335464001545
**😊 其他平台版本**
- (由 [CabLate](https://github.com/cablate) 贡献) [Telegram 与其他平台(未来可能会有)的版本](https://github.com/cablate/MaiMBot/tree/telegram) - [集中讨论串](https://github.com/SengokuCola/MaiMBot/discussions/149)
## ✍如何给本项目报告BUG/提交建议/做贡献
MaiMBot是一个开源项目我们非常欢迎你的参与。你的贡献无论是提交bug报告、功能需求还是代码pr都对项目非常宝贵。我们非常感谢你的支持🎉 但无序的讨论会降低沟通效率,进而影响问题的解决速度,因此在提交任何贡献前,请务必先阅读本项目的[贡献指南](CONTRIBUTE.md)
### 💬交流群
- [五群](https://qm.qq.com/q/JxvHZnxyec) 1022489779开发和建议相关讨论不一定有空回复会优先写文档和代码
- [一群](https://qm.qq.com/q/VQ3XZrWgMs) 766798517 【已满】(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
- [二群](https://qm.qq.com/q/RzmCiRtHEW) 571780722开发和建议相关讨论不一定有空回复会优先写文档和代码
- [三群](https://qm.qq.com/q/wlH5eT8OmQ) 1035228475【已满】开发和建议相关讨论不一定有空回复会优先写文档和代码
- [四群](https://qm.qq.com/q/wlH5eT8OmQ) 729957033【已满】开发和建议相关讨论不一定有空回复会优先写文档和代码
<div align="left">
<h2>📚 文档 ⬇️ 快速开始使用麦麦 ⬇️</h2>
</div>
### 部署方式(忙于开发,部分内容可能过时)
- 📦 **Windows 一键傻瓜式部署**:请运行项目根目录中的 `run.bat`,部署完成后请参照后续配置指南进行配置
- 📦 Linux 自动部署Arch/CentOS9/Debian12/Ubuntu24.10 :请下载并运行项目根目录中的`run.sh`并按照提示安装,部署完成后请参照后续配置指南进行配置
- [📦 Windows 手动部署指南 ](docs/manual_deploy_windows.md)
- [📦 Linux 手动部署指南 ](docs/manual_deploy_linux.md)
- [📦 macOS 手动部署指南 ](docs/manual_deploy_macos.md)
如果你不知道Docker是什么建议寻找相关教程或使用手动部署 **现在不建议使用docker更新慢可能不适配**
- [🐳 Docker部署指南](docs/docker_deploy.md)
- [🖥️群晖 NAS 部署指南](docs/synology_deploy.md)
### 配置说明
- [🎀 新手配置指南](docs/installation_cute.md) - 通俗易懂的配置教程,适合初次使用的猫娘
- [⚙️ 标准配置指南](docs/installation_standard.md) - 简明专业的配置说明,适合有经验的用户
### 常见问题
- [❓ 快速 Q & A ](docs/fast_q_a.md) - 针对新手的疑难解答,适合完全没接触过编程的新手
<div align="left">
<h3>了解麦麦 </h3>
</div>
- [项目架构说明](docs/doc1.md) - 项目结构和核心功能实现细节
## 🎯 功能介绍
### 💬 聊天功能
- 支持关键词检索主动发言对消息的话题topic进行识别如果检测到麦麦存储过的话题就会主动进行发言
- 支持bot名字呼唤发言检测到"麦麦"会主动发言,可配置
- 支持多模型,多厂商自定义配置
- 动态的prompt构建器更拟人
- 支持图片,转发消息,回复消息的识别
- 错别字和多条回复功能麦麦可以随机生成错别字会多条发送回复以及对消息进行reply
### 😊 表情包功能
- 支持根据发言内容发送对应情绪的表情包
- 会自动偷群友的表情包
### 📅 日程功能
- 麦麦会自动生成一天的日程,实现更拟人的回复
### 🧠 记忆功能
- 对聊天记录进行概括存储,在需要时调用,待完善
### 📚 知识库功能
- 基于embedding模型的知识库手动放入txt会自动识别写完了暂时禁用
### 👥 关系功能
- 针对每个用户创建"关系"可以对不同用户进行个性化回复目前只有极其简单的好感度WIP
- 针对每个群创建"群印象"可以对不同群进行个性化回复WIP
## 开发计划TODOLIST
规划主线
0.6.0:记忆系统更新
0.7.0: 麦麦RunTime
- 人格功能WIP
- 群氛围功能WIP
- 图片发送转发功能WIP
- 幽默和meme功能WIP的WIP
- 让麦麦玩mcWIP的WIP的WIP
- 兼容gif的解析和保存
- 小程序转发链接解析
- 对思考链长度限制
- 修复已知bug
- ~~完善文档~~
- 修复转发
- ~~config自动生成和检测~~
- ~~log别用print~~
- ~~给发送消息写专门的类~~
- 改进表情包发送逻辑
- 自动生成的回复逻辑,例如自生成的回复方向,回复风格
- 采用截断生成加快麦麦的反应速度
- 改进发送消息的触发
## 设计理念
> **千石可乐说:**
> - 这个项目最初只是为了给牛牛bot添加一点额外的功能但是功能越写越多最后决定重写。其目的是为了创造一个活跃在QQ群聊的"生命体"。可以目的并不是为了写一个功能齐全的机器人,而是一个尽可能让人感知到真实的类人存在.
> - 程序的功能设计理念基于一个核心的原则:"最像而不是好"
> - 主打一个陪伴
> - 如果人类真的需要一个AI来陪伴自己并不是所有人都需要一个完美的能解决所有问题的helpful assistant而是一个会犯错的拥有自己感知和想法的"生命形式"。
> - 代码会保持开源和开放但个人希望MaiMbot的运行时数据保持封闭尽量避免以显式命令来对其进行控制和调试.我认为一个你无法完全掌控的个体才更能让你感觉到它的自主性,而视其成为一个对话机器.
## 📌 注意事项
SengokuCola~~纯编程外行面向cursor编程很多代码写得不好多多包涵~~已得到大脑升级
> [!WARNING]
> 本应用生成内容来自人工智能模型,由 AI 生成请仔细甄别请勿用于违反法律的用途AI生成内容不代表本人观点和立场。
## 致谢
- [nonebot2](https://github.com/nonebot/nonebot2): 跨平台 Python 异步聊天机器人框架
- [NapCat](https://github.com/NapNeko/NapCatQQ): 现代化的基于 NTQQ 的 Bot 协议端实现
### 贡献者
感谢各位大佬!
<a href="https://github.com/MaiM-with-u/MaiBot/graphs/contributors">
<img src="https://contrib.rocks/image?repo=MaiM-with-u/MaiBot" />
</a>
**也感谢每一位给麦麦发展提出宝贵意见与建议的用户,感谢陪伴麦麦走到现在的你们**
## Stargazers over time
[![Stargazers over time](https://starchart.cc/MaiM-with-u/MaiBot.svg?variant=adaptive)](https://starchart.cc/MaiM-with-u/MaiBot)