ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

一个配置文件,三步搭出你的专属AI新闻雷达:Horizon配置实战指南

一个配置文件,三步搭出你的专属AI新闻雷达:Horizon配置实战指南

一个配置文件,三步搭出你的专属AI新闻雷达:Horizon配置实战指南

【免费下载链接】Horizon📡 Your own AI-powered news radar. Generates daily briefings in English & Chinese. | 用 AI 构建你专属的新闻雷达项目地址: https://gitcode.com/gh_mirrors/horizon39/Horizon

Horizon 是一个用 AI 做新闻聚合与日报生成的开源项目:它定时抓取 Hacker News、RSS、Reddit、Telegram 等来源,让 AI 逐条打分筛选,再产出中英双语简报。而这一切都由一个配置文件驱动——Horizon配置写得越准,你的新闻日报就越懂你:看什么源、留什么内容、发给谁,全在这一份data/config.json里。

三种玩法,一份配置

先说你能得到什么,再往下看怎么配。

个人日报:每天定时收到一份只含高分内容的简报。把processing.profile_settings里的threshold调到 7.0,低于 7 分的条目直接被 AI 过滤掉,你不用再逐条翻。

团队群推送:配置完信息源,把webhook打开,日报自动发到飞书、钉钉或 Slack 群,不用人工转发。

批量存档:每次运行会把 Markdown 摘要存进data/summaries/,仓库还内置了 GitHub Pages 站点方案——日报可以攒成一份持续更新的公开存档。

解剖Horizon配置:四大块各管什么

所有设置集中在data/config.json(由模板data/config.example.json复制而来),四个顶层区块各管一件事:

  • ai— 模型、密钥变量名、并发与节流:雷达的"大脑"
  • sources— 十种内置信息源(hackernews / rss / reddit / github / telegram / ossinsight 等),雷达"看什么"
  • processing+collection+digest— 评分阈值、抓取时间窗、配额分组:雷达"留多少"
  • webhook/email/wechat— 把日报送到哪,默认全部关闭

一个细节值得先记住:每个信息源条目都可以带profile字段。填"tech-news"就是直接指定处理档案,不填或填"auto"则由 AI 自动归类——这个机制让同一份日报能同时服务不同主题。

三组可抄作业的配方

配方一:最小可用,先跑通。只保留三个区块:AI 模型、一条 RSS 源、评分阈值。

{ "ai": { "provider": "openai", "model": "gpt-4", "api_key_env": "OPENAI_API_KEY" }, "sources": { "rss": [ { "name": "Simon Willison", "url": "https://simonwillison.net/atom/everything/", "profile": "tech-news" } ] }, "processing": { "default_profile": "tech-news", "profile_settings": { "tech-news": { "threshold": 7.0 } } } }

配合.env里写入OPENAI_API_KEY,运行uv run horizon --hours 1就能验证。注意api_key_env只填变量名,不是密钥本身。跑通后,可以把sources里其他来源的"enabled"打开来扩展。

配方二:多源扩展,信息一次配齐。个人版跑顺之后,把更多来源加进sources,每条都指定profile:

"sources": { "hackernews": { "enabled": true, "fetch_top_stories": 20, "min_score": 100 }, "reddit": { "enabled": true, "subreddits": [ { "subreddit": "MachineLearning", "sort": "hot", "fetch_limit": 15, "profile": "tech-news" } ] }, "rss": [ { "name": "vLLM Blog", "url": "https://vllm.ai/blog/rss.xml", "profile": "tech-blog" } ] }

想让日报只聚焦 AI 新闻,就把不相关来源的enabled关掉。条目多了之后,AI 逐条打分会变慢,正好引出下一组配方。

配方三:团队共享,推送到群里并提速。在配方二基础上补两段:

"webhook": { "enabled": true, "url_env": "HORIZON_WEBHOOK_URL", "platform": "feishu", "layout": "collapsible", "languages": ["zh"] }, "ai": { "analysis_concurrency": 4, "enrichment_concurrency": 2, "throttle_sec": 0 }, "collection": { "time_window_hours": 24 }

layout: "collapsible"会生成一张飞书卡片,每条新闻一个折叠面板,群里不刷屏。HORIZON_WEBHOOK_URL放.env里,配置本身可以放心提交版本库。

新手避坑清单

  • API 密钥配错,启动就报错:api_key_env只填变量名(如OPENAI_API_KEY),真实密钥写到.env。
  • URL 里出现原样的${LWN_KEY},请求直接失败:对应在.env里补上该变量;未设置的变量不会被替换成空串,而是原样保留,好让你立刻发现漏配。
  • 日报条目太多太杂:调高对应 profile 的threshold(0-10,分数越高越严格);条目太少则调低,设null可完全关闭分数过滤。
  • 旧闻混进日报:检查collection.time_window_hours,默认 24 小时,按需收紧。
  • 长消息被群平台截断:webhook.delivery从summary改成summary_and_items,改发总览加逐条消息。
  • 只想试跑不花积分:用uv run horizon --hours 1限定最近一小时,webhook 侧可先uv run horizon-webhook --dry-run预览。

下一步:文档、源码与三步清单

  • 完整配置参考:docs/configuration.md
  • 评分机制详解:docs/scoring.md
  • 处理档案结构与路由规则:docs/profiles.md
  • 信息源实现:src/scrapers/ | AI 分析模块:src/ai/

三步启动你的 Horizon 新闻日报:

  1. 克隆并安装:git clone https://gitcode.com/gh_mirrors/horizon39/Horizon,然后cd Horizon && uv sync
  2. 生成配置:uv run horizon-wizard,按向导选兴趣,自动产出data/config.json;.env里填好 API 密钥
  3. 试跑并固化:uv run horizon --hours 1验证无误后,把定时任务交给 cron 或 GitHub Actions

配置是一次性的,兴趣是流动的。跑一周后回头看一眼阈值和信息源,你的雷达会越来越准。📡

【免费下载链接】Horizon📡 Your own AI-powered news radar. Generates daily briefings in English & Chinese. | 用 AI 构建你专属的新闻雷达项目地址: https://gitcode.com/gh_mirrors/horizon39/Horizon

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进