pinganbbOvO/ai-companion-kit
给你的 AI 一副身体,和一点人味 —— 会记事、会看场合的 QQ 陪聊 + 能控制安卓手机的 MCP
What it solves
AI assistants today are strong at answering, but they feel robotic: replies arrive all at once, they don't remember who you are across conversations, and they have no way to act on your phone or post to social platforms. This project fixes two gaps: it makes an AI feel more human (memory of people, realistic typing delays, knowing when to stay silent) and gives it a pair of hands (controlling a real phone via adb, posting to QQ Zone on its own initiative).
How it works
The kit is split into independent packages that can be used together or alone:
- ai-companion — it remembers things about each person (stored by person, not by chat session), writes a diary (kept separate from memory, only recent entries fed into context), types like a human (typing time, splitting messages, pauses, slower at night), and decides whether to speak or stay quiet (with rules like “only wake on @”, “silent in group unless name is called”).
- phone-mcp — exposes 34 MCP tools to the AI, letting it tap, swipe, type Chinese, take screenshots, record screen, and combo actions, all over adb (works on real devices or emulators). It can also control NetEase Cloud Music.
- qzone + qzone-mcp — allows the AI to post to QQ Zone on its own, with six tools: post (text + up to 9 images), view own posts, view friends' feeds, view another user's posts, like, and comment (with strict rate limits). A one-click script (
npm run qzone) checks the gateway, validates the setup, and appends a paragraph to the role card that defines when the AI may post. - own-life (included in the kit) — silently pokes the AI every 2.5 hours (but not between 3:00–8:00, max 6 times a day) so the AI can decide to post a QQ Zone update or write a diary entry on its own. It saves state so restarts don't trigger a flood of messages.
The kit comes with an easy installer: double-click tools/安装.bat on Windows to check Node, download the QQ bridge, install dependencies, and generate a config.json (you only fill in your QQ ID, her QQ ID, and a gateway token). Node.js and a QQ gateway (SnowLuma) must be installed separately (the README points to a guide with screenshots).
Who it's for
- Non-programmers who want a QQ companion that feels alive (memory, human-like typing, diary) and can even post to QQ Zone. The README explains how to ask any AI desktop app (DeepSeek, ChatGPT, Cursor) to install it for you.
- People with some command-line comfort who want to get a basic chat-only setup running in about 15 minutes.
- Programmers who want full control: the README includes a detailed tutorial with voice recognition, phone control, music listening, diary, and anti-rate-limit tips (chapter 13 warns about hitting Tencent rate limits at 20 messages/minute — don't skip it).
Highlights
- Memory per person — AI remembers facts about each contact separately, and it carries them across group chats and DMs (example: a fact said in a group is also recalled in private chat).
- Human-like typing — it shows “typing…” indicators, sends messages in segments with pauses, and types slower at night.
- Wake strategy — fully configurable: react to @, pokes, owner’s messages, keywords, or stay silent in groups unless called by name.
- Diary with personality — the AI writes its own journal (1–4 sentences, first person) directly from its role card, recent context, and previous diary entries — avoiding repetitive “today was fulfilling” filler. You can also add entries manually.
- Self-driven QQ Zone posts — the AI decides when to post naturally (not a scheduled bot). It can post images from a whitelist directory only, and it has no delete or block capability — the README says this is a deliberate safety choice.
- Safe phone control — it can tap, swipe, type, screenshot, record, and run combo actions, but the README strongly warns against using it on a phone with payment or banking apps; use an emulator or a spare device.
- All data is local plain text — memory is JSON, chat flow is JSONL, diary is JSONL plus a Markdown file per day. You can always read, edit, grep, or back up.
- Each layer is independently usable — you can use just the companion, just the phone control, or only the QQ Zone posting.
(Note: This explainer is based solely on the README; all features described appear there.)
Related
- Project
- Project
- Project
- Project