groupultra telegram-search is een nieuwe tool om telegram gebruikerschatgeschiedenis te doorzoeken.
Enkele aanbevelingen:
- Telegram groepsbeheer robot @CSUBOT : Kan privéberichten sturen naar nieuwe gebruikers, CloudFlare webverificatiecodes verzenden om de toelating tot de groep te controleren, om te verifiëren of gebruikers die lidmaatschap van de groep aanvragen, echte mensen zijn. Zal de andere groepsleden niet storen.
- Controleer het openbare IP-adres van uw machine bij het bezoeken van verschillende websites , kan de configuratie van de proxysplitsing detecteren om te voorkomen dat u wordt geblokkeerd door AI-tools. Kan de IP-adressen bekijken die worden gebruikt door gebruikers die Chinese websites, internationaal bekende AI-websites, geblokkeerde internationale websites en toegestane internationale websites bezoeken.
Projectkenmerken
Volgens de officiële documentatie biedt Telegram Search de volgende kernfunctionaliteiten:
- Semantisch zoeken: Kan niet alleen zoeken op trefwoorden, maar ook de context en betekenis van het bericht begrijpen
- Vector matching: Gebaseerd op OpenAI’s ingebedde vector technologie, om vergelijkbare zoekopdrachten te realiseren
- Efficiënte Retrieval: Nauwkeurigere en intelligentere retrieval ervaring dan Telegram’s eigen zoekfunctie
- Multi-platform ondersteuning: Biedt een webinterface en desktopapplicatie
Ontmoediging
Eerst een lijst van een aantal zaken die ver afstaan van de verwachtingen van de gebruiker, evenals een aantal bestaande problemen, om een deel van de gebruikers af te schrikken die niet geschikt zijn voor dit project. En geef suggesties voor het gebruik van andere volwassen projecten.
Het verschil tussen dit project en andere traditionele projecten die geen AI gebruiken, is semantisch zoeken (niet alleen op trefwoorden, maar ook de context en betekenis van het bericht begrijpen). Echter, ik heb tot nu toe verscheidene zoekopdrachten geprobeerd, ongeacht of het selectievakje “Zoek inhoud” is aangevinkt, en in principe kan ik niet zoeken met vragen (slechts één vraag kan); kan geen synoniemen zoeken. Kan alleen berichten vinden waarvan de resultaten gemeenschappelijke woorden hebben met de zoekopdracht. Ik weet niet zeker of dit een probleem is met het embedding model.
De veelgebruikte opdrachten voor de implementatie en het uitvoeren van de frontend en backend moeten worden gecompileerd, wat voor gebruikers die gewend zijn aan programmeertalen die niet vooraf hoeven te worden gecompileerd en programmeertalen die gewend zijn aan snelle compilatie, een lange wachttijd voor dit project is.
Wanneer de frontend wordt geopend en na een tijdje wordt vernieuwd, verschijnt er een blanco scherm, zoals hieronder weergegeven. Elke keer moet het opnieuw worden opgestart, pnpm run dev:frontend
, en moet er worden gewacht op compilatie. Het is inderdaad lastig om het op een server te implementeren en elke keer dat het wordt gebruikt, of beter gezegd, voor elke zoekopdracht, moet het opnieuw met de server worden verbonden om te compileren.

