From 9e506ea85fb121b05dc4449a66d7e1dc45f508a8 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Sun, 30 Mar 2025 22:23:04 +0800 Subject: [PATCH] =?UTF-8?q?better=EF=BC=9A=E6=9B=B4=E6=96=B0=E4=BA=86readm?= =?UTF-8?q?e=E5=92=8Cchanglog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 114 ++++++++++++++--------------------- changelogs/changelog.md | 12 +++- src/plugins/chat/__init__.py | 1 + src/plugins/remote/remote.py | 4 +- 5 files changed, 59 insertions(+), 73 deletions(-) diff --git a/.gitignore b/.gitignore index 538c8ede1..d257c3689 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ config/bot_config_dev.toml config/bot_config.toml config/bot_config.toml.bak src/plugins/remote/client_uuid.json +run_none.bat # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/README.md b/README.md index 01afd55c6..28cd163ee 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,11 @@ - MongoDB 提供数据持久化支持 - 可扩展 -**最新版本: v0.6.0-mmc** ([查看更新日志](changelog.md)) +**最新版本: v0.6.0** ([查看更新日志](changelog.md)) > [!WARNING] -> 该版本更新较大,建议单独开文件夹部署,然后转移/data文件,数据库可能需要删除messages下的内容(不需要删除记忆) +> 次版本MaiBot将基于MaiCore运行,不再依赖于nonebot相关组件运行。 +> MaiBot将通过nonebot的插件与nonebot建立联系,然后nonebot与QQ建立联系,实现MaiBot与QQ的交互 +
@@ -39,46 +41,27 @@ ## ✍️如何给本项目报告BUG/提交建议/做贡献 -MaiCore是一个开源项目,我们非常欢迎你的参与。你的贡献,无论是提交bug报告、功能需求还是代码pr,都对项目非常宝贵。我们非常感谢你的支持!🎉 但无序的讨论会降低沟通效率,进而影响问题的解决速度,因此在提交任何贡献前,请务必先阅读本项目的[贡献指南](CONTRIBUTE.md) +MaiCore是一个开源项目,我们非常欢迎你的参与。你的贡献,无论是提交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【已满】(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 +### 💬交流群(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 +- [五群](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【已满】
-

📚 文档 ⬇️ 快速开始使用麦麦 ⬇️

+

📚 文档

-### 部署方式(忙于开发,部分内容可能过时) +### (部分内容可能过时,请注意版本对应) -- 📦 **Windows 一键傻瓜式部署**:请运行项目根目录中的 `run.bat`,部署完成后请参照后续配置指南进行配置 +### 核心文档 +- [📚 核心Wiki文档](https://docs.mai-mai.org) - 项目最全面的文档中心,你可以了解麦麦有关的一切 -- 📦 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) - -- [🖥️群晖 NAS 部署指南](docs/synology_deploy.md) - -### 配置说明 - -- [🎀 新手配置指南](docs/installation_cute.md) - 通俗易懂的配置教程,适合初次使用的猫娘 -- [⚙️ 标准配置指南](docs/installation_standard.md) - 简明专业的配置说明,适合有经验的用户 - -### 常见问题 - -- [❓ 快速 Q & A ](docs/fast_q_a.md) - 针对新手的疑难解答,适合完全没接触过编程的新手 - -
-

了解麦麦

-
+### 最新版本部署教程(MaiCore版本) +- [🚀 最新版本部署教程](https://docs.mai-mai.org/manual/deployment/refactor_deploy.html) - 基于MaiCore的新版本部署方式(与旧版本不兼容) ## 🎯 功能介绍 @@ -90,69 +73,62 @@ MaiCore是一个开源项目,我们非常欢迎你的参与。你的贡献, - 支持多模型,多厂商自定义配置 - 动态的prompt构建器,更拟人 - 支持图片,转发消息,回复消息的识别 -- 错别字和多条回复功能:麦麦可以随机生成错别字,会多条发送回复以及对消息进行reply +- 支持私聊功能,包括消息处理和回复 + +### 🧠 思维流系统(实验性功能) +- 思维流能够生成实时想法,增加回复的拟人性 +- 思维流与日程系统联动,实现动态日程生成 + +### 🧠 记忆系统 +- 对聊天记录进行概括存储,在需要时调用 ### 😊 表情包功能 - - 支持根据发言内容发送对应情绪的表情包 - 会自动偷群友的表情包 +- 表情包审查功能 +- 表情包文件完整性自动检查 ### 📅 日程功能 - - 麦麦会自动生成一天的日程,实现更拟人的回复 +- 支持动态日程生成 +- 优化日程文本解析功能 -### 🧠 记忆功能 +### 👥 关系系统 +- 针对每个用户创建"关系",可以对不同用户进行个性化回复 -- 对聊天记录进行概括存储,在需要时调用,待完善 +### 📊 统计系统 +- 详细统计系统 +- LLM使用统计 -### 📚 知识库功能 - -- 基于embedding模型的知识库,手动放入txt会自动识别,写完了,暂时禁用 - -### 👥 关系功能 - -- 针对每个用户创建"关系",可以对不同用户进行个性化回复,目前只有极其简单的好感度(WIP) -- 针对每个群创建"群印象",可以对不同群进行个性化回复(WIP) +### 🔧 系统功能 +- 支持优雅的shutdown机制 +- 自动保存功能,定期保存聊天记录和关系数据 ## 开发计划TODO:LIST -规划主线 -0.6.0:记忆系统更新 -0.7.0: 麦麦RunTime - - 人格功能:WIP -- 群氛围功能:WIP +- 对特定对象的侧写功能 - 图片发送,转发功能:WIP -- 幽默和meme功能:WIP的WIP -- 让麦麦玩mc:WIP的WIP的WIP +- 幽默和meme功能:WIP - 兼容gif的解析和保存 - 小程序转发链接解析 -- 对思考链长度限制 - 修复已知bug -- ~~完善文档~~ -- 修复转发 -- ~~config自动生成和检测~~ -- ~~log别用print~~ -- ~~给发送消息写专门的类~~ -- 改进表情包发送逻辑 - 自动生成的回复逻辑,例如自生成的回复方向,回复风格 -- 采用截断生成加快麦麦的反应速度 -- 改进发送消息的触发 -## 设计理念 +## 设计理念(原始时代的火花) > **千石可乐说:** -> - 这个项目最初只是为了给牛牛bot添加一点额外的功能,但是功能越写越多,最后决定重写。其目的是为了创造一个活跃在QQ群聊的"生命体"。可以目的并不是为了写一个功能齐全的机器人,而是一个尽可能让人感知到真实的类人存在. +> - 这个项目最初只是为了给牛牛bot添加一点额外的功能,但是功能越写越多,最后决定重写。其目的是为了创造一个活跃在QQ群聊的"生命体"。可以目的并不是为了写一个功能齐全的机器人,而是一个尽可能让人感知到真实的类人存在。 > - 程序的功能设计理念基于一个核心的原则:"最像而不是好" -> - 主打一个陪伴 -> - 如果人类真的需要一个AI来陪伴自己,并不是所有人都需要一个完美的,能解决所有问题的helpful assistant,而是一个会犯错的,拥有自己感知和想法的"生命形式"。 +> - 如果人类真的需要一个AI来陪伴自己,并不是所有人都需要一个完美的,能解决所有问题的"helpful assistant",而是一个会犯错的,拥有自己感知和想法的"生命形式"。 > - 代码会保持开源和开放,但个人希望MaiMbot的运行时数据保持封闭,尽量避免以显式命令来对其进行控制和调试.我认为一个你无法完全掌控的个体才更能让你感觉到它的自主性,而视其成为一个对话机器. +> - SengokuCola~~纯编程外行,面向cursor编程,很多代码写得不好多多包涵~~已得到大脑升级 + ## 📌 注意事项 -SengokuCola~~纯编程外行,面向cursor编程,很多代码写得不好多多包涵~~已得到大脑升级 - > [!WARNING] +> 使用本项目前必须阅读和同意用户协议和隐私协议 > 本应用生成内容来自人工智能模型,由 AI 生成,请仔细甄别,请勿用于违反法律的用途,AI生成内容不代表本人观点和立场。 ## 致谢 diff --git a/changelogs/changelog.md b/changelogs/changelog.md index e7ce879f3..75427a488 100644 --- a/changelogs/changelog.md +++ b/changelogs/changelog.md @@ -1,16 +1,24 @@ # Changelog -AI总结 -## [0.6.0] - 2025-3-25 +## [0.6.0] - 2025-3-30 ### 🌟 核心功能增强 +#### 架构重构 +- 将MaiBot重构为MaiCore独立智能体 +- 移除NoneBot相关代码,改为插件方式与NoneBot对接 +- 精简代码结构,优化文件夹组织 +- 新增详细统计系统 + #### 思维流系统(实验性功能) - 新增思维流作为实验功能 - 思维流大核+小核架构 - 思维流回复意愿模式 +- 优化思维流自动启停机制,提升资源利用效率 +- 思维流与日程系统联动,实现动态日程生成 #### 记忆系统优化 - 优化记忆抽取策略 - 优化记忆prompt结构 +- 改进海马体记忆提取机制,提升自然度 #### 关系系统优化 - 修复relationship_value类型错误 diff --git a/src/plugins/chat/__init__.py b/src/plugins/chat/__init__.py index 6e0c421f9..cace85253 100644 --- a/src/plugins/chat/__init__.py +++ b/src/plugins/chat/__init__.py @@ -5,6 +5,7 @@ from .message_sender import message_manager from .storage import MessageStorage from .auto_speak import auto_speak_manager + __all__ = [ "emoji_manager", "relationship_manager", diff --git a/src/plugins/remote/remote.py b/src/plugins/remote/remote.py index 2b319ed3b..a2084435f 100644 --- a/src/plugins/remote/remote.py +++ b/src/plugins/remote/remote.py @@ -57,13 +57,13 @@ def send_heartbeat(server_url, client_id): data = json.dumps( {"system": sys, "Version": global_config.MAI_VERSION}, ) - logger.info(f"正在发送心跳到服务器: {server_url}") + logger.debug(f"正在发送心跳到服务器: {server_url}") logger.debug(f"心跳数据: {data}") response = requests.post(f"{server_url}/api/clients", headers=headers, data=data) if response.status_code == 201: data = response.json() - logger.info(f"心跳发送成功。服务器响应: {data}") + logger.debug(f"心跳发送成功。服务器响应: {data}") return True else: logger.error(f"心跳发送失败。状态码: {response.status_code}, 响应内容: {response.text}")