mrkeyoor.com_
Fri 16 Oct 19:43 UTC
Self-Hostedevaluationupdated 15 Oct 2026

AIHOT review

AIHOT is a Chinese-first framework for running a news site that collects sources, selects stories with language models, and groups coverage into events. An English README exists, but the interface, generated text, and deeper documentation are Chinese by default. It gives subject editors editable prompts and selection rules for their own publication.

trackingstars / 7d
Verdict

Our AIHOT install added 322 packages in 10 seconds, but tests stopped after 1 second because the required disposable database was unset. Consider it for a subject editor willing to own source selection, model costs, and localization. Pass if you expect a ready-made English publication or the live AIHOT source list.

We ran it

Lab card: what happened when we ran AIHOTScreenshot of AIHOT (aihot.news)
Install✓ · 10s322 packages · 282 MB
Buildn/ano build script
Tests✗ · 1sran, no count parsed
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo651 files~59,101 lines of source · 13.1 MB · 1 CI workflows · Dockerfile · tests dir

Answers from our run

Does AIHOT build from source?

Dependencies installed in 10 seconds (322 packages), and the project has no separate build step. We cloned commit e57da5a into a clean Debian container with 3 CPUs and no project-specific setup.

Do AIHOT's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does AIHOT have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use AIHOT?

English publishers expecting an English interface out of the box: the README says interface and output are Chinese, with localization left to you.

What are the alternatives to AIHOT?

FreshRSS, NewsNow. Our AIHOT install added 322 packages in 10 seconds, but tests stopped after 1 second because the required disposable database was unset.

Setup3/510-second install; service and checks still need database setup
Docs3/5English README, with deeper guides and default interface in Chinese
Community4/57,698 stars and recent issue-linked fixes and proposals
Maturity3/5Working-site engine export; our runtime checks stopped at setup

Who it’s for

Subject editors who can supply trusted sources and label examples of worthwhile coverage.
Self-hosters comfortable operating PostgreSQL, background workers, and a paid model connection.
Teams willing to localize interface text and prompts before publishing in English.

Who it’s NOT for

English publishers expecting an English interface out of the box: the README says interface and output are Chinese, with localization left to you.
Operators seeking a replica of the live AIHOT site: its actual source list, operating data, and some specialized features are excluded.
Teams requiring every live-site update to reach the repository: the author explicitly declines that guarantee.
Developers expecting database-free checks: our test command refused to proceed without a disposable DATABASE_URL ending in _test or _ci.

Setup reality

Our sandbox installed commit e57da5a in 10 seconds: 322 packages and 282 MB on disk. Build was skipped because the harness found no target. Tests failed with exit code 7 after 1 second because DATABASE_URL was unset and the harness requires a throwaway database ending in _test or _ci. Npm audit reported 0 known vulnerabilities.

The documented service needs Docker, Node.js, PostgreSQL, and an OpenAI-compatible model API key. Generate configuration, set provider details and the admin password, and supply your own sources. The compose file separates the API, worker, and web processes.

Chinese interface text and writing prompts need localization for an English site. The lab image was labelled lab-node:22, but its test log identifies Node.js v24.19.0. Our successful install does not verify a deployed site or live provider calls.

Publishing in English requires changing the prompts and interface

Install AIHOT for an English newsroom and the first editorial job is translation. The default interface and generated articles are Chinese, while an English README explains how to change them. This repository supplies a news-site engine that collects material, selects stories, and groups coverage into events. Its attraction is that the selection rules are editable files. You can inspect what makes an item qualify instead of accepting an unexplained feed ranking.

Our checkout contained 651 files, roughly 59,101 source lines, and occupied 13.1 MB. That scope includes a website and administration tools alongside the processing pipeline. The English README explicitly says the deeper documentation remains Chinese. An English-speaking team should budget for reading those guides and reviewing translated interface text, especially before assuming that changing a site title produces a finished publication in another language.

What happened when we ran it

Our sandbox installed AIHOT at commit e57da5a in 10 seconds, adding 322 packages and reaching 282 MB on disk. The unprivileged Debian container had 3 CPUs and 8 GB of RAM, without secrets. The supplied lab record labels the image lab-node:22, while the failing test log identifies Node.js v24.19.0. Those are the recorded environment details, rather than grounds to assume a particular runtime mismatch caused the failure.

