groupultra telegram-search ist ein neues Tool zur Suche in Telegram-Benutzerchatprotokollen.
Einige Empfehlungen:
- Telegram Gruppenverwaltungs-Bot @CSUBOT: Kann neuen Benutzern private Nachrichten senden und CloudFlare-Webseiten-Verifizierungscodes senden, um die Beitrittsgenehmigung durchzuführen, um zu überprüfen, ob die Benutzer, die dem Beitritt zur Gruppe beantragen, echte Menschen sind. Stört keine anderen Gruppenmitglieder.
- Öffentliche IP zum Abrufen verschiedener Websites von Ihrem Computer kann die Proxy-Aufteilungskonfiguration erkennen, um zu vermeiden, dass AI-Tools Konten sperren. Sie können die IP-Adresse sehen, die Benutzer zum Zugriff auf chinesische Websites, international bekannte AI-Websites, gesperrte internationale Websites und erlaubte internationale Websites verwenden.
Projektmerkmale
Laut offizieller Dokumentation bietet Telegram Search die folgenden Kernfunktionen:
- Semantische Suche: Kann nicht nur nach Schlüsselwörtern suchen, sondern auch den Kontext und die Bedeutung von Nachrichten verstehen
- Vektorenvergleich: Basierend auf der Embedded-Vektortechnologie von OpenAI, um eine Ähnlichkeitssuche zu realisieren
- Effiziente Suche: Präzisere und intelligentere Sucherfahrung als die native Suche von Telegram
- Multi-Plattform-Unterstützung: Bietet eine Web-Oberfläche und Desktop-Anwendungen
Abraten
Zuerst werden einige Inhalte aufgelistet, die stark von den Erwartungen der Benutzer abweichen, sowie einige bestehende Probleme, um einen Teil der Benutzer vom Gebrauch dieses Projekts abzubringen, die nicht dafür geeignet sind. Und es werden Vorschläge zur Verwendung anderer ausgereifter Projekte gegeben.
Der Unterschied zwischen diesem Projekt und anderen traditionellen Projekten, die keine KI verwenden, besteht in der semantischen Suche (kann nicht nur nach Schlüsselwörtern suchen, sondern auch den Kontext und die Bedeutung von Nachrichten verstehen). Derzeit habe ich jedoch mehrere Abfragen ausprobiert, und zwar unabhängig davon, ob das Kontrollkästchen „Inhalte durchsuchen“ im Suchfeld aktiviert ist oder nicht, sodass im Grunde keine Suchanfragen in Form von Fragen möglich sind (nur eine ist möglich); es ist keine Synonymsuche möglich. Es können nur Ergebnisse für Nachrichten gefunden werden, die mit der Suchanfrage übereinstimmen. Es ist unklar, ob dies ein Problem des Embedding-Modells ist.
Die Befehle, die häufig für die Bereitstellung und Ausführung des Frontends und Backends verwendet werden, müssen kompiliert werden, was für Benutzer, die an Programmiersprachen gewöhnt sind, die nicht im Voraus kompiliert werden müssen, und für Benutzer, die an Programmiersprachen mit schnellen Kompilierungsgeschwindigkeiten gewöhnt sind, eine lange Wartezeit bedeutet.
Wenn Sie das Frontend öffnen und verwenden und es dann nach einer Weile aktualisieren, wird auf dem Frontend ein leerer Bildschirm angezeigt, wie unten gezeigt. Jedes Mal muss es neu gestartet werden, pnpm run dev:frontend
, und es muss auf die Kompilierung gewartet werden. Es ist in der Tat mühsam, es auf einem Server bereitzustellen und es jedes Mal vor der Verwendung oder vor jeder Abfrage neu zu kompilieren.