Samenvattend is groupultra telegram-search, als een project voor het zoeken naar telegram-berichten uit het verleden, momenteel minder bruikbaar dan andere volwassen, traditionele projecten. Andere projecten die worden aanbevolen:
落絮 lilydjwg/luoxu: een Telegram-gebruikersbot voor het indexeren van Chinese en Japanse groepsinhoud. — A Telegram userbot to index Chinese and Japanese group contents. , ontwikkeld door Yiyun van de archlinux cn-community, het project draait al vele jaren stabiel, bekijk het daadwerkelijke effect: Openbare zoekpagina voor groepsberichten . Projectkenmerken:
- Het project maakt voornamelijk gebruik van python en hoeft niet te wachten op compilatie. Hoewel er componenten zijn die moeten worden gecompileerd, hoeven ze maar één keer te worden gecompileerd
- Zoekstrings maken geen onderscheid tussen vereenvoudigd en traditioneel Chinees (zal OpenCC gebruiken om automatisch te converteren)
- Zoekstrings ondersteunen een bepaalde zoek-syntax
- Draaien verbruikt minder resources dan groupultra/telegram-search
Luoxu’s problemen:
- Installatie en implementatie kunnen lastiger zijn dan bij het groupultra/telegram-search project. (Dit is een vergelijking van mijn daadwerkelijke implementatie van de twee projecten. Aangezien ik luoxu implementeer op een Linux arm32-systeem, zijn alle afhankelijkheden van mijn implementatie van luoxu volledig gecompileerd en geïnstalleerd, inclusief PostgreSQL: Linux Compileer en installeer PostgreSQL 17.4 )
- De standaard code kan alleen de groep- en kanaalberichten indexeren die in het configuratiebestand zijn geschreven, maar u kunt de code natuurlijk handmatig wijzigen
Voorwaarden en vereisten voor implementatie
- AI die gebruikt kan worden, zoals Google Gemini, OpenAI, etc.
- Node.js: 20.0 of hoger
- RAM: Minstens 100 MB
- Een netwerk dat toegang heeft tot het internationale internet
Deze tutorial maakt gebruik van de volledig gratis Google Gemini, de online API neemt geen lokale rekenresources in beslag. Aanvraag introductie: Gemini API KEY aanvraag en gebruik
Ik heb het zelf geïmplementeerd op een Linux amd64 internationale server, zonder Docker, andere besturingssystemen zijn slechts ter referentie
Raadpleeg de officiële documentatie wanneer u deze tutorial volgt.
Snelle start
Volgens de officiële documentatie is de basisprocedure voor het gebruik van Telegram Search als volgt:
- Installatie en configuratie: Installeer de applicatie en configureer de nodige API’s
- Verbind met een Telegram-account: Log in op je Telegram-account
- Synchroniseer chatgeschiedenis: Selecteer de chatgeschiedenis die je wilt doorzoeken en synchroniseer deze
- Start zoeken: Gebruik de semantische zoekfunctie om berichten te vinden
Installatie en configuratie
Node.js installeren
Bezoek de Node.js officiële website om de documentatie te bekijken en te installeren. Het is aanbevolen om de nieuwste LTS-versie te gebruiken, gebruik de volgende twee commando’s om de versie te bevestigen na de installatie:
node -v
v22.16.0
npm --version
10.9.2
Omdat het project pnpm gebruikt, wordt deze geïnstalleerd. Officiële documentatie: Installation | pnpm , huidig werkelijke commando:
curl -fsSL https://get.pnpm.io/install.sh | sh -
Volgens de prompt
source /home/opc/.bashrc
PostgreSQL database en plugin pgvector installeren
Let op: installeer PostgreSQL en de plugin pgvector. Let op: de inhoud van deze sectie is mogelijk niet compleet
Let op: CentOS en andere redhat systemen gebruiken deze installatiecommando’s. Raadpleeg tijdens de bewerkingen andere artikelen en AI-adviezen op het internet.
Installeer het officiële YUM repository configuratiepakket voor PostgreSQL
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
De versie die ik heb gekozen is 13, u kunt een nieuwere versie kiezen. Omdat ik eerder PostgreSQL 13 heb geïnstalleerd, weet ik de specifieke commando’s niet zeker. Nu
Zoek naar beschikbare pakketten gerelateerd aan pgvector
in de YUM-bronnen
sudo yum search pgvector
Installeren
sudo yum install -y pgvector_13
sudo systemctl status postgresql-13
Initialiseer de PostgreSQL 13 datadirectory (moet worden uitgevoerd na de eerste installatie).
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Herstart de PostgreSQL 13 service om de wijzigingen van kracht te laten worden.
sudo systemctl restart postgresql-13
Schakel over naar de postgres
database administrator gebruiker.
sudo -i -u postgres
Start de PostgreSQL opdrachtregelclient.
psql
Stel het wachtwoord in voor de postgres
gebruiker.
ALTER USER postgres WITH PASSWORD 'Uw database wachtwoord';
Maak verbinding met PostgreSQL als de postgres
gebruiker via de lokale host en voer het wachtwoord in wanneer daarom wordt gevraagd.
psql -U postgres -h localhost --password
Verlaat psql
exit
Ga dan terug naar de initiële systeemgebruiker,
exit
Probeer de database te betreden
psql -U postgres -h localhost --password
CREATE DATABASE tg_1;
CREATE EXTENSION IF NOT EXISTS vector;
Configureer het project en start het
Omdat de Google Gemini API een snelheidslimiet heeft, heb ik een kleine aanpassing gemaakt:
git clone -b rate https://github.com/cjh0613/groupultra-telegram-search.git
Let op: de huidige rate branch is volledig aangepast op de Github-pagina, zonder dat er lokaal is getest.
De snelheidsbeperking die succesvol op mijn machine kan worden uitgevoerd, is gebaseerd op deze release: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f, en zorgt er alleen voor dat de code kan worden uitgevoerd zonder fouten. Als uw code niet kan worden uitgevoerd, probeer dan de wijzigingen van het officiële project na het terugdraaien van deze commit.
Als uw API geen snelheidsbeperking heeft, kunt u direct de officiële repository gebruiken
git clone https://github.com/groupultra/telegram-search.git
Kopieer het configuratiebestand config\config.example.yaml
naar het bestand config\config.yaml
in dezelfde directory.
Wijzig het configuratiebestand direct volgens de volgende indeling, andere delen verwijzen naar de beschrijving in het standaard configuratiebestand.
Telegram api aanvragen vereisen een IP van goede kwaliteit, als je deze niet kunt aanvragen, gebruik dan die van de auteur, je hoeft het niet te wijzigen. Dit is voor een derde partij client, niet voor een telegram robot.
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: 'Uw database wachtwoord'
database: tg_1
api:
embedding:
# Embedding provider (openai or ollama) # Verander dit hier niet in Gemini
provider: openai
# Embedding model
model: models/text-embedding-004
# gemini-embedding-exp-03-07
# API key for provider
apiKey: <Uw verkregen Gemini API KEY>
# Gemini embedding-001 voert standaard 3072 dimensies uit en kan de dimensies niet aanpassen
dimension: 768
# Optional, for custom API providers
apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Start de backend service
pnpm run dev:server
# Start de frontend interface in een ander terminalvenster
pnpm run dev:frontend
Controleer of de frontend succesvol kan worden benaderd:
curl http://localhost:3333/
Als het op dezelfde machine is, open dan een browser en bezoek http://localhost:3333
om de applicatie te gebruiken
Als het een apparaat op afstand is, hoeft u alleen de poort van de frontend te openen voor toegang. Het mag echter niet direct openbaar worden gemaakt op het openbare netwerk, anders kan iedereen uw telegram account manipuleren. U moet zelf toegangsrechten configureren, er zijn veel opties.
Daarnaast, voor domein toegang, moet mogelijk apps\frontend\vite.config.ts
worden gewijzigd door
allowedHosts: ['Uw bezochte domeinnaam']
Voor de overige inhoud, zie de officiële documentatie.
Andere versies van deze webpagina
Er zijn verschillende taalversies van dit artikel.
Als u een reactie wilt plaatsen, bezoek dan de volgende webpagina:
Deze webpagina’s ondersteunen alleen browsen, niet het plaatsen van opmerkingen of berichten, maar bieden meer taalopties en laden sneller:
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