groupultra telegram-search este un nou instrument de căutare a istoricului conversațiilor utilizatorilor Telegram.
Câteva recomandări:
- Robot de gestionare a grupurilor Telegram @CSUBOT : Poate trimite mesaje private utilizatorilor noi, poate trimite coduri de verificare web CloudFlare, pentru a efectua auditarea intrării în grup, pentru a verifica dacă utilizatorii care solicită intrarea în grup sunt oameni reali. Nu va deranja ceilalți membri ai grupului.
- Verificați IP-ul public al computerului local pentru accesarea diferitelor site-uri web , poate detecta configurația de deviere a proxy-ului, pentru a evita blocarea de către instrumentele AI. Puteți vedea IP-ul folosit de utilizatori pentru accesarea site-urilor web din China, site-urilor web AI internaționale cunoscute, site-urilor web internaționale blocate și site-urilor web internaționale permise.
Caracteristici ale proiectului
Conform documentației oficiale, Telegram Search oferă următoarele funcții de bază:
- Căutare semantică: Nu numai că poate căuta cuvinte cheie, dar poate și înțelege contextul și semnificația mesajelor
- Potrivire vectorială: Bazată pe tehnologia vectorilor de încorporare OpenAI, realizează căutarea de similaritate
- Recuperare eficientă: Experiență de recuperare mai precisă și mai inteligentă decât căutarea nativă Telegram
- Suport multi-platformă: Oferă interfață Web și aplicație desktop
Descurajare
În primul rând, enumerați câteva conținuturi care sunt destul de diferite de așteptările utilizatorilor, precum și unele probleme existente, descurajând o parte dintre utilizatorii care nu sunt potriviți pentru acest proiect. Și oferă sugestii pentru utilizarea altor proiecte mature.
Diferența dintre acest proiect și alte proiecte tradiționale care nu utilizează AI este căutarea semantică (nu numai că poate căuta cuvinte cheie, dar poate și înțelege contextul și semnificația mesajelor). Cu toate acestea, în prezent, am încercat mai multe interogări și, indiferent dacă este bifată sau nu opțiunea de setare a casetei de căutare „Caută conținut”, practic nu se poate utiliza o întrebare pentru căutare (doar o propoziție poate); nu se pot efectua căutări de sinonime. Se pot găsi doar rezultate și mesaje care au cuvinte comune cu interogarea. Nu sunt sigur dacă este o problemă cu modelul de încorporare.
Comenzile folosite frecvent pentru rularea implementării front-end și back-end trebuie compilate, iar pentru utilizatorii care sunt obișnuiți cu limbaje de programare care nu necesită compilare prealabilă și limbaje de programare obișnuite cu viteze rapide de compilare, timpul de așteptare pentru acest proiect este oarecum lung.
Când deschideți front-end-ul pentru utilizare și apoi îl reîmprospătați după un timp, front-end-ul va afișa un ecran alb, după cum se arată mai jos. De fiecare dată când trebuie repornit, pnpm run dev:frontend
, trebuie așteptat compilarea. Implementarea pe server este cu adevărat supărătoare de fiecare dată când trebuie să vă conectați la server pentru a compila înainte de fiecare utilizare, sau mai bine zis, înainte de fiecare interogare.

