groupultra telegram-search là một công cụ tìm kiếm nhật ký trò chuyện người dùng telegram mới.
Một vài gợi ý:
- Telegram 群组管理机器人 @CSUBOT :Có thể nhắn tin riêng cho người dùng mới, gửi mã xác minh trang web CloudFlare, để thực hiện đánh giá trước khi vào nhóm, để xác minh xem người dùng yêu cầu vào nhóm có phải là người thật hay không. Sẽ không làm phiền các thành viên khác trong nhóm.
- 查询本机访问不同网站的公网 IP ,có thể phát hiện cấu hình phân luồng proxy, tránh bị công cụ AI khóa tài khoản. Bạn có thể xem người dùng truy cập trang web Trung Quốc, trang web AI nổi tiếng quốc tế, trang web quốc tế bị chặn và IP được sử dụng bởi các trang web quốc tế có thể truy cập được
项目特点
Theo tài liệu chính thức, Telegram Search cung cấp các chức năng cốt lõi sau:
- 语义搜索:Không chỉ có thể tìm kiếm từ khóa mà còn có thể hiểu ngữ cảnh và ý nghĩa của tin nhắn
- 向量匹配:Dựa trên công nghệ vectơ nhúng của OpenAI để thực hiện tìm kiếm tương tự
- 高效检索:Trải nghiệm truy xuất chính xác hơn, thông minh hơn so với tìm kiếm gốc của Telegram
- 多平台支持:Cung cấp giao diện Web và ứng dụng máy tính để bàn
劝退
Trước hết, hãy liệt kê một số nội dung khác biệt đáng kể so với mong đợi của người dùng, cũng như một số vấn đề hiện tại, để ngăn cản một số người dùng không phù hợp với dự án này. Đồng thời đưa ra các đề xuất sử dụng các dự án trưởng thành khác.
Sự khác biệt giữa dự án này và các dự án truyền thống không sử dụng AI khác là tìm kiếm ngữ nghĩa (không chỉ có thể tìm kiếm từ khóa mà còn có thể hiểu ngữ cảnh và ý nghĩa của tin nhắn). Tuy nhiên, hiện tại tôi đã thử một số truy vấn, cho dù có chọn tùy chọn cài đặt “Tìm kiếm nội dung” trong hộp tìm kiếm hay không, về cơ bản không thể tìm kiếm bằng câu hỏi (chỉ có một câu); không thể tìm kiếm bằng từ đồng nghĩa. Chỉ có thể tìm thấy các tin nhắn có kết quả và truy vấn có các từ chung. Không chắc chắn có phải là vấn đề của embedding model hay không.
Các lệnh thường được sử dụng để triển khai và chạy giao diện người dùng và phần phụ trợ cần phải được biên dịch. Đối với những người dùng quen với các ngôn ngữ lập trình không cần biên dịch trước và những người dùng quen với tốc độ biên dịch nhanh, thời gian chờ đợi của dự án này hơi dài.
Khi mở giao diện người dùng và sau đó làm mới nó sau một khoảng thời gian, giao diện người dùng sẽ hiển thị màn hình trắng như hình dưới đây. Mỗi lần cần khởi động lại, pnpm run dev:frontend
, và phải đợi biên dịch. Triển khai trên máy chủ, mỗi lần sử dụng, hoặc nói cách khác, mỗi lần trước khi truy vấn, bạn phải kết nối với máy chủ để biên dịch một lần, điều này thực sự rắc rối.