The build step was skipped because the harness found no build script or target. Tests then failed with exit code 7 after 1 second. The log says invariant tests write rows and require DATABASE_URL to point at a throwaway database named with a _test or _ci suffix. It received "unset." That is a clear setup refusal before a passing suite, and the log doesn't demonstrate a news-processing defect.

Npm audit reported 0 known vulnerabilities across the listed severity levels. Our scan also found 1 CI workflow file, a Dockerfile, a compose file, a tests directory, and workspaces. Those findings make the repository easier to investigate, but they don't certify the running application. The successful dependency install and the stopped test command are separate results. Neither establishes the quality of generated summaries or the correctness of event grouping.

PostgreSQL and a model provider are part of the product

The English quick start calls for Docker, Node.js, and an API key for an OpenAI-compatible model service. An initialization script generates configuration, with DeepSeek as its default provider. Other providers need endpoint and model settings adjusted. Reasoning models have an additional output-budget setting. You're operating a service with external model calls, so a healthy web page alone won't establish that collection and selection are working.

The compose file uses PostgreSQL and separates API, worker, and web processes, with an initial migration-and-seeding step. The 282 MB installed footprint we measured covers dependencies, not a deployed database or a populated archive. Keep a disposable database for verification and protect the application's real data separately. Our secret-free container run didn't exercise paid providers, and the audit result says nothing about the editorial reliability of their output.

Editable scoring rules are the reason to choose this framework

The README describes screening incoming material, scoring promising items independently twice, and applying thresholds according to source tiers. Prompts live under industry/prompts/, while source definitions and selection settings have their own files. That arrangement suits a subject editor who can explain why a regulatory notice matters more than a promotional announcement. It won't supply that subject knowledge for you. The author explicitly leaves each industry's source choices and standards to its operator.

The 13.1 MB checkout excludes AIHOT's live source list and operating data. The demonstration sources let you explore the machinery, but adopting the engine means assembling your own reporting inputs. The README recommends calibrating selection against examples you label yourself. I'd make that exercise the adoption decision: if the rubric consistently misses the announcements your readers need, an attractive homepage won't rescue the publication.

Event popularity depends on your sources and grouping decisions

AIHOT's clustering description combines headline-and-summary similarity with model decisions about whether reports describe the same event or a follow-up. Without embeddings, it falls back to text overlap. Heat then counts independent sources rather than repeated articles from the same outlet. This is a useful attempt to prevent one publisher's repeated coverage from dominating the list. It still measures attention among the sources you've selected, which may omit important specialist reporting.

The failed 1-second test step leaves that behavior unverified in our sandbox. The README also exposes manual scoring corrections and says manual event assignments are preserved, useful controls when automation gets a story wrong. RSS, public APIs, and MCP let other readers and agents consume the result. Those extra distribution routes increase the importance of checking a bad summary before it spreads beyond the homepage.

October fixes show activity without a release guarantee

GitHub records an October 14, 2026 push, 7,698 stars, and 2 open issues and PRs combined. Recent merged work addresses inconsistent selection-evaluation labels. Open pull request 203 describes unusable translation results being treated as skipped and preventing automatic recovery. That's a report about the current translation pipeline, not a failure from our run. There is no published latest release, and the author says updates exported from the live site are not guaranteed to include every change.

Choose FreshRSS when collecting and reading feeds is enough, or NewsNow for a trending-news reading interface. AIHOT earns the extra operational work when you want to own the editorial selection machinery and publish its output. Before launching, make it select a small set of stories your editor understands. Rejecting the wrong story automatically is still an editorial mistake, however neatly the site presents it.

Alternatives

ProjectWhat it isPick it when
FreshRSSA self-hosted feed reader with multi-user support and article sharing.pick this instead when collecting and reading sources is enough without an automated editorial pipeline.
NewsNow gh↗A trending-news reader with multiple sources and an MCP server.pick this instead when a news-reading interface matters more than editable selection and writing prompts.

What people are saying

  1. [velocity-scout] KKKKhazix/AIHOT

Sources

  1. English README and stated limitations
  2. Chinese primary README
  3. Repository facts
  4. Compose service configuration
  5. Translation retry proposal 203
  6. Selection evaluation fix 199
  7. FreshRSS repository
  8. NewsNow current repository

More self-hosted reviews

Qwen3.8-Flash-Next-Single-DGX-Spark-TensorFold · invisible_dots · LibreTV · unifi-toolkit · ps5-payload-manager · DiPlay · the whole board →