Tip
您是否曾因 Telegram 无法搜索中文聊天记录而苦恼?
或者想查找一条重要消息,却因消息过多而难以定位?
现在,使用 Telegram Search,您可以轻松查找和导出自己的 Telegram 消息。强大的语义搜索支持所有语言,完美应对无分词句子的检索场景。
同时支持向量搜索,实现句子级别的模糊匹配,让查找更智能、更准确。
- 支持多种数据库导出聊天记录:PGlite、PostgreSQL
- 媒体资源可自动导出至 MinIO 对象存储
- 消息导出时自动完成向量嵌入和分词处理
- 实时同步,自动拉取最新对话内容
- 智能分词精准检索,支持多语言
- 支持模糊匹配与向量语义搜索,查找更高效
- RAG 智能问答:直接与 AI 对话,基于历史上下文实时解答
- 自动生成会话总结
- 超级大脑:基于历史消息自动抽取人物与事件知识图谱
- 智能整理“已保存消息”收藏夹,更高效管理重要内容
- 链接与图片深度索引:实现网页智能摘要、图片 OCR 文字识别与智能描述,赋能搜索与内容整理
- 增加 Telegram Bot 支持,满足更多消息管理需求
- 支持扩展至 Discord 及其他社交/通讯平台,实现跨平台统一检索与备份
我们提供了一个在线体验版,无需自行部署,即可体验 Telegram Search 的全部功能。
访问以下网址开始使用:https://search.lingogram.app
Warning
本项目未发行任何虚拟货币,请警惕相关诈骗风险。
本软件仅供您导出和检索个人聊天记录使用,切勿将其用于任何违法用途。
默认使用 PGlite 作为消息数据库,如果需要使用更高性能的 PostgreSQL 数据库以及提供的 MinIO 作为媒体存储引擎,请参考下文自定义环境变量或者使用 docker compose up -d 启动全部服务。
镜像提供 latest 和 nightly 版本,请自行选择。
docker run -d --name telegram-search \
-p 3333:3333 \
-v telegram-search-data:/app/data \
ghcr.io/groupultra/telegram-search:latestImportant
AI Embedding & LLM 设置现在在应用内按账户配置(设置 → API)。
| 环境变量 | 说明 | 示例值 |
|---|---|---|
TELEGRAM_API_ID |
从 my.telegram.org 获取的 Telegram 应用 ID | |
TELEGRAM_API_HASH |
从 my.telegram.org 获取的 Telegram 应用 Hash | |
DATABASE_TYPE |
数据库类型,可选 postgres 或 pglite |
pglite |
DATABASE_URL |
PostgreSQL 连接字符串(仅在 DATABASE_TYPE=postgres 时填写) |
postgresql://postgres:123456@pgvector:5432/postgres |
PROXY_URL |
代理地址(支持如 socks5://user:pass@host:port 等格式) |
socks5://user:pass@host:port |
PORT |
后端服务 HTTP/WebSocket 监听端口 | 3333 |
HOST |
后端服务监听地址 | 0.0.0.0 |
BACKEND_URL |
Nginx 作为反向代理时用于 /api 和 /ws 的上游后端地址 |
http://127.0.0.1:3333 |
MINIO_ENDPOINT |
MinIO 服务地址(主机名或 IP) | minio |
MINIO_PORT |
MinIO 服务端口 | 9000 |
MINIO_USE_SSL |
MinIO 是否启用 SSL(true 或 false) |
false |
MINIO_ACCESS_KEY |
MinIO 访问密钥 | minioadmin |
MINIO_SECRET_KEY |
MinIO 访问密钥对应的密钥 | minioadmin |
MINIO_BUCKET |
MinIO 存储桶名称 | telegram-media |
OTEL_EXPORTER_OTLP_ENDPOINT |
OpenTelemetry OTLP 日志采集端点 | http://loki:3100/otlp/v1/logs |
使用 PostgreSQL 的示例:
docker run -d --name telegram-search \
-p 3333:3333 \
-v telegram-search-data:/app/data \
-e DATABASE_TYPE=postgres \
-e DATABASE_URL=postgresql://<host>:5432/postgres \
ghcr.io/groupultra/telegram-search:latest代理格式:
- SOCKS5:
socks5://user:pass@host:port - SOCKS4:
socks4://user:pass@host:port - HTTP:
http://user:pass@host:port - MTProxy:
mtproxy://secret@host:port
-
克隆仓库。
-
运行 docker compose 启动包括数据库、MinIO 在内的全部服务:
docker compose up -d- 访问
http://localhost:3333打开搜索界面。
git clone https://github.com/groupultra/telegram-search.git
cd telegram-search
pnpm install
cp .env.example .env
pnpm run devgit clone https://github.com/groupultra/telegram-search.git
cd telegram-search
pnpm install
cp .env.example .env
docker compose up -d pgvector minio
pnpm run server:dev
pnpm run web:dev📖 更多开发细节和架构细节: CONTRIBUTING.md