Tóm lại, các vấn đề trên có nghĩa là groupultra telegram-search, với tư cách là một dự án tìm kiếm tin nhắn lịch sử telegram, hiện tại không tốt bằng các dự án truyền thống trưởng thành khác khi sử dụng. Các dự án khác được đề xuất:
落絮 lilydjwg/luoxu:一个用于索引中文和日文群组内容的 Telegram 用户机器人。 — A Telegram userbot to index Chinese and Japanese group contents. , được phát triển bởi Yiyun từ cộng đồng archlinux cn, dự án đã hoạt động ổn định trong nhiều năm, hãy xem hiệu quả thực tế: 公开的群组消息记录搜索网页 . Các tính năng của dự án:
- Dự án chủ yếu sử dụng python, không cần đợi biên dịch. Mặc dù có các thành phần cần biên dịch, nhưng chúng chỉ cần biên dịch một lần
- Chuỗi tìm kiếm không phân biệt chữ giản thể và phồn thể (sẽ tự động chuyển đổi bằng OpenCC)
- Chuỗi tìm kiếm hỗ trợ một số cú pháp tìm kiếm
- Tài nguyên cần thiết để chạy thấp hơn một chút so với groupultra/telegram-search
Vấn đề của Luoxu:
- Việc cài đặt và triển khai có thể rắc rối hơn một chút so với dự án groupultra/telegram-search. (Đây là so sánh giữa việc triển khai thực tế hai dự án của tôi. Vì tôi triển khai luoxu trên hệ thống Linux arm32, tất cả các phụ thuộc của tôi để triển khai luoxu đều được biên dịch và cài đặt hoàn toàn, bao gồm cả PostgreSQL: Linux 编译安装 PostgreSQL 17.4 )
- Mã mặc định chỉ có thể lập chỉ mục các tin nhắn nhóm và kênh được viết trong tệp cấu hình, tất nhiên bạn có thể sửa đổi mã theo cách thủ công
部署前提与要求
- AI có thể sử dụng như Google Gemini, OpenAI, v.v.
- Node.js: Phiên bản 20.0 trở lên
- RAM: Ít nhất 100 MB
- Mạng có thể truy cập Internet quốc tế
Hướng dẫn này sử dụng Google Gemini hoàn toàn miễn phí, API trực tuyến không chiếm tài nguyên tính toán cục bộ. Giới thiệu về ứng dụng: Gemini API KEY 申请及使用
Tôi triển khai trên máy chủ quốc tế Linux amd64, không sử dụng Docker, các môi trường hệ điều hành khác chỉ mang tính tham khảo
Vui lòng so sánh tài liệu chính thức khi thực hiện theo hướng dẫn này.
快速入门
Theo tài liệu chính thức, quy trình cơ bản để sử dụng Telegram Search như sau:
- 安装与配置: Cài đặt ứng dụng và cấu hình API cần thiết
- 连接 Telegram 账号: Đăng nhập vào tài khoản Telegram của bạn
- 同步聊天记录: Chọn lịch sử trò chuyện cần đồng bộ hóa để tìm kiếm
- 开始搜索: Sử dụng chức năng tìm kiếm ngữ nghĩa để tìm tin nhắn
安装与配置
安装 Node.js
Truy cập Node.js 官网 để xem tài liệu và cài đặt. Nên sử dụng phiên bản LTS mới nhất, sau khi cài đặt xong, hãy sử dụng hai lệnh sau để xác nhận phiên bản:
node -v
v22.16.0
npm --version
10.9.2
Vì dự án sử dụng pnpm nên hãy cài đặt nó. Tài liệu chính thức: Installation | pnpm , lệnh thực tế hiện tại:
curl -fsSL https://get.pnpm.io/install.sh | sh -
Theo lời nhắc
source /home/opc/.bashrc
安装 PostgreSQL 数据库和插件 pgvector
Hãy nhớ cài đặt PostgreSQL và plugin pgvector. Lưu ý rằng nội dung của phần này có thể không đầy đủ
Lưu ý rằng các hệ thống CentOS và redhat khác sử dụng các lệnh cài đặt này. Khi hoạt động, hãy chắc chắn tham khảo các bài viết khác trên Internet và các đề xuất của AI.
Cài đặt gói cấu hình kho lưu trữ YUM chính thức của PostgreSQL
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Phiên bản tôi chọn là 13, bạn có thể chọn phiên bản mới hơn. Vì tôi đã cài đặt PostgreSQL 13 trước đây, nên lệnh cụ thể không chắc chắn. Bây giờ
Tìm kiếm các gói có sẵn liên quan đến pgvector
trong nguồn YUM
sudo yum search pgvector
Cài đặt
sudo yum install -y pgvector_13
sudo systemctl status postgresql-13
Khởi tạo thư mục dữ liệu PostgreSQL 13 (phải được thực hiện sau lần cài đặt đầu tiên).
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Khởi động lại dịch vụ PostgreSQL 13 để các thay đổi có hiệu lực.
sudo systemctl restart postgresql-13
Chuyển sang người dùng quản trị viên cơ sở dữ liệu postgres
.
sudo -i -u postgres
Khởi động ứng dụng khách dòng lệnh PostgreSQL.
psql
Đặt mật khẩu đăng nhập cho người dùng postgres
.
ALTER USER postgres WITH PASSWORD '您的数据库密码';
Kết nối với PostgreSQL thông qua máy chủ cục bộ với tư cách là người dùng postgres
và được nhắc nhập mật khẩu.
psql -U postgres -h localhost --password
Thoát psql
exit
Sau đó, quay lại người dùng hệ thống ban đầu,
exit
Thử vào cơ sở dữ liệu
psql -U postgres -h localhost --password
CREATE DATABASE tg_1;
CREATE EXTENSION IF NOT EXISTS vector;
配置项目并启动
Vì Google Gemini API có giới hạn tốc độ, tôi đã thực hiện một số sửa đổi:
git clone -b rate https://github.com/cjh0613/groupultra-telegram-search.git
Lưu ý rằng nhánh tốc độ hiện tại này được sửa đổi hoàn toàn trên trang web Github và không có thử nghiệm cục bộ nào được thực hiện.
Các sửa đổi giới hạn tốc độ có thể chạy thành công trên máy của tôi dựa trên bản phát hành này: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f, chỉ để đảm bảo rằng mã có thể chạy mà không có lỗi. Nếu mã của bạn không chạy, vui lòng thử hoàn nguyên các sửa đổi của dự án chính thức sau commit này.
Nếu API bạn đang sử dụng không có giới hạn tốc độ, bạn có thể sử dụng trực tiếp kho lưu trữ chính thức
git clone https://github.com/groupultra/telegram-search.git
Sao chép tệp cấu hình config\config.example.yaml
thành tệp config\config.yaml
cùng thư mục.
Tham khảo định dạng sau để sửa đổi trực tiếp tệp cấu hình, các phần khác tham khảo mô tả tệp cấu hình mặc định để sửa đổi.
Ứng dụng telegram api yêu cầu ip chất lượng tốt, nếu bạn không thể đăng ký thì hãy sử dụng của tác giả, không cần sửa đổi. Điều này dành cho ứng dụng khách của bên thứ ba, không phải bot telegram.
database:
# Database type: postgres, pglite
type: postgres
# PostgreSQL configuration (used when type: postgres)
# Can use URL or separate field configuration
# url: postgres://postgres:postgres@localhost:5432/tg_search
host: localhost
port: 5432
user: postgres
password: '您的数据库密码'
database: tg_1
api:
embedding:
# Embedding provider (openai or ollama) # 这里不要改为 Gemini
provider: openai
# Embedding model
model: models/text-embedding-004
# gemini-embedding-exp-03-07
# API key for provider
apiKey: <您获取的 Gemini API KEY>
# Gemini embedding-001 默认输出 3072 维,不能自定义维度
dimension: 768
# Optional, for custom API providers
apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# 启动后端服务
pnpm run dev:server
# 另一个终端窗口中启动前端界面
pnpm run dev:frontend
Kiểm tra xem giao diện người dùng có thể truy cập thành công hay không:
curl http://localhost:3333/
Nếu đó là máy cục bộ, hãy mở trình duyệt và truy cập http://localhost:3333
để sử dụng ứng dụng
Nếu đó là thiết bị từ xa, bạn chỉ cần mở cổng của giao diện người dùng để truy cập. Nhưng bạn không thể trực tiếp hiển thị nó trên mạng công cộng, nếu không bất kỳ ai cũng có thể thao túng tài khoản telegram của bạn. Bạn cần tự cấu hình quyền truy cập, có rất nhiều giải pháp cho việc này.
Ngoài ra, để truy cập tên miền, bạn có thể cần sửa đổi apps\frontend\vite.config.ts
để thêm
allowedHosts: ['您访问的域名']
Để biết các nội dung khác, vui lòng xem tài liệu chính thức.
本网页的其他版本
Trang web này có nhiều phiên bản ngôn ngữ.
Nếu bạn muốn đăng bình luận, vui lòng truy cập các trang web sau:
Các trang web này chỉ hỗ trợ duyệt, không thể đăng bình luận hoặc tin nhắn, nhưng cung cấp nhiều tùy chọn ngôn ngữ hơn và thời gian tải ngắn hơn:
ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO