# AIHOT

> Self-hosted engine for a niche news site with LLM-picked stories and daily digests

- Repository: https://github.com/KKKKhazix/AIHOT
- Category: Automation & workflows
- Stars: 8,483 · Forks: 2,029 · Language: TypeScript · License: MIT
- Experience: Some experience
- Page: https://ir.adyog.com/repos/kkkkhazix/aihot/

AIHOT collects items from feeds, web pages, X accounts and WeChat accounts. An LLM pre-filters them, then scores each one twice. Items that pass a threshold get a Chinese title and summary and become picks. Reports of the same story are merged into one event, and events are ranked by how many independent sources covered them in the last 48 hours.

The repo holds the website, admin panel, selection pipeline, clustering and heat code, and the full text of every prompt. Industry-specific parts live in the site/ and industry/ folders. To change topic you edit prompts, thresholds, categories and the source list, and the code stays as it is.

The author says plainly that this is an export of the live engine, not a polished generic framework, and that it was rewritten with AI help. It ships 18 public overseas AI sources as a demo. The real AIHOT source list and some AI-only features are not included. The README and site are mainly in Chinese.

## What it does

- **Six kinds of sources**: Handles RSS, web lists, JSON APIs, X accounts, WeChat accounts and content pushed by your own scripts. Sources have three tiers, each with its own threshold.
- **Two-pass LLM selection**: Items are pre-filtered, then scored twice with the same rubric. Prompts and thresholds are open to edit, and an eval script lets you calibrate against your own labelled samples.
- **Event clustering and heat**: Reports of one event are grouped using embeddings, or text overlap if none is configured, then checked by a model. Heat counts each independent source once within 48 hours.
- **Daily, weekly and monthly digests**: The daily edition is assembled by rules, with no model call. Weekly and monthly editions are compiled from the dailies, and the model writes only the overview.
- **Output for agents**: Provides RSS, a public API, an MCP server, agent-readable Markdown and llms.txt, plus an admin panel for sources, scoring corrections and budget limits.

## What you could build

- Build a news site for law, HR, finance or another field by replacing the sources and selection prompts.
- Run a private daily digest of the feeds and accounts you follow.
- Calibrate an LLM relevance scorer against a few hundred items you labelled yourself.
- Expose a curated news feed to your own agents through MCP, RSS or the API.
- Study a complete pipeline of ingest, dedupe, scoring, summarizing and clustering.

## Who it's for

Suits people who can run Docker and want a self-hosted curated news site. You need an OpenAI-compatible API key, and reading Chinese helps because most docs and prompts are in Chinese.

## Get started

You need Docker, Node.js 24 and an OpenAI-compatible LLM key such as DeepSeek. Clone the repo, generate the .env with the init script, start Docker Compose, then open localhost:3000. Content appears after a minute or two, and the admin panel is at /admin.

```
git clone https://github.com/KKKKhazix/AIHOT.git myhot
```
```
node scripts/init-env.ts --llm-key <你的模型 API Key>
```
```
docker compose up -d --build
```

Tags: news-aggregator, content-curation, self-hosted, llm, mcp
