一套个人情报系统。它每天帮你做三件事:
- 📡 抓情报 — 从 10+ 全球科技/商业信息源自动采集、翻译、摘要,生成一份中文日报。
- 🔭 破茧房 — 用一个专门的「跨域雷达」主动塞给你科学、哲学、地缘、设计等科技圈以外的信号,刻意和上面的科技源零重叠,免得你越看越窄。
- 🚀 找灵感 — 把上面两样喂给一个思维框架,提炼成一份每日行动计划(Mission Plan),回答那个真正重要的问题:
🧭 今天做什么,能让自己变得更有价值? 而「有价值」不局限于你当前的赛道——跨越边界的认知,才是终极杠杆。
和普通新闻聚合器的区别:聚合器给你「更多信息」;它给你「更宽的视野 + 一个可执行的答案」。
适合谁用?
- 想每天快速了解全球动态、又怕陷进信息茧房的开发者
- 做竞品分析、行业研究的产品经理
- 想从每日信号里找灵感和机会的独立开发者 / 创作者
从 10+ 数据源抓取最新信息,生成包含 7 大板块的中文日报:
| 板块 | 数据源 | 你能看到什么 |
|---|---|---|
| 🛠️ 技术趋势 | Hacker News, GitHub Trending | 今天程序员们在聊什么 |
| 💰 资本动向 | 36Kr, WallStreetCN | 谁在融资、谁在并购 |
| 📚 学术前沿 | ArXiv AI/ML, HF Daily Papers | 最新 AI 论文,按社区热度排序 |
| 🚀 产品精选 | Product Hunt | 今天发布了什么新产品 |
| 💬 社区热点 | V2EX | 中文开发者社区在讨论什么 |
| 🐦 社交热议 | X (Twitter) via Grok | Twitter 上的技术热话题 |
| 📖 深度洞察 | HN Top Blogs, TechCrunch, MIT TR | AI 巨头工程博客全文分析 |
日报覆盖的是科技 / AI / 商业垂类。但你的认知边界,不该被数据源的边界限制。
Horizon 是一个独立的「跨域认知雷达」,刻意只抓科技圈以外的高质量信息源,覆盖 5 大领域、9 个源:
| 领域 | 信息源 |
|---|---|
| 🔬 科学前沿 | Nature、Quanta Magazine |
| 🧠 哲学人文 | Aeon (Essays / Philosophy) |
| 🌍 地缘与经济 | Reuters、Geopolitical Futures |
| 🔀 跨学科 | Nautilus、Aeon (Science) |
| 🎨 设计美学 | Dezeen |
它内置「领域多样性」逻辑——保证每个领域至少出一条,绝不让你被单一信息流淹没。
python scripts/horizon_report.py # 单独跑一次跨域扫描实现见
src/sensors/horizon.py。它是独立功能,不混进日报,而是作为「破茧」输入,喂给下面的 Mission Plan。
这是整个系统的落点。把「日报 + Horizon 跨域信号」交给一个思维树(Tree of Thoughts)框架,提炼成一份当日行动计划,分四个区:
| 区域 | 是什么 |
|---|---|
| 🔴 核心区 (Strike Zone) | 直接能让你「更有价值」的信号 → 提炼出今日 Top 1 必做 |
| 🟡 探索区 (Exploration Zone) | 不直接相关、但有「跨域杠杆」潜力的信号 |
| 🔭 地平线区 (Horizon Zone) | 来自科技圈以外的认知冲击,强制非空——这是防茧房的硬约束 |
| ⚪ 监测区 (Watch Zone) | 暂不行动、但值得保持雷达的趋势 |
框架定义在 prompts/tot_mission_planner.md(一个可直接喂给 LLM 的 prompt)。想让它贴合你自己的方向?复制 prompts/commander_state.example.md 填上你的身份和优先级即可。
⚠️ Mission Plan 是 prompt 驱动的一步:你把当天的日报和 Horizon 结果连同这个 prompt 交给 LLM(Claude / Gemini 等),由它生成。不是一键脚本。
① 每日情报日报(节选)
# 🌐 全球情报日报
**日期:** 2026-05-27
## 🛠️ 技术趋势
### 1. [Language Models Need Sleep](https://arxiv.org/abs/...)
📍 Hacker News | 🔥 84 points | 🕒 1 小时前
## 📚 学术前沿
### 1. MobileGym: A Verifiable Simulation Platform for Mobile GUI Agents
👤 ... | 📅 2026-05-25② Mission Plan(结构示意)
# 🚀 Mission Plan [日期]
> ⚡ 今日 Top 1:<最该立刻动手的一件事>(⏱️ 预计耗时 / 🎯 对我的价值)
## 🔴 核心区 主线推进 / 能力杠杆 / 真诚表达 / 认知升级
## 🟡 探索区 <信号> → "这可能和你有关,因为…"
## 🔭 地平线区 <科技圈外的认知冲击> ← 强制非空
## ⚪ 监测区 <暂不行动、但保持关注的趋势>git clone https://github.com/77AutumN/Intel_Briefing.git
cd Intel_Briefing
pip install -e . # 安装为可编辑包(解决所有 import 路径)cp .env.example .env
# 编辑 .env,填入你自己的 API Keypython cli.py # 生成完整日报
python cli.py --test # 测试模式(每个源只抓 1 条)
python scripts/horizon_report.py # 跑跨域 Horizon 扫描日报保存在 reports/daily_briefings/。想要每日行动计划,把日报 + Horizon 结果连同 prompts/tot_mission_planner.md 交给你的 LLM 即可。
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890Important
httpx 默认不支持 SOCKS 代理。如果你的代理只提供 SOCKS 端口,需要额外安装:
pip install httpx[socks]| 密钥 | 用途 | 是否必需 | 费用 |
|---|---|---|---|
GITHUB_TOKEN |
GitHub Trending (GraphQL API) | 必需 | ✅ 免费申请 PAT |
XAI_API_KEY |
Grok API (X/Twitter 舆情 + PH fallback) | 推荐 | 每月 $25 免费额度 (申请) |
PRODUCTHUNT_TOKEN |
Product Hunt 数据 | 可选 | ✅ 免费申请 |
GEMINI_API_KEY |
Google Gemini (中文翻译+摘要) | 可选 | ✅ 免费额度充足 (申请) |
⚠️ 最低要求:拿到GITHUB_TOKEN就能跑基础日报。 没有其他 Key 时对应功能会优雅降级(跳过而非崩溃)。Horizon 雷达走公开 RSS,零 Key 即可运行。
Note
数据是从两个地方抓的,你不用关心这个区别——日报里看到的内容都一样。
- 一批「老牌」信息源(HN、GitHub、36Kr、V2EX、WallStreetCN)走
src/external/fetch_news.py - 其余每个源各有一个独立的「传感器」文件,放在
src/sensors/里
这是项目早期演进留下的两套写法,功能上都正常,未来会慢慢合并成一套。
Intel_Briefing/
├── cli.py # 🎯 主入口
├── pyproject.toml # 包配置 (pip install -e .)
├── src/
│ ├── config.py # 统一配置层 (IntelConfig singleton)
│ ├── intel_collector.py # 情报收集器 (并发调度 + 去重)
│ ├── report_generator.py # 报告渲染器 (含防幻觉逻辑)
│ ├── sensors/ # Tier 2: 独立数据源传感器
│ │ ├── arxiv_ai.py # ArXiv AI/ML 论文
│ │ ├── hf_daily_papers.py # HuggingFace Daily Papers
│ │ ├── hn_blogs.py # AI 巨头工程博客 RSS (15 源 + 动态 OPML)
│ │ ├── product_hunt.py # Product Hunt (含 Grok fallback)
│ │ ├── techcrunch_rss.py # TechCrunch RSS
│ │ ├── mit_tech_review.py # MIT Technology Review
│ │ ├── x_grok_sensor.py # X/Twitter via Grok API
│ │ └── horizon.py # 🔭 Horizon 跨域雷达 (防信息茧房,见下方 scripts/)
│ ├── utils/
│ │ ├── gemini_translator.py # Gemini 中文翻译 + 摘要
│ │ ├── generate_summaries.py # PWA 预烘焙摘要
│ │ ├── jina_reader.py # 网页全文提取 (含 DDG fallback)
│ │ └── verifier.py # 链接有效性验证
│ └── external/
│ └── fetch_news.py # Tier 1: HN/GitHub/36Kr/V2EX/WS 聚合器
├── prompts/ # 🧠 分析框架 prompt 模板
│ ├── tot_mission_planner.md # Mission Plan 思维树框架
│ └── commander_state.example.md # 个性化模板 (复制后填你的身份/优先级)
├── scripts/ # 🧰 附带的小工具 (与日报独立)
│ ├── horizon_report.py # Horizon 雷达:扫描跨领域信号
│ ├── condense_month.py # 把一个月的日报浓缩成月报
│ └── recurrence_scan.py # 找出反复出现的热点话题
├── tests/ # 30 tests (import/行为/降级)
│ ├── test_import_smoke.py # 12 模块 import 验证
│ ├── test_anti_hallucination.py # 防幻觉行为测试
│ ├── test_graceful_degradation.py # 优雅降级测试
│ └── test_core.py # 核心功能测试
├── reports/ # 📄 生成的报告目录 (gitignored)
└── .env.example # API 密钥模板
所有配置通过 src/config.py 的 IntelConfig 单例管理。优先级:环境变量 > .env > 默认值。
关键配置项:
| 变量 | 默认值 | 说明 |
|---|---|---|
GEMINI_MODEL |
gemini-2.0-flash |
翻译/摘要用的 Gemini 模型 |
XAI_MODEL |
x-ai/grok-4-fast |
Grok API 模型 |
FETCH_TIMEOUT |
15 |
网络请求超时 (秒) |
LIMIT_PER_SOURCE |
10 |
每个源抓取上限 |
CONTENT_TRUNCATE_LIMIT |
3000 |
内容截断字符数 |
pip install -e . # 首次需要
pytest tests/ -v # 30 tests, <1s测试覆盖三个维度:
- Import Smoke: 所有 12 个模块可独立导入
- Anti-Hallucination: Grok fallback 产生的猜测 URL 不会作为可点击链接进入报告
- Graceful Degradation: 缺失 API key 或空数据时系统不崩溃
当 Product Hunt API 不可用时,系统会 fallback 到 Grok 推断产品数据。此时产生的 URL 是猜测的 slug,不是真实链接。
处理方式:
- Grok fallback 产品在报告中标记为
⚠️ 链接未验证 (AI 推断) - 不渲染为可点击的 markdown 链接
- 提供 Google 搜索验证链接供人工核实
项目自带 .github/workflows/daily-report.yml,配置好 Secrets 后每天 UTC 23:51(北京 07:51)自动生成日报。
可选投递到前端仓库:如果你有自己的 PWA / 前端仓库,设置仓库变量
PWA_REPO(如your-name/your-pwa-repo)和 SecretPWA_DEPLOY_TOKEN,workflow 会自动把日报推送过去;不设置则跳过该步骤,不影响日报生成。
fetch_news.py和sensors/两套采集架构并存(Phase 2 收口中)- 传感器的
print()输出尚未统一到logging(Phase 2 计划) - Windows 下部分传感器独立运行可能遇到 GBK 编码问题(CI 在 Ubuntu 上无此问题)
MIT — 随便用,改了也不用告诉我。
如果觉得有用,给个 ⭐ 就是最大的支持。