AIHOT: build your own industry hot-topics site
AIHOT is an MIT-licensed engine that scores news twice, clusters it into events and writes a daily brief. Swap in your sources and prompts; bring an LLM key.
Project facts
GitHub Ecosystem- License
- MIT
- Language
- TypeScript
- Stars
- 6,178
- Data checked
- 2026-10-07
Snapshot figures reflect the check date and may change over time.
Every industry produces hundreds of items a day and a reader needs a handful, which is why watching sources by hand wears people out. AIHOT is the engine behind aihot.news, a Chinese AI news site, released as open source by the designer who goes by 数字生命卡兹克 (GitHub: KKKKhazix). It collects from a set of sources, pre-filters with an LLM, scores each item twice independently, merges reports of the same story into one event, ranks events by how many independent sources cover them and publishes a daily brief. The repo was created on September 28, 2026 and had 6,178 stars nine days later; a WeChat Channels video from the account 「AI摸鱼局」 on September 29 is what put it on our radar.

The diagram comes from the project’s README. What makes it useful is that every prompt and threshold behind it is published instead of hidden.
Core features
- Selection pipeline: items are deduplicated and pre-filtered, then scored twice with the same rubric. The two scores must sum to at least twice the threshold, which varies by source tier (repo defaults: 60 for official first-party, 65 for semi-official, 76 for media and individuals). A passing item still waits for clustering to confirm it isn’t a repeat of a story already selected.
- Event clustering and heat: one story reported by the vendor and ten outlets shows up once. Heat is computed per event: within 48 hours each independent source counts once, halved after 24 hours, so ten posts from one outlet count as one.
- Six source types: RSS, web lists, JSON APIs, X accounts, WeChat official accounts, and your own scripts pushing items in.
- Daily, weekly and monthly briefs: the daily brief is assembled by rules with no model call, by default at 08:00. Weekly and monthly briefs are compiled from the dailies, and the model only writes the overview and section intros.
- Agent access: the same content is served as RSS, a public API, an MCP server and
llms.txt. - Admin tools: source test-fetch, content diagnostics, per-step model choice, budget cut-offs for paid services, and
scripts/eval-selection.tsto calibrate the threshold on your own labelled samples.

Typical use cases
- Practitioners in a niche industry: law, HR, finance or precious metals. Point the sources at trade media and regulators, write your idea of “important” into
industry/prompts/, and get a daily brief of your own. The author open-sourced it precisely because he doesn’t know those fields. - Content and research teams: start the morning with the brief and the event-ranked hot list instead of checking a dozen sites.
- Anyone studying how to build a news curation pipeline: you don’t have to deploy it; the prompts, the two independent scoring passes and the event grouping are worth reading on their own.
Quick start
You need Docker, Node.js 24 and an OpenAI-compatible API key (DeepSeek, Qwen and Zhipu all work). These commands come from the README:
git clone https://github.com/KKKKhazix/AIHOT.git myhot
cd myhot
node scripts/init-env.ts --llm-key <your model API key>
docker compose up -d --build
Open http://localhost:3000; the admin panel is at /admin and the password is ADMIN_PASSWORD in .env. The README says content starts appearing after a minute or two and the first import takes about half an hour to process. To retarget it at your industry, the README suggests handing the repo to Claude Code or Codex and telling it to read AGENTS.md and docs/customize.md; almost everything you change lives in the site/ and industry/ folders.
Summary
AIHOT suits people who want a continuously updated hot-topics site for one industry and are willing to run a service for it. It is MIT-licensed and built with TypeScript, PostgreSQL 17 and Docker Compose. It is a poor fit if you want a hosted product or just an occasional news check on your own machine. Know these before you start:
- Chinese output by default: the data model holds one Chinese title and summary, so an English site means editing
site/site.tsand the prompts yourself. - Ongoing model costs: the project’s deploy docs say importing 152 items from the sample sources took about 930 model calls; daily use then depends on how many items your sources produce. From reading the code, the X and WeChat sources run through paid third-party services.
- Hardware: the docs recommend at least 2 cores and 4 GB of RAM, running five containers.
- Our test run: on October 2 we tried it in an isolated Docker setup. Without a model key it collected items, but the item list stayed empty.
docker composebinds the web port to0.0.0.0:3000by default, so change it to listen on localhost only. - Author’s caveats: he isn’t a professional developer, the code was rewritten with AI, and upstream updates aren’t guaranteed to sync every time. The AIHOT name and logo are not covered by the MIT license, so use your own.