Skip to content

一个功能强大的 Telegram 聊天记录搜索工具,支持向量搜索和语义匹配。

License

Notifications You must be signed in to change notification settings

hahaQWQ/telegram-search

 
 

Repository files navigation

Telegram Search

一个功能强大的 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)

安装步骤

  1. 克隆仓库:
git clone https://github.com/luoling8192/telegram-search.git
cd telegram-search
  1. 安装依赖:
pnpm install
pnpm run stub
  1. 配置环境:
cp config/config.example.yaml config/config.yaml
  1. 初始化数据库:
pnpm run db:migrate
  1. 启动服务:
# 启动后端服务
pnpm run dev:server

# 启动前端界面
pnpm run dev:frontend

访问 http://localhost:3333 即可打开搜索界面。

📖 使用指南

消息采集

# 同步文件夹和会话信息
pnpm run dev:cli sync

# 监听指定会话的消息
pnpm run dev:cli watch

数据导入导出

  1. 导入历史记录:
# 导入 HTML 格式的消息记录
pnpm run dev:cli import -p <path_to_html_files>

# 跳过向量嵌入
pnpm run dev:cli import -p <path_to_html_files> --no-embedding
  1. 导出消息:
# 导出消息(支持 database 格式)
pnpm run dev:cli export

向量处理

# 处理所有消息的向量嵌入
pnpm run dev:cli embed

搜索服务

# 启动搜索服务
pnpm run dev:cli search

📚 开发文档

🚀 Star History

Star History Chart

📝 License

MIT License © 2025

About

一个功能强大的 Telegram 聊天记录搜索工具,支持向量搜索和语义匹配。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 77.1%
  • Vue 21.8%
  • Other 1.1%