
telecrawl
github.com/openclaw/telecrawl- Category
- Productivity
- Rank
- No. 1086Tools index
Previous survey · No. 1094 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- openclaw
- GitHub
- 83 stars
- Latest release
- v0.3.7
- Date
About
Telegram for Claws — OpenClaw's local-first Telegram crawler into SQLite for search, archive, and agent-readable history.
What it does
Telecrawl turns data already held by Telegram desktop applications into a queryable personal archive. It imports chats, contacts, folders, topics, messages, edits, deletions, and available media. Users can browse or search from the command line, request JSON output, and explicitly create encrypted Git-backed snapshots.
Why it's ranked here
This is a focused archival tool with unusually careful data semantics. Bounded imports merge without treating absent records as deletions, message changes become revision events, and account identity checks guard against mixing sources. Its privacy model is concrete, though encrypted backups still reveal operational metadata and omit binary media.
What's good
Normal imports and searches stay on the machine. Stable message identities, explicit tombstones, and append-only revision events preserve history across repeated imports. Machine-readable output makes the archive useful in scripts and agent workflows. Media reuse avoids fetching files already stored, while signed and notarized Homebrew binaries simplify macOS installation.
Tradeoffs
Native Postbox support is specific to Telegram for macOS, and cloud media retrieval depends on existing account authentication. Remote downloads are best effort and can remain missing, unavailable, timed out, or errored. Git backups expose table names, row counts, timing, shard sizes, and change patterns. They also exclude archived binary media and become unrecoverable if every decryption identity is lost.
How to use it well
It suits engineers, researchers, and automation users who want repeatable local searches over their own Telegram history. Run bounded imports regularly, use JSON output for downstream tools, and create tagged encrypted checkpoints before migrations. Validate restores in a temporary database. It does not replace Telegram login, cloud-media availability, or a complete off-machine backup of downloaded media.
Technical notes+
The Go module is declared in go.mod, with modernc.org/sqlite, filippo.io/age, and github.com/openclaw/crawlkit among its direct dependencies. internal/cli/cli.go implements the command dispatcher, bounded import defaults, source adoption, restore handling, staged media promotion, and JSON mode. internal/store/schema.go defines ordinary SQLite tables plus an FTS5 message index, while internal/store/store.go opens the database with foreign keys, WAL journaling, and a single connection. internal/backup/backup.go serializes table-oriented JSONL shards, compresses and encrypts them through crawlkit, and supports merge or replacement restores. internal/backup/git.go commits changed snapshots and performs atomic pushes. internal/cli/cli_test.go includes coverage for bounded merges, source mismatch rejection, content-addressed media reuse, corruption checks, and symlink defenses. The Makefile defines formatting, vulnerability, static-analysis, race, secret-scanning, release, and coverage gates, including a 35 percent coverage floor.
Observed
- Primary language
- Go
- Interface
- Command-line application with human-readable and JSON output
- Storage
- SQLite archive with FTS5 message search
- Installation
- Homebrew, Go install, Docker, and source builds are documented
- Source support
- Telegram Desktop tdata and native Telegram for macOS Postbox databases
- Backup format
- Age-encrypted, gzip-compressed JSONL shards stored through Git
- Test structure
- Repository text includes Go CLI tests and Make targets for full, coverage, and race test runs
Read from README.md, go.mod, Makefile, internal/cli/cli.go, internal/backup/git.go, internal/cli/control.go, internal/cli/version.go, internal/store/store.go, internal/cli/cli_test.go, internal/store/export.go, internal/store/schema.go, internal/backup/backup.go, internal/backup/config.go, internal/backup/crypto.go, internal/backup/history.go.
What it can do
Crawl Telegram chat history
Telegram account/channels → Raw chat data
Store Telegram messages in local database
Telegram chat data → SQLite database with message history
Search archived Telegram messages
Search query and SQLite database → Filtered message results
Archive Telegram conversations locally
Telegram chat history → Local archive in SQLite format
Convert Telegram history to agent-readable format
SQLite database with Telegram messages → Structured data accessible to AI agents
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.