Chinese hot lists and RSS become one scheduled briefing
TrendRadar's 16 MB checkout collects ranked items from multiple hot-list sources and combines them with chosen RSS feeds. Keyword groups, required terms, exclusions, and regular expressions decide what appears. Repeated collection preserves position and appearance history, which helps distinguish a headline climbing a list from one that appeared once. The project then renders reports and sends them to Telegram, Slack, email, Feishu, DingTalk, WeCom, ntfy, Bark, personal WeChat integrations, or a generic webhook.
This is a substantial service despite its personal-monitor feel. Our checkout contained about 41,329 source lines across 162 files and occupied 16 MB before installation. The main documentation and most community discussion are Chinese. A separate English README and English documentation cover the principal setup and configuration paths, so an English reader can deploy it, though troubleshooting will still involve Chinese material.
AI filtering adds judgment and API cost to keyword rules
The 41,329-line checkout supports plain keyword rules and AI interest filtering. Timeline configuration can vary collection, filtering, push, and AI behavior by period, which suits a morning scan followed by an evening summary. AI interest files let users describe a beat in ordinary language; model calls can then classify items, translate titles, or write an analytical section. Cached classifications reduce repeat calls, and report regions can be excluded from translation or analysis.
The automation can send a model's choice straight to many recipients, so a classification error can become an editorial error. That risk matters more than the 10-second build we measured. Use a private test destination, compare AI-selected items with the unfiltered report, and review summaries before they reach customers or a public channel. Each AI feature also needs a model endpoint, an API key, and a cost limit that keyword-only operation does not require.
What happened when we ran it
Our measurement setup cloned commit 8ee2602 into an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets. Installation succeeded in 60 seconds, adding 119 packages and consuming 229 MB on disk. The build succeeded in another 10 seconds. Those results show that the measured code can install and build cleanly in the stated environment without notification or model credentials.
There was no test script or target, so the test step was skipped. We therefore have no pass count for collectors, schedules, storage, AI responses, MCP tools, or notification formatting. pip-audit reported 25 known vulnerabilities in the installed packages. The repository also had four CI workflow files, no Dockerfile, and no tests directory. A successful build is useful evidence here, but it does not replace behavior tests or a dependency-remediation review.
Published containers do not remove the configuration work
Our 60-second local install covered only the code path; service setup still requires sources, storage, schedules, and secrets. The README supports GitHub Actions, local uv, and published container workflows. Local and container runs keep output on disk; GitHub Actions full mode needs remote S3-compatible storage because runner files disappear. Lite mode can collect, filter, and push without remote storage, while history-dependent features need persistence. Each notification channel brings its own credentials and formatting rules.
Our measured checkout used 229 MB after its 119-package install, before any accumulated reports or local archive. The README documents a Docker directory and published images, while our supplied repository signals found no Dockerfile. Treat the image as a separate artifact: pin a tag, inspect its source path, mount configuration read-only where practical, and confirm how updates reach the running service. Do not put webhook URLs or API keys in tracked YAML.
MCP can query stored news, but stdio has an open protocol bug
Open issue #1204 reports a stdio startup failure in TrendRadar's MCP service. That service searches locally accumulated news instead of fetching live stories during a conversation, and it exposes dates, platforms, feeds, keywords, articles, and trend queries through HTTP or stdio. Message-oriented tools can also format or send results. Give the MCP process only the channel credentials and network access it needs.
The August 14, 2026 report says the stdio server prints roughly 60 lines of startup text to stdout before JSON-RPC messages, preventing strict clients from completing initialization. Our lab did not run that protocol path because no test target existed, so we cannot confirm it independently. HTTP remains documented, but teams choosing stdio should reproduce the handshake on their intended client before deployment.
NewsNow remains the default source boundary
In the 16 MB checkout we measured, the README credits NewsNow's API for multi-platform hot-list data and asks deployments to keep request frequency reasonable. TrendRadar can point to a compatible endpoint and validate expected domains, which gives an operator a route away from the public default. RSS still depends on publisher feeds behaving well. Open issue #1194 says connection errors, timeouts, and server errors currently skip a feed without a retry in the reported code path.
GitHub showed 61 open issues and pull requests, 61,855 stars, and a last code push on July 17, 2026. Issue activity continued into August, including the MCP and RSS reports above, so the queue is active rather than a stale list. The README tracks v6.10.0, while GitHub's latest-release endpoint returned no release object. TrendRadar is worth trying when its sources and delivery channels fit, but the 25 audit findings and absent test target make supervision part of ownership.

