Skip to content
NyanNyanovichPublic

About

Automatic news aggregator in Telegram / Автоматический агрегатор новостей в Телеграме

Topics

Resources

Stars

329 stars

Watchers

6 watching

Forks

Repository files navigation

НЯН

Tests Status https://t.me/nyannews License

изображение

НЯН (Nyan) is a news aggregator that scrapes news from different Telegram channels, clusters similar posts, and forms a united feed. All sources are split into several groups, so anyone can understand whether they can trust them.

Channel itself: NyanNews

Extensive description (in Russian): Whitepaper

Detailed instruction (in Russian): Как поднять свой НЯН

Install

Install git and pip

sudo apt-get install git python3-pip

Clone repo

git clone https://github.com/NyanNyanovich/nyan

Install Python requirements

pip3 install -r requirements.txt

Download models

bash download_models.sh

Install Docker and Docker Compose.

Provide Telegram API credentials to configs/client_config.json.

Run

Run Mongo container

docker-compose up

Run crawler

bash crawl.sh

Run server

bash send.sh

You can provide OPENAI_API_KEY environment variable to use LLM-related features. It can also be put into a .env file in the repo root:

OPENAI_API_KEY=...
OPENROUTER_API_KEY=...
# optional
LLM_PROVIDER=openrouter
OPENROUTER_SITE_URL=https://t.me/nyannews
OPENROUTER_APP_NAME=nyan

The model is set in configs/llm_config.json, passed to the daemon with --llm-config-path like every other config:

{
    "model_name": "deepseek/deepseek-v4-pro",
    "provider_name": "openrouter"
}

With provider_name set to null the provider is taken from LLM_PROVIDER, and otherwise from the model name: namespaced names such as anthropic/claude-sonnet-4.5 go to OpenRouter, bare ones such as gpt-4o to OpenAI.

About

Automatic news aggregator in Telegram / Автоматический агрегатор новостей в Телеграме

Topics

Resources

Stars

329 stars

Watchers

6 watching

Forks

Releases

Used by

Contributors

Languages