How mai-with-u/maibot works
MaiBot is a conversational, LLM-based agent designed for human-like interaction in group chats. A typical interaction arrives through a messaging platform, is managed as a chat session, and is considered by the reasoning engine, which can use prompts, tools, and model services before sending a reply back through platform I/O. The repository also includes a WebUI for administration and distinct memory, plugin, image/emoji, and MCP capabilities. The graph emphasizes documented or indexed relationships; several subsystem links remain unverified because their implementation was not excerpted.
Main entry points: reasoning_engine.py Reasoning engine · main.py Application startup · database.py Application database · chat_manager.py Chat sessions
Components 21
Conversation runtime
- Application startup
src/main.py - Chat sessions
src/chat/message_receive/chat_manager.py - Platform I/O
src/platform_io/manager.py
Reasoning and models
- Reasoning engine
src/maisaka/reasoning_engine.py - Prompt management
src/prompt/prompt_manager.py - LLM service
src/services/llm_service.py - Model clients
src/llm_models/model_client - Tool definitions
src/llm_models/payload_content/tool_option.py
Memory and media
- Application database
src/common/database/database.py - Stored data models
src/common/database/database_model.py - Memory ingestion
src/A_memorix/core/runtime/services/ingest_service.py - Memory retrieval
src/A_memorix/core/utils/retrieval_tuning_manager.py - Image understanding
src/chat/image_system/image_manager.py - Emoji library
src/emoji_system/emoji_manager.py
Extensions
- Plugin runtime
src/plugin_runtime/dependency_pipeline.py - MCP services
src/mcp_module/manager.py
Administration
- WebUI API
src/webui/routes.py - Dashboard interface
dashboard/src/router.tsx - Configuration
src/config/config.py
Other components
- Chat participants
- Messaging platform
Connections 22
- Chat participants → Messaging platform: sends messages
- Messaging platform → Platform I/O: delivers events
- Platform I/O → Chat sessions: routes messages
src/platform_io/manager.py - Chat sessions → Reasoning engine: message handling
- Reasoning engine → Prompt management: uses prompts
- Reasoning engine → LLM service: requests generation
- LLM service → Model clients: forwards requests
src/services/llm_service.py - Reasoning engine → Tool definitions: handles tool calls
src/maisaka/reasoning_engine.py - Reasoning engine → Platform I/O: sends replies
- Application startup → Chat sessions: starts service
src/main.py - Application startup → WebUI API: starts service
src/main.py - Application startup → Plugin runtime: integrates plugins
src/main.py - Application startup → MCP services: starts service
src/main.py - Application startup → Memory ingestion: starts host
src/main.py - Memory ingestion → Application database: stores memories
src/A_memorix/core/runtime/services/ingest_service.py - Memory retrieval → Application database: retrieves records
- Image understanding → Application database: stores image records
src/chat/image_system/image_manager.py - Emoji library → Application database: stores emoji records
src/emoji_system/emoji_manager.py - Application database → Stored data models: creates schema
src/common/database/database.py - Dashboard interface → WebUI API: uses API
- WebUI API → Configuration: serves configuration
- Plugin runtime → Reasoning engine: extends agent