groupultra telegram-search è un nuovo strumento di ricerca per la cronologia chat degli utenti di Telegram.
Alcuni consigli:
- Telegram 群组管理机器人 @CSUBOT :Può inviare messaggi privati ai nuovi utenti, inviare codici di verifica della pagina CloudFlare, per eseguire la verifica dell’ingresso nel gruppo, per verificare se gli utenti che richiedono l’ingresso nel gruppo sono veri umani. Non disturberà gli altri membri del gruppo.
- 查询本机访问不同网站的公网 IP ,Può rilevare la configurazione dello smistamento del proxy per evitare il blocco degli strumenti AI. È possibile visualizzare l’IP utilizzato dagli utenti per accedere a siti web cinesi, siti web AI internazionali noti e siti web internazionali bloccati e disponibili.
项目特点
Secondo la documentazione ufficiale, Telegram Search offre le seguenti funzionalità principali:
- Ricerca semantica: non solo può cercare parole chiave, ma anche comprendere il contesto e il significato dei messaggi
- Corrispondenza vettoriale: basata sulla tecnologia di vettori di incorporamento di OpenAI, realizza la ricerca di somiglianze
- Recupero efficiente: esperienza di recupero più precisa e intelligente rispetto alla ricerca nativa di Telegram
- Supporto multi-piattaforma: fornisce un’interfaccia Web e un’applicazione desktop
劝退
Innanzitutto, elenca alcuni contenuti che sono molto diversi dalle aspettative degli utenti e alcuni problemi esistenti, per dissuadere una parte degli utenti che non sono adatti a questo progetto. E fornisci suggerimenti sull’utilizzo di altri progetti maturi.
La differenza tra questo progetto e altri progetti tradizionali che non utilizzano l’intelligenza artificiale è la ricerca semantica (non solo può cercare parole chiave, ma anche comprendere il contesto e il significato dei messaggi). Tuttavia, attualmente ho provato diverse query e, indipendentemente dal fatto che la casella di controllo “contenuto della ricerca” sia selezionata o meno, fondamentalmente non è possibile cercare con una domanda (solo una frase è possibile); impossibile query di sinonimi. È possibile interrogare solo i risultati e i messaggi che condividono parole. Non è sicuro se si tratti di un problema del modello di incorporamento.
I comandi che devono essere utilizzati frequentemente per la distribuzione e l’esecuzione front-end e back-end devono attendere la compilazione. Per gli utenti che sono abituati a linguaggi di programmazione che non richiedono la compilazione anticipata e che sono abituati a velocità di compilazione elevate, il tempo di attesa per questo progetto è un po’ lungo.
Quando si apre il front-end per l’uso, quindi lo si aggiorna dopo un po’, il front-end apparirà vuoto, come mostrato di seguito. Ogni volta è necessario riavviare pnpm run dev:frontend
e attendere la compilazione. Distribuito sul server, ogni volta che lo si utilizza, o ogni volta prima di eseguire una query, è necessario connettersi al server per compilare, il che è davvero fastidioso.

