← all repositories
Mai-with-u/MaiBot

A QQ bot that tries to be human, not helpful

MaiBot trades efficiency and correctness for warmth, awkwardness, and the occasional ill-timed silence.

5.1k stars Python AgentsChat Assistants
MaiBot
Velocity · 7d
+11
★ / day
Trend
steady
star history

What it does MaiBot is a Python-based LLM agent built for QQ group chats. Instead of answering questions or running commands, it hangs out: it reads the room, chimes in when it feels right, stays quiet when it doesn’t, and gradually builds a psychological profile of you based on personality theory. It learns slang, mimics how others talk, and forgets the idea of being a “helpful assistant.”

The interesting bit The project’s stated design principle is “more lifelike, not merely better” — it explicitly wants to make mistakes, have its own perceptions, and avoid GPT-style markdown bullet points. The creator, SengokuCola, started this as a few extra features for another bot and ended up chasing the idea of a “digital life form.” There’s something almost deliberately anti-productivity about the whole thing.

Key highlights

  • Conversational style is casual and variable, not optimized or correct
  • Tracks user preferences, habits, and traits over time using psychology-inspired memory
  • Learns in-group slang and mimics speaking styles in multi-user chats
  • Plugin system with API and event hooks for extension
  • Active ecosystem: Bilibili streaming integration (Amaidesu), a Minecraft companion mod (paused), and community forks

Caveats

  • Documentation warns some wiki content may lag behind releases
  • MacOS launcher is early-stage only; most users deploy manually
  • dev branch exists but is explicitly unstable

Verdict Worth a look if you’re building social or companion AI and want to study an approach that optimizes for presence over utility. Skip it if you need a reliable task-oriented bot — that’s the opposite of what this wants to be.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.