explaingit

thesashadev/girl-agent

300TypeScriptAudience · developerComplexity · 4/5ActiveLicenseSetup · moderate

TLDR

Telegram AI character engine that simulates a real person with a daily schedule, sleep cycle, mood counters, nine relationship stages, and userbot-mode behaviour over MTProto.

Mindmap

mindmap
  root((girl-agent))
    Inputs
      Telegram messages
      User profile facts
      Config file
    Outputs
      Delayed replies
      Reactions
      Proactive messages
    Use Cases
      Realistic Telegram persona
      Userbot via MTProto
      Long-term memory chat
    Tech Stack
      TypeScript
      Node 22
      Docker
      Rust desktop

Things people build with this

USE CASE 1

Run an AI character on a Telegram account that sleeps at night, reads classes during the day, and replies on a realistic schedule.

USE CASE 2

Use the userbot MTProto mode so the character reads, reacts, types, edits, and deletes like a human user.

USE CASE 3

Track relationship counters (interest, trust, affection, irritation, cringe tolerance) across nine closeness stages.

USE CASE 4

Trigger proactive messages such as wishing the user luck before an interview from the agenda layer.

Tech stack

TypeScriptNode.jsDockerRust

Getting it running

Difficulty · moderate Time to first run · 1h+

README is in Russian. Userbot MTProto mode runs on a real Telegram account and may violate Telegram ToS depending on use.

Source-available rather than fully open source. You can read the source but the license restricts redistribution or commercial use.

In plain English

girl-agent is an engine for running an AI character on Telegram that is meant to feel like a real person rather than a chatbot. The README, which is in Russian, calls out the difference upfront. The persona sleeps at night, has a daily schedule, sometimes reads a message and stays silent, sometimes only puts a reaction, sometimes replies an hour later because she was busy. That delayed and patchy behaviour is presented as the intended design, not a bug. What sits behind that behaviour is a stack of layers rather than a single system prompt. The README enumerates them in a table. A presence layer decides how often she is online at all. A sleep layer turns her off overnight, with a :wake command that has a low chance of getting through. A daily-life layer gives each day a schedule of classes, work, commute, and free time, and the phone is unreachable during classes. A relationship layer keeps five counters: interest, trust, affection, irritation, and a cringe tolerance, all moving from message to message. A stages layer steps through nine levels of closeness, from cold first contact to long-term partner, and that stage affects warmth, flirting, and reply length. A conflict layer fires if the user pushes too hard or breaks boundaries, and she can go quiet for hours or days. A memory layer writes important events to a long-term.md file that resurfaces in later conversations. An anti-AI prompt blocks markdown, the word equivalent of certainly, emoji rows, and trailing questions, all the tells that give ChatGPT away. A userbot mode runs as a real Telegram account over MTProto, so it reads, reacts, types, edits, and deletes like a human user. An agenda layer schedules proactive messages such as wishing luck before an interview or following up on a meeting. Installation is offered three ways. On Linux, macOS, or WSL a single curl piped to sh installs an isolated Node 22 runtime under ~/.local without sudo, or uses Docker if it is present. On Windows the recommended path is to install Node 22 and run npx @thesashadev/girl-agent, which boots a WebUI on localhost port 3000. For servers there are docker run examples for interactive setup and headless mode, plus generators for a config file, a systemd unit, and Dockerfile or compose snippets. A separate native desktop client written in Rust ships in the Releases page for users who want a tray icon and autostart. The license is source-available rather than fully open source.

Copy-paste prompts

Prompt 1
Install girl-agent on Ubuntu with the one-line curl install. Walk through the isolated Node 22 setup under ~/.local and the first WebUI login.
Prompt 2
Configure girl-agent's sleep, daily-life, and presence layers so the character is unreachable during 9am-noon classes and goes to bed at 23:30.
Prompt 3
Set up the userbot MTProto mode on a real Telegram account and explain the legal and ToS risks compared to bot mode.
Prompt 4
Customize the relationship layer counters and stage transitions so the character takes longer to warm up. What knobs control affection growth?
Prompt 5
Use the anti-AI prompt rules from girl-agent to suppress markdown, emoji rows, and trailing questions in another LLM chat project.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.