Zusammenfassend lässt sich sagen, dass groupultra telegram-search als Projekt zur Suche in Telegram-Verlaufnachrichten derzeit weniger gut funktioniert als andere ausgereifte traditionelle Projekte. Andere Projekte werden empfohlen:
落絮 lilydjwg/luoxu:一个用于索引中文和日文群组内容的 Telegram 用户机器人。 — A Telegram userbot to index Chinese and Japanese group contents. , entwickelt von Yiyun aus der Archlinux CN Community, das Projekt läuft seit vielen Jahren stabil, sehen Sie sich die tatsächlichen Ergebnisse an: 公开的群组消息记录搜索网页 . Projektmerkmale:
- Das Projekt verwendet hauptsächlich Python und muss nicht auf die Kompilierung warten. Obwohl einige Komponenten kompiliert werden müssen, müssen sie nur einmal kompiliert werden
- Suchzeichenfolgen unterscheiden nicht zwischen vereinfachten und traditionellen Zeichen (OpenCC wird automatisch konvertiert)
- Suchzeichenfolgen unterstützen einige Suchsyntaxen
- Der Ressourcenverbrauch ist geringer als bei groupultra/telegram-search
Probleme bei Luoxu:
- Die Installation und Bereitstellung kann etwas mühsamer sein als beim Projekt groupultra/telegram-search. (Ist ein Vergleich der tatsächlichen Bereitstellung von zwei Projekten. Da ich luoxu auf einem Linux arm32-System bereitstelle, werden alle meine luoxu-Abhängigkeiten vollständig kompiliert und installiert, einschließlich PostgreSQL: Linux 编译安装 PostgreSQL 17.4 )
- Der Standardcode kann nur die im Konfigurationsdatei geschriebenen Gruppen- und Kanalnachrichten indizieren, aber Sie können den Code natürlich manuell ändern
Bereitstellungsvoraussetzungen und -anforderungen
- Verwendbare KI, wie Google Gemini, OpenAI usw.
- Node.js: 20.0 oder höher
- RAM: Mindestens 100 MB
- Netzwerk, das auf das internationale Internet zugreifen kann
Dieses Tutorial verwendet die völlig kostenlose Google Gemini Online-API, die keine lokalen Rechenressourcen verbraucht. Einführung zur Bewerbung: Gemini API KEY 申请及使用
Ich persönlich habe es auf einem internationalen Linux amd64-Server bereitgestellt, ohne Docker zu verwenden. Andere Betriebssystemumgebungen dienen nur als Referenz
Wenn Sie dieses Tutorial verwenden, beachten Sie bitte den Vergleich mit der offiziellen Dokumentation.
Schnellstart
Laut offizieller Dokumentation sieht der grundlegende Ablauf der Verwendung von Telegram Search wie folgt aus:
- Installation und Konfiguration: Installieren Sie die Anwendung und konfigurieren Sie die erforderlichen APIs
- Verbinden Sie das Telegram-Konto: Melden Sie sich bei Ihrem Telegram-Konto an
- Chatverlauf synchronisieren: Wählen Sie den Chatverlauf aus, den Sie durchsuchen möchten, um ihn zu synchronisieren
- Suche starten: Verwenden Sie die semantische Suchfunktion, um Nachrichten zu finden
Installation und Konfiguration
Node.js installieren
Besuchen Sie die Node.js offizielle Website , um die Dokumentation anzuzeigen und die Installation durchzuführen. Es wird empfohlen, die neueste LTS-Version zu verwenden. Verwenden Sie nach der Installation die folgenden beiden Befehle, um die Version zu bestätigen:
node -v
v22.16.0
npm --version
10.9.2
Da das Projekt pnpm verwendet, führen Sie die Installation durch. Offizielle Dokumentation: Installation | pnpm , aktueller Befehl:
curl -fsSL https://get.pnpm.io/install.sh | sh -
Gemäß der Aufforderung
source /home/opc/.bashrc
Installieren Sie die PostgreSQL-Datenbank und das pgvector-Plugin
Beachten Sie, dass Sie PostgreSQL und das pgvector-Plugin installieren müssen. Beachten Sie, dass dieser Abschnitt möglicherweise unvollständig ist
Beachten Sie, dass CentOS und andere Redhat-Systeme diese Installationsbefehle verwenden. Bitte beachten Sie unbedingt andere Artikel und KI-Empfehlungen bei der Bedienung.
Installieren Sie das offizielle YUM-Repository-Konfigurationspaket von PostgreSQL
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Ich habe Version 13 gewählt, Sie können eine neuere Version wählen. Da ich zuvor PostgreSQL 13 installiert hatte, bin ich mir der spezifischen Befehle nicht sicher. jetzt
Suchen Sie im YUM-Repository nach verfügbaren Paketen, die sich auf pgvector
beziehen
sudo yum search pgvector
Installieren
sudo yum install -y pgvector_13
sudo systemctl status postgresql-13
Initialisieren Sie das PostgreSQL 13-Datenverzeichnis (muss nach der ersten Installation ausgeführt werden).
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Starten Sie den PostgreSQL 13-Dienst neu, um die Änderungen zu übernehmen.
sudo systemctl restart postgresql-13
Wechseln Sie zum Datenbankadministratorbenutzer postgres
.
sudo -i -u postgres
Starten Sie den PostgreSQL-Befehlszeilenclient.
psql
Legen Sie das Anmeldepasswort für den Benutzer postgres
fest.
ALTER USER postgres WITH PASSWORD 'Ihr Datenbankpasswort';
Verbinden Sie sich als Benutzer postgres
über den lokalen Host mit PostgreSQL und geben Sie das Passwort ein.
psql -U postgres -h localhost --password
Beenden Sie psql
exit
Kehren Sie dann zum ursprünglichen Systembenutzer zurück,
exit
Versuchen Sie, die Datenbank zu betreten
psql -U postgres -h localhost --password
CREATE DATABASE tg_1;
CREATE EXTENSION IF NOT EXISTS vector;
Konfigurieren Sie das Projekt und starten Sie es
Da die Google Gemini API eine Ratenbegrenzung hat, habe ich eine kleine Änderung vorgenommen:
git clone -b rate https://github.com/cjh0613/groupultra-telegram-search.git
Beachten Sie, dass dieser aktuelle Raten-Branch vollständig auf der GitHub-Webseite geändert wurde und keine lokalen Tests durchgeführt wurden.
Die Ratenbegrenzungsänderung, die auf meinem Rechner erfolgreich ausgeführt werden kann, basiert auf diesem Release: v1.0.0-beta.10, Commit: c60ac6416dcac6543d2623c49179681ed859e26f, stellt nur sicher, dass der Code ausgeführt werden kann und keine Fehler auftreten. Wenn Ihr Code nicht ausgeführt werden kann, versuchen Sie, den Commit rückgängig zu machen und die Änderungen des offiziellen Projekts vorzunehmen.
Wenn Ihre API keine Ratenbeschränkung hat, können Sie das offizielle Repository direkt verwenden
git clone https://github.com/groupultra/telegram-search.git
Kopieren Sie die Konfigurationsdatei config\config.example.yaml
in die Datei config\config.yaml
im selben Verzeichnis.
Ändern Sie die Konfigurationsdatei direkt gemäß dem folgenden Format. Informationen zu anderen Teilen finden Sie in der Standardbeschreibung der Konfigurationsdatei.
Die Telegram-API-Anwendung erfordert eine qualitativ hochwertige IP. Wenn Sie sich nicht bewerben können, verwenden Sie die des Autors und ändern Sie sie nicht. Dies ist für Drittanbieter-Clients und nicht für Telegram-Bots.
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: 'Ihr Datenbankpasswort'
database: tg_1
api:
embedding:
# Embedding provider (openai or ollama) # Hier nicht in Gemini ändern
provider: openai
# Embedding model
model: models/text-embedding-004
# gemini-embedding-exp-03-07
# API key for provider
apiKey: <Ihr abgerufener Gemini API KEY>
# Gemini embedding-001 gibt standardmäßig 3072 Dimensionen aus, die nicht angepasst werden können
dimension: 768
# Optional, for custom API providers
apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Starten Sie den Backend-Dienst
pnpm run dev:server
# Starten Sie die Frontend-Oberfläche in einem anderen Terminalfenster
pnpm run dev:frontend
Überprüfen Sie, ob auf das Frontend erfolgreich zugegriffen werden kann:
curl http://localhost:3333/
Wenn es sich um einen lokalen Computer handelt, öffnen Sie einfach den Browser und besuchen Sie http://localhost:3333
, um die Anwendung zu verwenden
Wenn es sich um ein Remote-Gerät handelt, müssen Sie nur den Port des Frontends öffnen, um darauf zuzugreifen. Es kann jedoch nicht direkt im öffentlichen Netzwerk offengelegt werden, da sonst jeder Ihr Telegram-Konto manipulieren kann. Sie müssen die Zugriffsberechtigungen selbst konfigurieren, dafür gibt es viele Lösungen.
Darüber hinaus müssen Sie möglicherweise für den Domänennamenzugriff apps\frontend\vite.config.ts
ändern, um Folgendes hinzuzufügen
allowedHosts: ['Ihre aufgerufene Domain']
Andere Inhalte finden Sie in der offiziellen Dokumentation.
Andere Versionen dieser Webseite
Dieser Artikel ist in verschiedenen Sprachen verfügbar.
Wenn Sie einen Kommentar abgeben möchten, besuchen Sie bitte die folgenden Webseiten:
Diese Webseiten unterstützen nur das Browsen, das Abgeben von Kommentaren oder das Hinterlassen von Nachrichten ist nicht möglich, bieten aber mehr Sprachoptionen und kürzere Ladezeiten:
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