← all repositories
Syan-Lin/CyberWaifu

Your AI waifu runs on QQ and knows what time it is

A Chinese QQ bot that bolts memory, TTS, and real-time awareness onto LLMs to simulate something like a persistent character.

1.1k stars Python AgentsChat Assistants
CyberWaifu
Velocity · 7d
+0.9
★ / day
Trend
steady
star history

What it does CyberWaifu is a QQ chatbot that wraps ChatGPT or Claude in a persistent persona. It speaks via edge-tts or Azure, remembers past conversations through a local vector database, and can search the web when it decides it needs to. The whole thing rides on go-cqhttp to plug into Tencent’s QQ protocol.

The interesting bit The “reality awareness” hook: the bot checks the actual clock and simulates daily routines—sleeping at night, noticing when you’ve been gone for hours. It’s a cheap trick that works surprisingly well for immersion, though the README admits this part is “temporarily unstable.” The preset “thinking chain” also nudges the LLM to decide on its own whether to drop an emoji, send a sticker, or go look something up.

Key highlights

  • Long-term memory via auto-summarized dialogue + manual memory batch imports for richer character backstory
  • Pluggable TTS: edge-tts and Azure Speech are in; VITS and Bark are on the roadmap
  • Web search via Google Serper (1,000 free calls) with autonomous decision-making on when to search
  • Character templates and custom prompts dropped into a folder—no code edits needed
  • Private QQ chats only; group chat is explicitly not supported

Caveats

  • Setup is manual and Windows-centric: ffmpeg goes in a specific subfolder, PATH variables need editing, and a local sentence-transformer model must be downloaded and unzipped for Claude users
  • The README warns that reality-aware behavior is currently unstable
  • Search results are heavily truncated due to context-length limits, so it only fetches “simple factual information”

Verdict Worth a look if you want to self-host a persistent character bot on QQ and don’t mind wrangling go-cqhttp configs. Skip it if you need group chat, a clean Docker deploy, or reliable uptime—the project is very much a hobbyist glue job with rough edges visible in the docs themselves.

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