在接收和发送消息时注册记忆自动化,并重构人物记忆回写逻辑以使用 memory_service.ingest_text。主要改动如下: 在接收消息时调用 memory_automation_service.on_incoming_message(bot 侧),在发送消息时调用 on_message_sent(send_service 侧),并加入安全的错误处理。 在 person_info 中,用 memory_service.ingest_text 替换手动操作 person.memory_points 的方式;新增 resolve_person_id_for_memory 辅助方法,并为回写计算一个 external_id 指纹。 扩展插件运行时的记忆搜索能力,使其支持 mode、chat_id、person_id、user_id、group_id、时间范围以及 respect_filter 选项。 改进 find_messages 的数据库会话处理,改为使用单一 session,并修复排序和过滤逻辑。 从 KnowledgeFetcher 中移除未使用的 LLMRequest 导入和初始化。 更新术语解释器(jargon explainer)的导入路径,使用新的模块位置。 更新 .gitignore 例外规则,允许特定的 pytest 数据文件被纳入版本控制。 文档小调整:明确人物事实提取规则(将直接使用的 “you” 改写为第三人称)。
Introduction
MaiSaka is an interactive agent based on large language models.
MaiSaka is more than just a bot, and more than a "helpful assistant" that completes tasks. She is a digital life form that tries to understand you and interact in a genuinely human style. She does not pursue perfection or efficiency above all else. She pursues warmth and authenticity.
- 💭 No one likes GPT-sounding dialogue: MaiSaka uses a more natural conversational style. Instead of long-winded markdown-heavy replies, she chats in a way that feels casual, varied, and human.
- 🎭 No longer stuck in rigid Q&A: She knows when to speak, how to read the room, when to join a conversation, and when to stay quiet.
- 🧠 MaiSaka becoming human: In group conversations, MaiSaka imitates how people around her speak, learns new slang and in-group language, and keeps evolving.
- ❤️ Always learning more about you: Inspired by personality theory in psychology, MaiSaka gradually builds an understanding of your preferences, traits, habits, and behavior style.
- 🔌 Plugin system: Provides powerful APIs and an event system with virtually unlimited room for extension.
Quick Navigation
🌟 Demo Video | 📦 Quick Start | 📃 Core Documentation | 💬 Join Community
🔥 Updates and Installation
Latest Version: v1.0.0 (📄 Changelog)
- Download: Visit the Release page to get the latest version.
- Launcher: Mailauncher (MacOS only, still in early development).
| Branch | Description |
|---|---|
main |
✅ Stable release (recommended) |
dev |
🚧 Development testing branch with new features, may be unstable |
📚 Deployment Guide
💬 Discussion and Community
We welcome everyone interested in MaiBot to join us.
| Category | Group | Description |
|---|---|---|
| Technical | MaiBrain EEG | Technical discussion / Q&A |
| Technical | MaiBrain MRI | Technical discussion / Q&A |
| Technical | Mai Wants to Be a VTuber | Technical discussion / Q&A |
| Casual Chat | Mai Casual Chat Group | Casual chat only, no support |
| Plugin Development | Plugin Dev Group | Advanced development and testing |
📚 Documentation
Note
Some content may not be updated promptly, so please pay attention to version compatibility.
- 📚 Core Wiki Documentation: The most comprehensive documentation hub for everything about MaiSaka.
🧩 Related Projects
- Amaidesu: Let MaiSaka stream on Bilibili.
- MoFox_Bot: An enhanced fork based on MaiCore 0.10.0, with improved stability and more fun features.
- MaiCraft: Let MaiSaka accompany you in Minecraft (currently paused).
💡 Design Philosophy
SengokuCola says:
- This project originally started as a few extra features for the NiuNiu bot, but it kept growing until a full rewrite became inevitable. The goal was to create a "life form" active in QQ group chats, not a feature-complete bot, but something as human-like and real-feeling as possible.
- The core design principle is: "more lifelike, not merely better."
- If people truly want AI companionship, not everyone needs a perfect "helpful assistant" that solves every problem. Some people may want a life form that can make mistakes and has its own perceptions and thoughts.
xxxxx says: Code is open, but the soul is yours.
🙋 Contributing and Acknowledgments
Contributions are welcome. Please read the Contribution Guide first.
🌟 Contributors
❤️ Special Thanks
- Sacabambaspis: SengokuCola's favorite creature.
- 略nd: Drew MaiSaka's beautiful early character design.
- NapCat: A modern NTQQ-based bot protocol implementation.
📊 Repository Status
Star History
📌 Notice & License
Important
Please read the End User License Agreement (EULA) and Privacy Policy before use. Please evaluate AI-generated content carefully.
License: GPL-3.0