Riassumendo i problemi di cui sopra, groupultra telegram-search, come progetto per la ricerca di messaggi storici di telegram, è attualmente meno utile di altri progetti tradizionali maturi. Altri progetti consigliati:
落絮 lilydjwg/luoxu:一个用于索引中文和日文群组内容的 Telegram 用户机器人。 — A Telegram userbot to index Chinese and Japanese group contents. , sviluppato dalla comunità archlinux cn da Yiyun, il progetto è in esecuzione stabile da molti anni, visualizza l’effetto reale: 公开的群组消息记录搜索网页 . Caratteristiche del progetto:
- Il progetto utilizza principalmente python e non è necessario attendere la compilazione. Sebbene ci siano componenti che devono essere compilati, devono essere compilati solo una volta
- La stringa di ricerca non distingue tra caratteri semplificati e tradizionali (OpenCC verrà utilizzato per la conversione automatica)
- La stringa di ricerca supporta alcune sintassi di ricerca
- L’esecuzione occupa meno risorse rispetto a groupultra/telegram-search
Problemi di Luoxu:
- L’installazione e la distribuzione potrebbero essere più problematiche del progetto groupultra/telegram-search. (È un confronto tra i miei due progetti di distribuzione effettivi. Poiché ho distribuito luoxu su un sistema Linux arm32, tutte le dipendenze per la mia distribuzione di luoxu sono installate tramite compilazione completa, incluso PostgreSQL: Linux 编译安装 PostgreSQL 17.4 )
- Il codice predefinito può indicizzare solo i messaggi di gruppi e canali scritti nel file di configurazione, ovviamente puoi modificare manualmente il codice
部署前提与要求
- AI utilizzabile, come Google Gemini, OpenAI, ecc.
- Node.js: 20.0 o versioni successive
- RAM: almeno 100 MB
- Rete in grado di accedere a Internet internazionale
Questo tutorial utilizza Google Gemini completamente gratuito, l’API online non occupa risorse di calcolo locali. Introduzione alla richiesta: Gemini API KEY 申请及使用
Personalmente lo distribuisco su un server internazionale Linux amd64, non utilizzo Docker, altri ambienti del sistema operativo sono solo di riferimento
Quando si opera secondo questo tutorial, si prega di prestare attenzione al confronto con la documentazione ufficiale.
快速入门
Secondo la documentazione ufficiale, il flusso di lavoro di base per l’utilizzo di Telegram Search è il seguente:
- Installazione e configurazione: installare l’applicazione e configurare le API necessarie
- Connessione all’account Telegram: accedi al tuo account Telegram
- Sincronizzazione della cronologia chat: seleziona la cronologia chat che deve essere ricercata per la sincronizzazione
- Inizia la ricerca: utilizza la funzione di ricerca semantica per trovare i messaggi
安装与配置
安装 Node.js
Visita il sito web di Node.js per visualizzare la documentazione e installare. Si consiglia di utilizzare l’ultima versione LTS, dopo l’installazione utilizzare i seguenti due comandi per confermare la versione:
node -v
v22.16.0
npm --version
10.9.2
Poiché il progetto utilizza pnpm, installalo. Documentazione ufficiale: Installation | pnpm , comando effettivo corrente:
curl -fsSL https://get.pnpm.io/install.sh | sh -
In base al prompt
source /home/opc/.bashrc
安装 PostgreSQL 数据库和插件 pgvector
Fai attenzione a installare PostgreSQL e il plugin pgvector. Si prega di notare che il contenuto di questa sezione potrebbe non essere completo
Si prega di notare che i sistemi CentOS e altri sistemi redhat utilizzano questi comandi di installazione. Assicurati di fare riferimento ad altri articoli online e ai suggerimenti dell’IA durante l’operazione.
Installa il pacchetto di configurazione del repository YUM ufficiale di PostgreSQL
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
La versione che ho scelto è la 13, puoi scegliere una versione più recente. Perché PostgreSQL 13 è stato installato in precedenza, il comando specifico non è certo. adesso
Cerca i pacchetti disponibili relativi a pgvector
nell’origine YUM
sudo yum search pgvector
Installare
sudo yum install -y pgvector_13
sudo systemctl status postgresql-13
Inizializza la directory dei dati di PostgreSQL 13 (deve essere eseguita dopo la prima installazione).
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Riavvia il servizio PostgreSQL 13 per rendere effettive le modifiche.
sudo systemctl restart postgresql-13
Passa all’utente amministratore del database postgres
.
sudo -i -u postgres
Avvia il client della riga di comando di PostgreSQL.
psql
Imposta la password di accesso per l’utente postgres
.
ALTER USER postgres WITH PASSWORD '您的数据库密码';
Connettiti a PostgreSQL come utente postgres
tramite localhost e ti verrà richiesto di inserire la password.
psql -U postgres -h localhost --password
Esci da psql
exit
Quindi torna all’utente di sistema iniziale,
exit
Prova ad accedere al database
psql -U postgres -h localhost --password
CREATE DATABASE tg_1;
CREATE EXTENSION IF NOT EXISTS vector;
配置项目并启动
Poiché l’API di Google Gemini ha un limite di velocità, ho apportato una piccola modifica:
git clone -b rate https://github.com/cjh0613/groupultra-telegram-search.git
Si prega di notare che questo ramo di velocità corrente è stato modificato interamente sulla pagina Github e non sono stati eseguiti test locali.
La modifica del limite di velocità che può essere eseguita correttamente sulla mia macchina si basa su questa versione: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f, solo per garantire che il codice possa essere eseguito senza errori. Se il tuo codice non funziona, prova a ripristinare le modifiche del progetto ufficiale dopo questo commit.
Se l’API che stai utilizzando non ha un limite di velocità, puoi utilizzare direttamente il repository ufficiale
git clone https://github.com/groupultra/telegram-search.git
Copia il file di configurazione config\config.example.yaml
nello stesso file config\config.yaml
della directory.
Fare riferimento al seguente formato per modificare direttamente il file di configurazione, fare riferimento alla descrizione predefinita del file di configurazione per altre parti.
La domanda API di telegram richiede un IP di buona qualità, se non puoi richiederla, usa quella dell’autore, non è necessario modificarla. Questo è per client di terze parti, non per bot di 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/'
# Avvia il servizio backend
pnpm run dev:server
# Avvia l'interfaccia frontend in un'altra finestra del terminale
pnpm run dev:frontend
Verifica se il frontend può essere visitato correttamente:
curl http://localhost:3333/
Se si tratta di una macchina locale, apri il browser e visita http://localhost:3333
per utilizzare l’applicazione
Se si tratta di un dispositivo remoto, è sufficiente aprire la porta del frontend per l’accesso. Tuttavia, non può essere esposto direttamente alla rete pubblica per la pubblicazione, altrimenti chiunque può manipolare il tuo account telegram. È necessario configurare autonomamente le autorizzazioni di accesso, ci sono molti schemi per questo.
Inoltre, per l’accesso al dominio, potrebbe essere necessario modificare apps\frontend\vite.config.ts
per aggiungere
allowedHosts: ['您访问的域名']
Per altri contenuti, si prega di consultare la documentazione ufficiale.
本网页的其他版本
Questa pagina ha versioni in più lingue.
Se desideri pubblicare un commento, visita le seguenti pagine web:
Queste pagine web supportano solo la navigazione e non consentono di pubblicare commenti o lasciare messaggi, ma offrono più opzioni linguistiche e tempi di caricamento più brevi:
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