Telegram Search exports and fuzzy-searches Telegram chat history, with vector embedding, multi-language tokenization, and a CLI/Docker deployment flow. It supports per-profile configuration, chat and message listing, and export with date ranges.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
Telegram Search exports and fuzzily searches Telegram chat history. It provides multi-language tokenization, vector embedding for search, and RAG-style QA features. The project includes a CLI/Agent mode and Docker deployment options.
How it works
The repository exposes a local-first CLI and an Agent that coordinates pulling chats and messages, performing exports, and writing results to a profile-specific PGlite datastore. It supports date-range filtering, chat-type filtering, and embedding+tokenization during export for enhanced search.
Getting started
Rapid starts are available via the CLI and Docker workflows:
- CLI setup and usage shown in the README:
pnpm run build:packages pnpm -F @tg-search/cli build pnpm cli --profile work profile configure --apiId 123456 --apiHash abcdef pnpm cli --profile work auth login pnpm cli --profile work chats list --json pnpm cli --profile work sync --takeout --chat 123456 --from 2026-01-01 --to 2026-12-31 pnpm cli --profile work export --from 2026-01-01 --to 2026-12-31 --output ./telegram-2026 - Docker Compose:
mkdir telegram-search cd telegram-search curl -L https://raw.githubusercontent.com/groupultra/telegram-search/refs/heads/main/docker/docker-compose.yml -o docker-compose.yml curl -L https://raw.githubusercontent.com/groupultra/telegram-search/refs/heads/main/docker/.env.example -o .env curl -L https://raw.githubusercontent.com/groupultra/telegram-search/refs/heads/main/docker/init.sql -o init.sql docker compose -f docker-compose.yml up -d - Docker Image:
docker run -d --name telegram-search -p 3333:3333 ghcr.io/groupultra/telegram-search:latest
Environment variables cover database type, connection URL, Telegram API credentials, proxy, and MinIO configuration. The README provides specifics for each variable and usage.
Recent releases
Latest release is v1.2.8 (2026-06-29) with no significant changes listed. Previous: v1.2.7 (2026-06-28) added dialog range fetching for full message retrieval; v1.2.6 (2026-05-14) bug fixes for web context menu; v1.2.5 (2026-04-10) added chat-type filtering. See release notes for details.
Traction
Stars: 4044 Forks: 268 Open issues: 51
Behind the repo
This project provides a Telegram search/export tool with an AI-enabled search workflow and vector embeddings, hosted as a TypeScript codebase, with Docker and CLI deployment options.
Caveats
License: AGPL-3.0. Created 2025-02-08, last push 2026-08-02. Open issues: 51. Features include exporting to PGlite and PostgreSQL, media backup to MinIO, and privacy-bound syncing with explicit user consent. Exported data excludes media binaries and login sessions when describing export contents.






