KKKKhazix /
AIHOT
Self-hosted engine for a niche news site with LLM-picked stories and daily digests
- 8.5k stars
- TypeScript
- Updated today
- Some experience
- Automation & workflows
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.
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 myhotnode scripts/init-env.ts --llm-key <你的模型 API Key>docker compose up -d --buildCommands are copied from the project's README. Read it on GitHub for the full setup.