Update 24.02.2026: full synchronization between Web and Telegram

llmgirl now works as a unified system: models, characters, dialogs and conversation history are synchronized between Web and Telegram.

24.02.2026

Main point: llmgirl is now one product, not two separate versions

We completed a major internal update: the Web version and the Telegram bot now work as a single unified system. This means the model, character, conversation history and active state are fully synchronized.


What changed

1) One dialog — one history

Previously, Web and Telegram could create separate dialogs for the same conversation. Now the system uses one canonical dialog for each user + character pair.

  • messages from Web are visible in Telegram
  • messages from Telegram are visible in Web
  • conversation history is no longer split

This is the foundation for future multiple chats inside the personal dashboard.

2) The model is synchronized in both directions

If you switch the model in Telegram, Web sees it. If you switch the model in Web, Telegram immediately starts using it.

The system currently supports:

  • DeepSeek
  • OpenRouter (GPT-5.2)

Old legacy providers have been removed completely, making the logic cleaner and more stable.

3) Character selection is now one shared active state

Character switching is now stored in the shared database and reflected in the conversation history. There are no hidden changes anymore — the system state is transparent and predictable.

4) Telegram navigation became more stable

We fixed the behavior of the “Back” button. Submenus no longer loop unexpectedly, and state logic became more predictable.


Why this matters

Many AI products suffer from desynchronization: the web version lives one life, while the bot lives another. This creates confusion.

In llmgirl, there is now:

  • one state model
  • one source of truth, the database
  • one generation logic

This makes behavior predictable and scalable.


Technical summary

  • GenerationService was unified
  • Separate dialogs by channel were removed
  • model_code no longer breaks Postgres logic
  • user_states became the single source of truth for model and character state
  • automatic state synchronization through polling was added

What users get from this

  • Less confusion
  • More stable responses
  • Transparent conversation history
  • The same experience in Web and Telegram

What's next

  • Multiple chats in the personal dashboard
  • Polling optimization
  • More Active Context scenarios
  • Improved dashboard UI

This was a major infrastructure update. It is not purely visual, but changes like this make the system stable and ready to grow.

In short, we are working to make the product convenient no matter where you use it — Telegram or the Web version. The system should understand and remember you: what you discussed, which tasks you had, which character you selected and what context is currently active. The goal is full synchronization between different interfaces and platforms.

As a bonus, below is a screenshot of the current Web interface implementation, which has changed significantly during this update.


Web interface after the update
Web interface after the update

← All news Pricing