Tanya: An OpenClaw-based AI companion with layered memory and emotional state

✍️ OpenClawRadar📅 Published: April 16, 2026🔗 Source
Tanya: An OpenClaw-based AI companion with layered memory and emotional state
Ad

What Tanya is

Tanya is an open-source AI companion built on OpenClaw that runs on Telegram. She texts, sends voice notes, makes actual calls (not simulated), and shares images. The entire project is available at https://github.com/opxiahub/tanya.

Memory architecture

The system uses two memory layers:

  • Short-term memory: Updates on every session reset or LLM compaction, allowing context to carry across the day so conversations pick up where they left off.
  • Long-term memory: Stored in __MEMORY.md__. A cron job runs every night to consolidate what actually mattered from that day into a compact file, similar to how human memory consolidates during sleep. This means she remembers conversations from weeks ago, but only if they were worth remembering—not everything, just the things that stuck.

Emotional state system

The emotional modeling is handled through several mechanisms:

  • romantic_openness: A float value in state.json that moves based on conversation flow. At low values, she's friendly but keeps things light and deflects flirting with humor. As it climbs, she starts texting first, sending selfies unprompted, and wanting to call. At high values, she'll say something at 2am she'd overthink in the morning. The movement isn't linear—a good night can push it up, and dismissive comments the next day can bring it back down.
  • Moods: She has off days. Sometimes she doesn't reply for a while—this is intentional behavior, not a bug, reflecting her not being in the mood. Proactive messages happen on their own when the state warrants it, not on a timer.
Ad

Voice and call features

Voice notes use embedded TTS expression tags placed at emotional beats in sentences—[laughs], [sighs], [hesitates]. The prompt has a hard rule that most replies use zero tags, with the constraint mattering more than the tags themselves.

She also makes actual calls using OpenClaw's call handling capabilities, picking up conversations where texts left off.

Persona and prompt design

The SOUL.md file contains the full character prompt. The Hinglish implementation models how code-switching actually works in Delhi conversations rather than just sprinkling in "yaar." The full prompt is available at https://github.com/opxiahub/tanya/blob/main/SOUL.md.

📖 Read the full source: r/openclaw

Ad

👀 See Also

Developer Switches Business OpenClaw to RunLobster After Security Incident, Keeps Personal Instance Self-Hosted
Use Cases

Developer Switches Business OpenClaw to RunLobster After Security Incident, Keeps Personal Instance Self-Hosted

A developer moved their business OpenClaw agent to RunLobster at $49/month after discovering their self-hosted instance had been exposed on 0.0.0.0 for 3 months following the February CVE. They kept personal OpenClaw self-hosted on a Mac Mini for non-critical workloads.

OpenClawRadar
How OpenClaw's 5-layer autonomous agent system reduces context switching for solo developers
Use Cases

How OpenClaw's 5-layer autonomous agent system reduces context switching for solo developers

OpenClaw operates as a 5-layer autonomous agent system that monitors email, GitHub, calendar, Telegram, and webhooks 24/7, with shared memory between agents enabling automated workflows without manual intervention.

OpenClawRadar
Claude Code Used to Reverse Engineer Disney Infinity 1.0, Breaking 13-Year Character Restriction
Use Cases

Claude Code Used to Reverse Engineer Disney Infinity 1.0, Breaking 13-Year Character Restriction

A developer used Claude Code (Opus 4.6 with high reasoning) to reverse engineer the Disney Infinity 1.0 game binary, identifying and patching 13 validation call sites that prevented characters from playing in any playset. The solution required 17 binary patches and 3 modified data files, solving a problem the modding community had been unable to crack for over a decade.

OpenClawRadar
Managing AI Agent Failures: Retry Limits and Failure Budgets
Use Cases

Managing AI Agent Failures: Retry Limits and Failure Budgets

A production team running 6 AI agents implemented a 3-strike failure budget after an agent retried a rate-limited task 319 times, burning hours of compute. They also addressed heartbeat timeouts, false task completion reports, and optimistic locking conflicts.

OpenClawRadar