better:更新了readme和changlog

This commit is contained in:
SengokuCola
2025-03-30 22:23:04 +08:00
parent 3afc3bae15
commit 9e506ea85f
5 changed files with 59 additions and 73 deletions

1
.gitignore vendored
View File

@@ -18,6 +18,7 @@ config/bot_config_dev.toml
config/bot_config.toml config/bot_config.toml
config/bot_config.toml.bak config/bot_config.toml.bak
src/plugins/remote/client_uuid.json src/plugins/remote/client_uuid.json
run_none.bat
# Byte-compiled / optimized / DLL files # Byte-compiled / optimized / DLL files
__pycache__/ __pycache__/
*.py[cod] *.py[cod]

114
README.md
View File

@@ -16,9 +16,11 @@
- MongoDB 提供数据持久化支持 - MongoDB 提供数据持久化支持
- 可扩展 - 可扩展
**最新版本: v0.6.0-mmc** ([查看更新日志](changelog.md)) **最新版本: v0.6.0** ([查看更新日志](changelog.md))
> [!WARNING] > [!WARNING]
> 版本更新较大,建议单独开文件夹部署,然后转移/data文件数据库可能需要删除messages下的内容不需要删除记忆 > 版本MaiBot将基于MaiCore运行不再依赖于nonebot相关组件运行。
> MaiBot将通过nonebot的插件与nonebot建立联系然后nonebot与QQ建立联系实现MaiBot与QQ的交互
<div align="center"> <div align="center">
<a href="https://www.bilibili.com/video/BV1amAneGE3P" target="_blank"> <a href="https://www.bilibili.com/video/BV1amAneGE3P" target="_blank">
@@ -39,46 +41,27 @@
## ✍如何给本项目报告BUG/提交建议/做贡献 ## ✍如何给本项目报告BUG/提交建议/做贡献
MaiCore是一个开源项目我们非常欢迎你的参与。你的贡献无论是提交bug报告、功能需求还是代码pr都对项目非常宝贵。我们非常感谢你的支持🎉 但无序的讨论会降低沟通效率,进而影响问题的解决速度,因此在提交任何贡献前,请务必先阅读本项目的[贡献指南](CONTRIBUTE.md) MaiCore是一个开源项目我们非常欢迎你的参与。你的贡献无论是提交bug报告、功能需求还是代码pr都对项目非常宝贵。我们非常感谢你的支持🎉 但无序的讨论会降低沟通效率,进而影响问题的解决速度,因此在提交任何贡献前,请务必先阅读本项目的[贡献指南](CONTRIBUTE.md)(待补完)
### 💬交流群 ### 💬交流群(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
- [五群](https://qm.qq.com/q/JxvHZnxyec) 1022489779(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 - [五群](https://qm.qq.com/q/JxvHZnxyec) 1022489779
- [一群](https://qm.qq.com/q/VQ3XZrWgMs) 766798517 【已满】(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 - [一群](https://qm.qq.com/q/VQ3XZrWgMs) 766798517 【已满】
- [二群](https://qm.qq.com/q/RzmCiRtHEW) 571780722(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 - [二群](https://qm.qq.com/q/RzmCiRtHEW) 571780722【已满】
- [三群](https://qm.qq.com/q/wlH5eT8OmQ) 1035228475【已满】(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 - [三群](https://qm.qq.com/q/wlH5eT8OmQ) 1035228475【已满】
- [四群](https://qm.qq.com/q/wlH5eT8OmQ) 729957033【已满】(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 - [四群](https://qm.qq.com/q/wlH5eT8OmQ) 729957033【已满】
<div align="left"> <div align="left">
<h2>📚 文档 ⬇️ 快速开始使用麦麦 ⬇️</h2> <h2>📚 文档</h2>
</div> </div>
### 部署方式(忙于开发,部分内容可能过时) ### (部分内容可能过时,请注意版本对应)
- 📦 **Windows 一键傻瓜式部署**:请运行项目根目录中的 `run.bat`,部署完成后请参照后续配置指南进行配置 ### 核心文档
- [📚 核心Wiki文档](https://docs.mai-mai.org) - 项目最全面的文档中心,你可以了解麦麦有关的一切
- 📦 Linux 自动部署Arch/CentOS9/Debian12/Ubuntu24.10 :请下载并运行项目根目录中的`run.sh`并按照提示安装,部署完成后请参照后续配置指南进行配置 ### 最新版本部署教程(MaiCore版本)
- [🚀 最新版本部署教程](https://docs.mai-mai.org/manual/deployment/refactor_deploy.html) - 基于MaiCore的新版本部署方式与旧版本不兼容
- [📦 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) - 针对新手的疑难解答,适合完全没接触过编程的新手
<div align="left">
<h3>了解麦麦 </h3>
</div>
## 🎯 功能介绍 ## 🎯 功能介绍
@@ -90,69 +73,62 @@ MaiCore是一个开源项目我们非常欢迎你的参与。你的贡献
- 支持多模型,多厂商自定义配置 - 支持多模型,多厂商自定义配置
- 动态的prompt构建器更拟人 - 动态的prompt构建器更拟人
- 支持图片,转发消息,回复消息的识别 - 支持图片,转发消息,回复消息的识别
- 错别字和多条回复功能麦麦可以随机生成错别字会多条发送回复以及对消息进行reply - 支持私聊功能,包括消息处理和回复
### 🧠 思维流系统(实验性功能)
- 思维流能够生成实时想法,增加回复的拟人性
- 思维流与日程系统联动,实现动态日程生成
### 🧠 记忆系统
- 对聊天记录进行概括存储,在需要时调用
### 😊 表情包功能 ### 😊 表情包功能
- 支持根据发言内容发送对应情绪的表情包 - 支持根据发言内容发送对应情绪的表情包
- 会自动偷群友的表情包 - 会自动偷群友的表情包
- 表情包审查功能
- 表情包文件完整性自动检查
### 📅 日程功能 ### 📅 日程功能
- 麦麦会自动生成一天的日程,实现更拟人的回复 - 麦麦会自动生成一天的日程,实现更拟人的回复
- 支持动态日程生成
- 优化日程文本解析功能
### 🧠 记忆功能 ### 👥 关系系统
- 针对每个用户创建"关系",可以对不同用户进行个性化回复
- 对聊天记录进行概括存储,在需要时调用,待完善 ### 📊 统计系统
- 详细统计系统
- LLM使用统计
### 📚 知识库功能 ### 🔧 系统功能
- 支持优雅的shutdown机制
- 基于embedding模型的知识库手动放入txt会自动识别写完了暂时禁用 - 自动保存功能,定期保存聊天记录和关系数据
### 👥 关系功能
- 针对每个用户创建"关系"可以对不同用户进行个性化回复目前只有极其简单的好感度WIP
- 针对每个群创建"群印象"可以对不同群进行个性化回复WIP
## 开发计划TODOLIST ## 开发计划TODOLIST
规划主线
0.6.0:记忆系统更新
0.7.0: 麦麦RunTime
- 人格功能WIP - 人格功能WIP
- 群氛围功能WIP - 对特定对象的侧写功能
- 图片发送转发功能WIP - 图片发送转发功能WIP
- 幽默和meme功能WIP的WIP - 幽默和meme功能WIP
- 让麦麦玩mcWIP的WIP的WIP
- 兼容gif的解析和保存 - 兼容gif的解析和保存
- 小程序转发链接解析 - 小程序转发链接解析
- 对思考链长度限制
- 修复已知bug - 修复已知bug
- ~~完善文档~~
- 修复转发
- ~~config自动生成和检测~~
- ~~log别用print~~
- ~~给发送消息写专门的类~~
- 改进表情包发送逻辑
- 自动生成的回复逻辑,例如自生成的回复方向,回复风格 - 自动生成的回复逻辑,例如自生成的回复方向,回复风格
- 采用截断生成加快麦麦的反应速度
- 改进发送消息的触发
## 设计理念 ## 设计理念(原始时代的火花)
> **千石可乐说:** > **千石可乐说:**
> - 这个项目最初只是为了给牛牛bot添加一点额外的功能但是功能越写越多最后决定重写。其目的是为了创造一个活跃在QQ群聊的"生命体"。可以目的并不是为了写一个功能齐全的机器人,而是一个尽可能让人感知到真实的类人存在. > - 这个项目最初只是为了给牛牛bot添加一点额外的功能但是功能越写越多最后决定重写。其目的是为了创造一个活跃在QQ群聊的"生命体"。可以目的并不是为了写一个功能齐全的机器人,而是一个尽可能让人感知到真实的类人存在
> - 程序的功能设计理念基于一个核心的原则:"最像而不是好" > - 程序的功能设计理念基于一个核心的原则:"最像而不是好"
> - 主打一个陪伴 > - 如果人类真的需要一个AI来陪伴自己并不是所有人都需要一个完美的能解决所有问题的"helpful assistant",而是一个会犯错的,拥有自己感知和想法的"生命形式"。
> - 如果人类真的需要一个AI来陪伴自己并不是所有人都需要一个完美的能解决所有问题的helpful assistant而是一个会犯错的拥有自己感知和想法的"生命形式"。
> - 代码会保持开源和开放但个人希望MaiMbot的运行时数据保持封闭尽量避免以显式命令来对其进行控制和调试.我认为一个你无法完全掌控的个体才更能让你感觉到它的自主性,而视其成为一个对话机器. > - 代码会保持开源和开放但个人希望MaiMbot的运行时数据保持封闭尽量避免以显式命令来对其进行控制和调试.我认为一个你无法完全掌控的个体才更能让你感觉到它的自主性,而视其成为一个对话机器.
> - SengokuCola~~纯编程外行面向cursor编程很多代码写得不好多多包涵~~已得到大脑升级
## 📌 注意事项 ## 📌 注意事项
SengokuCola~~纯编程外行面向cursor编程很多代码写得不好多多包涵~~已得到大脑升级
> [!WARNING] > [!WARNING]
> 使用本项目前必须阅读和同意用户协议和隐私协议
> 本应用生成内容来自人工智能模型,由 AI 生成请仔细甄别请勿用于违反法律的用途AI生成内容不代表本人观点和立场。 > 本应用生成内容来自人工智能模型,由 AI 生成请仔细甄别请勿用于违反法律的用途AI生成内容不代表本人观点和立场。
## 致谢 ## 致谢

View File

@@ -1,16 +1,24 @@
# Changelog # Changelog
AI总结
## [0.6.0] - 2025-3-25 ## [0.6.0] - 2025-3-30
### 🌟 核心功能增强 ### 🌟 核心功能增强
#### 架构重构
- 将MaiBot重构为MaiCore独立智能体
- 移除NoneBot相关代码改为插件方式与NoneBot对接
- 精简代码结构,优化文件夹组织
- 新增详细统计系统
#### 思维流系统(实验性功能) #### 思维流系统(实验性功能)
- 新增思维流作为实验功能 - 新增思维流作为实验功能
- 思维流大核+小核架构 - 思维流大核+小核架构
- 思维流回复意愿模式 - 思维流回复意愿模式
- 优化思维流自动启停机制,提升资源利用效率
- 思维流与日程系统联动,实现动态日程生成
#### 记忆系统优化 #### 记忆系统优化
- 优化记忆抽取策略 - 优化记忆抽取策略
- 优化记忆prompt结构 - 优化记忆prompt结构
- 改进海马体记忆提取机制,提升自然度
#### 关系系统优化 #### 关系系统优化
- 修复relationship_value类型错误 - 修复relationship_value类型错误

View File

@@ -5,6 +5,7 @@ from .message_sender import message_manager
from .storage import MessageStorage from .storage import MessageStorage
from .auto_speak import auto_speak_manager from .auto_speak import auto_speak_manager
__all__ = [ __all__ = [
"emoji_manager", "emoji_manager",
"relationship_manager", "relationship_manager",

View File

@@ -57,13 +57,13 @@ def send_heartbeat(server_url, client_id):
data = json.dumps( data = json.dumps(
{"system": sys, "Version": global_config.MAI_VERSION}, {"system": sys, "Version": global_config.MAI_VERSION},
) )
logger.info(f"正在发送心跳到服务器: {server_url}") logger.debug(f"正在发送心跳到服务器: {server_url}")
logger.debug(f"心跳数据: {data}") logger.debug(f"心跳数据: {data}")
response = requests.post(f"{server_url}/api/clients", headers=headers, data=data) response = requests.post(f"{server_url}/api/clients", headers=headers, data=data)
if response.status_code == 201: if response.status_code == 201:
data = response.json() data = response.json()
logger.info(f"心跳发送成功。服务器响应: {data}") logger.debug(f"心跳发送成功。服务器响应: {data}")
return True return True
else: else:
logger.error(f"心跳发送失败。状态码: {response.status_code}, 响应内容: {response.text}") logger.error(f"心跳发送失败。状态码: {response.status_code}, 响应内容: {response.text}")