一个功能强大的 Telegram 聊天记录搜索工具,支持向量搜索和语义匹配。基于 OpenAI 的语义向量技术,让你的 Telegram 消息检索更智能、更精准。
- 使用 UserBot 可能存在封号风险,请谨慎使用。
- 由于项目处于快速迭代阶段,可能会出现数据库不兼容的情况,建议定期备份数据。
-
🤖 Client 模式
- 使用 Telegram Client API 访问完整历史记录
- 支持增量同步和实时更新
- 自动处理多媒体内容和消息元数据
-
📥 数据管理
- 支持导入 Telegram 导出的 HTML 聊天记录
- 支持导出消息为 JSON 或 HTML 格式
- 支持文件夹管理和消息分类
- 支持增量同步和实时更新
-
🔍 智能搜索
- 基于 OpenAI 的语义向量搜索
- 支持自然语言查询
- 精准的相关性匹配
- 支持多种消息类型的检索
-
📊 全面的消息支持
- 文本、图片、视频、文件、贴纸等多种类型
- 完整的消息元数据(回复、转发、查看次数等)
- 支持媒体文件本地存储
- 支持消息统计和分析
-
🌐 前端界面
- 现代化的 Web 界面,基于 Vue 3 和 Tailwind CSS
- 响应式设计,支持移动端和桌面端
- 丰富的消息展示格式
- 实时搜索预览和高亮显示
- 支持消息历史记录和会话管理
- 支持暗色主题
- Node.js >= 20
- PostgreSQL >= 15(需要 pgvector 扩展)
- OpenAI API Key
- Telegram API 凭据(API ID 和 API Hash)
- 克隆仓库:
git clone https://github.com/luoling8192/telegram-search.git
cd telegram-search
- 安装依赖:
pnpm install
pnpm run stub
- 配置环境:
cp config/config.example.yaml config/config.yaml
- 初始化数据库:
pnpm run db:migrate
- 启动服务:
# 启动后端服务
pnpm run dev:server
# 启动前端界面
pnpm run dev:frontend
访问 http://localhost:3333
即可打开搜索界面。
# 同步文件夹和会话信息
pnpm run dev:cli sync
# 监听指定会话的消息
pnpm run dev:cli watch
- 导入历史记录:
# 导入 HTML 格式的消息记录
pnpm run dev:cli import -p <path_to_html_files>
# 跳过向量嵌入
pnpm run dev:cli import -p <path_to_html_files> --no-embedding
- 导出消息:
# 导出消息(支持 database 格式)
pnpm run dev:cli export
# 处理所有消息的向量嵌入
pnpm run dev:cli embed
# 启动搜索服务
pnpm run dev:cli search
MIT License © 2025