Problemele de mai sus pot fi rezumate astfel: groupultra telegram-search, ca proiect de căutare a mesajelor istorice Telegram, este în prezent mai puțin util decât alte proiecte tradiționale mature. Alte proiecte recomandate:
落絮 lilydjwg/luoxu: Un robot utilizator Telegram pentru indexarea conținutului grupurilor chineze și japoneze. — Un bot de utilizator Telegram pentru indexarea conținutului grupurilor chineze și japoneze. , dezvoltat de Yiyun din comunitatea archlinux cn, proiectul a funcționat stabil timp de mulți ani, verificați efectul real: Pagina web publică de căutare a istoricului mesajelor de grup . Caracteristici ale proiectului:
- Proiectul folosește în principal python și nu trebuie așteptată compilarea. Deși unele componente trebuie compilate, trebuie compilate o singură dată
- Căutarea șirurilor nu distinge între caracterele simplificate și cele tradiționale (va utiliza OpenCC pentru conversie automată)
- Șirul de căutare acceptă o anumită sintaxă de căutare
- Rularea necesită mai puține resurse decât groupultra/telegram-search
Problemele lui Luoxu:
- Instalarea și implementarea pot fi mai dificile decât proiectul groupultra/telegram-search. (Aceasta este o comparație a implementării mele efective a două proiecte. Deoarece implementez luoxu pe un sistem Linux arm32, toate dependențele mele pentru implementarea luoxu sunt compilate și instalate complet, inclusiv PostgreSQL: Compilarea și instalarea Linux PostgreSQL 17.4 )
- Codul implicit poate indexa doar mesajele de grup și canal scrise în fișierul de configurare, desigur, puteți modifica manual codul
Condiții preliminare și cerințe de implementare
- AI care poate fi utilizată, cum ar fi Google Gemini, OpenAI etc.
- Node.js: 20.0 sau o versiune ulterioară
- RAM: cel puțin 100 MB
- Rețea care poate accesa internetul internațional
Acest tutorial folosește Google Gemini complet gratuit, iar API-ul online nu ocupă resurse de calcul locale. Introducere în aplicație: Aplicare și utilizare Gemini API KEY
Eu îl implementez pe un server internațional Linux amd64, nu folosesc Docker, iar alte medii de sistem de operare sunt doar pentru referință
Când operați conform acestui tutorial, vă rugăm să acordați atenție comparării cu documentația oficială.
Noțiuni de bază
Conform documentației oficiale, procesul de bază pentru utilizarea Telegram Search este următorul:
- Instalare și configurare: Instalați aplicația și configurați API-ul necesar
- Conectați contul Telegram: Conectați-vă la contul dvs. Telegram
- Sincronizați istoricul conversațiilor: Selectați istoricul conversațiilor pe care doriți să îl căutați pentru a le sincroniza
- Începeți căutarea: Utilizați funcția de căutare semantică pentru a găsi mesaje
Instalare și configurare
Instalați Node.js
Accesați Site-ul web Node.js pentru a vizualiza documentația și pentru a instala. Se recomandă utilizarea celei mai recente versiuni LTS, după instalare, utilizați următoarele două comenzi pentru a confirma versiunea:
node -v
v22.16.0
npm --version
10.9.2
Deoarece proiectul folosește pnpm, trebuie instalat. Documentația oficială: Installation | pnpm , comanda curentă reală:
curl -fsSL https://get.pnpm.io/install.sh | sh -
Conform instrucțiunilor
source /home/opc/.bashrc
Instalați baza de date PostgreSQL și pluginul pgvector
Rețineți că trebuie să instalați PostgreSQL și pluginul pgvector. Rețineți că conținutul acestei secțiuni poate fi incomplet
Rețineți că sistemele CentOS și alte sisteme redhat folosesc aceste comenzi de instalare. Când operați, asigurați-vă că consultați alte articole online și sfaturi AI.
Instalați pachetul de configurare oficial YUM repository PostgreSQL
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Versiunea pe care o aleg este 13, puteți alege o versiune mai nouă. Deoarece PostgreSQL 13 a fost instalat anterior, comanda specifică nu este sigură. Acum
Căutați pachetele disponibile legate de pgvector
în sursa YUM
sudo yum search pgvector
Instalare
sudo yum install -y pgvector_13
sudo systemctl status postgresql-13
Inițializați directorul de date PostgreSQL 13 (trebuie efectuat după prima instalare).
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Reporniți serviciul PostgreSQL 13 pentru ca modificările să intre în vigoare.
sudo systemctl restart postgresql-13
Comutați la utilizatorul administrator al bazei de date postgres
.
sudo -i -u postgres
Porniți clientul de linie de comandă PostgreSQL.
psql
Setați parola de conectare a utilizatorului postgres
.
ALTER USER postgres WITH PASSWORD 'Parola dvs. de bază de date';
Conectați-vă la PostgreSQL ca utilizator postgres
prin intermediul computerului local și solicitați introducerea parolei.
psql -U postgres -h localhost --password
Ieșiți din psql
exit
Apoi reveniți la utilizatorul inițial al sistemului,
exit
Încercați să intrați în baza de date
psql -U postgres -h localhost --password
CREATE DATABASE tg_1;
CREATE EXTENSION IF NOT EXISTS vector;
Configurați și lansați proiectul
Deoarece Google Gemini API are o limită de rată, am făcut o mică modificare:
git clone -b rate https://github.com/cjh0613/groupultra-telegram-search.git
Rețineți că ramura curentă rate branch este modificată complet pe pagina web Github și nu s-a efectuat nicio testare locală.
Modificarea limitei de rată care poate rula cu succes pe computerul meu se bazează pe această versiune: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f, doar pentru a se asigura că codul poate rula, fără erori. Dacă codul dvs. nu poate rula, vă rugăm să încercați să reveniți la modificările oficiale ale proiectului după această validare.
Dacă API-ul pe care îl utilizați nu are o limită de rată, puteți utiliza direct repository-ul oficial
git clone https://github.com/groupultra/telegram-search.git
Copiați fișierul de configurare config\config.example.yaml
în același director config\config.yaml
.
Modificați direct fișierul de configurare conform următorului format, iar restul părților se referă la descrierea fișierului de configurare implicit.
Aplicarea API-ului Telegram necesită IP-uri de bună calitate, dacă nu puteți aplica, utilizați pe cel al autorului, nu trebuie să modificați. Acesta este pentru clienții terți, nu pentru roboții 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: 'Parola dvs. de bază de date'
database: tg_1
api:
embedding:
# Embedding provider (openai or ollama) # Nu schimbați aici în Gemini
provider: openai
# Embedding model
model: models/text-embedding-004
# gemini-embedding-exp-03-07
# API key for provider
apiKey: <Cheia API Gemini pe care o obțineți>
# Gemini embedding-001 ieșire implicită 3072 dimensiuni, dimensiune nedefinită de utilizator
dimension: 768
# Optional, for custom API providers
apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Lansați serviciul back-end
pnpm run dev:server
# Lansați interfața front-end într-o altă fereastră terminal
pnpm run dev:frontend
Verificați dacă front-end-ul poate fi accesat cu succes:
curl http://localhost:3333/
Dacă este pe computerul local, deschideți browserul și accesați http://localhost:3333
pentru a utiliza aplicația
Dacă este un dispozitiv de la distanță, trebuie doar să deschideți portul front-end pentru acces. Dar nu îl puteți expune direct public pe internet, altfel oricine vă poate manipula contul Telegram. Trebuie să configurați singur permisiunile de acces, există multe soluții pentru aceasta.
În plus, accesul la domeniu poate necesita modificarea apps\frontend\vite.config.ts
pentru a adăuga
allowedHosts: ['Domeniul pe care îl accesați']
Pentru alte conținuturi, vă rugăm să consultați documentația oficială.
Alte versiuni ale acestei pagini web
Acest articol are mai multe versiuni lingvistice.
Dacă doriți să postați un comentariu, vă rugăm să vizitați următoarele pagini web:
Aceste pagini web acceptă doar navigarea, nu se pot posta comentarii sau mesaje, dar oferă mai multe opțiuni lingvistice și au timpi de încărcare mai scurți:
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