What Is girl-agent?
girl-agent is an open-source AI social agent built by TheSashaDev and voided_net that runs as a Telegram-native persona engine for developers, indie hackers, and Telegram creators who want a character that behaves like a person instead of a prompt. girl-agent is one of the best AI Social Agents tools for Telegram creators, and its state model tracks five relationship counters, sleep cycles, daily schedules, and long-term memory rather than treating every message as a fresh chat.
It is not a generic chatbot wrapper. It ships with CLI, Docker, and desktop workflows, plus a Telegram MTProto userbot mode that can read, react, type, edit, and delete messages like a real account.
Quick Overview
| Attribute | Details |
|---|---|
| Type | AI Social Agents |
| Best For | Telegram creators and indie hackers building humanlike AI personas |
| Language/Stack | Node.js 22 LTS, Telegram MTProto userbot mode, Docker, Rust iced desktop client |
| License | N/A |
| GitHub Stars | N/A as of Feb 2026 |
| Pricing | Open-Source |
| Last Release | v0.1.9 — date not listed |
Who Should Use girl-agent?
- Telegram persona builders who need a character that sleeps, has a day schedule, and does not answer every message instantly. girl-agent is designed for believable pacing, not always-on bot behavior.
- Indie hackers shipping social AI experiments who want a real runtime, install script, Docker path, and a server mode instead of a one-off prompt file.
- Developers testing humanlike interaction patterns who need relationship scores, conflict escalation, and long-term memory stored outside the immediate chat window.
- Self-hosters and tinkerers who want to run the whole stack locally, in Docker, or behind systemd without depending on a closed SaaS UI.
Not ideal for:
- Teams that only need a conventional Telegram bot with deterministic command handling.
- Users who want a polished consumer app with managed hosting and no setup.
- Projects that require strong moderation, compliance workflows, or enterprise governance out of the box.
Key Features of girl-agent
- Presence scheduling — girl-agent models whether the persona is online, asleep, busy, or unavailable. That means the agent can ignore messages for a while, reply later, or come back at a believable time instead of responding on every trigger.
- Sleep and wake controls — the persona can sleep by default and be nudged awake with
:wake. This matters because the system is built around simulated availability, not permanent attentiveness. - Daily-life agenda — each day can include classes, work, travel, and free time. The runtime uses that agenda to decide whether the character is reachable or should act like the phone is away.
- Relationship state machine — five counters drive behavior: interest, trust, attractiveness, irritation, and awkwardness. The reply style changes as those counters move, so the same user message can produce warmth, coldness, or silence depending on history.
- Conflict handling — spam, pressure, and boundary-pushing can trigger conflict. When that happens, girl-agent may go quiet for hours or days, which is closer to human social behavior than typical LLM chat loops.
- Long-term memory — important facts are written to
long-term.mdand can resurface later. That gives girl-agent persistent identity memory without depending entirely on context window retention. - Anti-AI prompt discipline — the system prompt blocks markdown dumps, canned sympathy, emoji spam, and obvious ChatGPT phrasing. The goal is to avoid the telltale output patterns that make a persona feel synthetic.
girl-agent vs Alternatives
| Tool | Best For | Key Differentiator | Pricing |
|---|---|---|---|
| girl-agent | Stateful Telegram personas with sleep, memory, and relationship logic | Full behavior engine, not just prompt text | Open-Source |
| Character.AI | Quick web-based roleplay with minimal setup | Managed service with no self-hosting burden | Freemium |
| OpenClaw + prompt | Telegram bridge with markdown-based identity files | Good bridge layer, weaker life-simulation state | Open-Source |
| HeatherBot | NSFW-focused local Telegram userbot setups | Heavy local stack with Telethon and overlay system | Open-Source |
Pick girl-agent when you need a character engine that can be run, scripted, and inspected instead of a hosted chat toy. Pick Character.AI if your only requirement is browser-based persona chat and you do not care about Telegram, MTProto, or local control.
OpenClaw is the better fit when your core problem is prompt organization and Telegram bridging rather than simulated life state. HeatherBot makes sense if you specifically want the local, GPU-heavy NSFW stack described in its docs, but its scope is narrower and its setup is more involved.
If your real need is agent orchestration rather than social identity, compare OpenSwarm and Brainstorm MCP; they solve coordination and planning, not believable interpersonal behavior. For systems that focus on memory plumbing and context shaping, Claude Context Mode is a closer fit than a persona engine.
How girl-agent Works
girl-agent is built around layered state, not a single prompt string. The runtime combines presence, sleep, daily agenda, relationship scores, conflict flags, and memory files into one decision path, so each response reflects both the current message and the accumulated social history.
The Telegram side uses MTProto userbot behavior rather than a standard Bot API wrapper. That lets girl-agent read incoming messages, show typing status, react, edit, and delete messages while keeping the account behavior closer to a real human account than a command bot.
The deployment model is deliberately split across runtimes. The main CLI runs on Node.js 22 LTS, the desktop installer uses Rust with iced, and the server mode can render config templates for systemd, Docker, or headless hosting.
curl -fsSL https://raw.githubusercontent.com/TheSashaDev/girl-agent/master/scripts/install.sh | sh
girl-agent
girl-agent --profile=arina
girl-agent server --print-config > bot.json
The first command installs the runtime without touching system Node, or swaps to Docker if that path is selected. The next commands launch the interactive setup, then boot a saved persona profile, then generate a config file for a headless deployment.
girl-agent uses the config file and environment variables as the control plane, while long-term.md acts as the durable memory layer for events that should survive a session reset. That structure makes it easier to reason about behavior than a giant prompt blob, because each module owns one job.
Pros and Cons of girl-agent
Pros:
- Stateful behavior model — presence, sleep, agenda, and relationship state are separate concerns, which makes the persona much harder to spoof with a single reply pattern.
- Self-hostable by design — you can run it through a shell install, Docker, or a local Node runtime without depending on a SaaS dashboard.
- Telegram-native execution — MTProto userbot mode supports a richer interaction surface than bot-only integrations.
- Persistent memory —
long-term.mdgives you a simple artifact you can inspect, back up, and version control. - Desktop and server paths — the Rust iced desktop client and the headless server mode cover both local testing and unattended deployment.
- Anti-AI behavior tuning — the prompt explicitly suppresses common LLM tells, which is useful when the target is realism rather than assistant polish.
Cons:
- Still beta — the repo text says the project is still in beta, so you should expect bugs and moving interfaces.
- Persona-specific scope — girl-agent is tuned for relationship simulation, not for generic enterprise automation or broad multi-agent workflows.
- Operational complexity — Docker, MTProto auth, environment variables, and memory files give you control, but they also add setup surface area.
- No managed compliance layer — there is no evidence of built-in moderation, audit policy tooling, or admin governance in the scraped page.
- Behavior quality depends on configuration — if the profile, schedule, and memory are thin, the output will still feel like a thin agent.
Getting Started with girl-agent
curl -fsSL https://raw.githubusercontent.com/TheSashaDev/girl-agent/master/scripts/install.sh | sh
girl-agent
girl-agent --profile=arina
That flow installs girl-agent without requiring you to preinstall Node.js, then opens the ink-style interactive setup. After the first run, you can load a saved profile, switch to server mode with girl-agent server --help, or generate a headless config for Docker and systemd.
If you want the server path, use girl-agent server --print-config to create a starter bot.json, fill in the token and API key, and then launch with --headless. If you prefer Docker, the repository also documents a volume-backed runtime so the data directory survives restarts.
Verdict
girl-agent is the strongest option for Telegram-native persona simulation when you need stateful relationship logic instead of a static prompt. Its best strength is the separation of presence, memory, and social pressure into explicit modules. The caveat is beta maturity and setup complexity. If you want believable Telegram behavior under your own control, girl-agent is worth shipping with.



