Tech Pulse · 每日值得关注的 10 件事
聚合 aihot(AI 行业动态聚合,一个源已含 Hacker News 中文翻译、公众号、OpenAI、HuggingFace、xAI、Cursor、IT之家 等)+ GitHub(新晋高星项目)+ 知乎日报 + 掘金,产出每日 10 件值得关注的事,每条带具体中文摘要与简洁链接(主链接 + 讨论)。Codex(你)做精选,无需外部 LLM key。
数据源(已去重,互不重叠)
- aihot:
aihot.virxact.com首页卡片(解析.m-row-title/.m-row-summary/.m-row-src/.m-score),详情页含「精选理由 + AI 摘要 + 中文正文 + 原文链接」,天然覆盖 HN、公众号、OpenAI、HF、xAI 等。 - GitHub:
api.github.com搜索 API,取近 GITHUB_DAYS(默认 14)天新建且高 star 项目,作为 trending 代理。github.com 网页在国内常被墙,但 api.github.com 通常可达。 - 知乎日报:
news-at.zhihu.com官方 API,每日精选知乎文章。 - 掘金:
api.juejin.cn推荐流,中文开发者文章。 - Solidot:
solidot.org/index.rssRSS,中文硬科技新闻,免 key。 - 已移除:ArXiv(与 aihot 论文聚合冗余)、V2EX/Reddit/HuggingFace/X(网络不可达或需 key)。
- 每个源独立,任一失败不影响其余。fetch.py 输出前会做跨源去重:按归一化标题 + URL 去重,冲突时保留源优先级更高(aihot>GitHub>知乎>掘金)或热度更高者,日志打印
dedup: N -> M。
前置依赖
Python 3 + requests + beautifulsoup4。若导入失败,先建 venv:
cd <本 skill 目录>
.\scripts\setup.ps1 -UseMirror
之后脚本统一用 .\.venv\Scripts\python.exe 运行。
快速模式(省 token,推荐)
使用 curate.py 可将原来的 5 步合并为 2 步,大幅减少模型 token 消耗(约 4 倍)。
第 1 步:采集候选并输出精简索引
.\.venv\Scripts\python.exe scripts\fetch.py --compact --out candidates.json
模型只需读 stdout 的精简索引(约 3KB / ~1K token),candidates.json 完整数据落盘不读。
第 2 步:精选 + 构建(一步完成)
模型写 picks.txt(纯文本,极简格式),第一行是主题,后续每行是 index|summary:
theme: 一句话今日主题
0|第一条的中文摘要,2-3 句话说明是什么
3|第二条摘要
5|第三条摘要
7|第四条摘要
9|第五条摘要
12|第六条摘要
15|第七条摘要
20|第八条摘要
25|第九条摘要
30|第十条摘要
然后运行:
.\.venv\Scripts\python.exe scripts\curate.py --date YYYY-MM-DD --picks picks.txt --candidates candidates.json
curate.py 自动完成:索引解析 → 构建 md/json 归档。默认跳过详情抓取(对日报无影响),加 --with-detail 可为 sidecar 补充 body/links。
如需手动添加 related 链接,在摘要后加 |url1,url2:0|摘要|https://example.com,https://example2.com
对比
- 原流程 5 步(fetch → 读 candidates 取 URL → 写 selection → detail → build)约 ~15K tokens。
- 快速模式 2 步约 ~4K tokens。
按需深挖
两种场景:
建日报时顺带抓详情(sidecar 会有 body/links,日报本身不变):
.\.venv\Scripts\python.exe scripts\curate.py --date YYYY-MM-DD --picks picks.txt --candidates candidates.json --with-detail
日报已生成后,用户想深挖某一条:从 docs\YYYY-MM-DD.json 或 candidates.json 取该条 URL,单独跑:
.\.venv\Scripts\python.exe scripts\detail.py --out detail.json <url>
detail.py 对 aihot 走详情页取精选理由/原文链接,GitHub 走 API 取 README,知乎走内容 API,其余通用抓取。
定时任务(无人值守)推荐流程
在自动化工作区里执行时,产物要落到工作区 docs/,不要写进 skill 自己的 docs/:
- 先做健康检查(顺便确认网络修复还在):
powershell .\.venv\Scripts\python.exe scripts\healthcheck.py --check-fixes - 采集并输出精简索引:
powershell .\.venv\Scripts\python.exe scripts\fetch.py --out candidates.json --compact - Codex 精选并写
picks.txt(首行theme: ...,其余index|摘要)。 - 构建到工作区:
powershell $env:WORKSPACE_DOCS="<workspace>\docs" .\.venv\Scripts\python.exe scripts\curate.py --date YYYY-MM-DD --picks picks.txt --candidates candidates.json
curate.py 结束时会打印实际落盘路径;若打印的是 skill 自身docs/,说明WORKSPACE_DOCS或--docs没传对。
已知环境修复(脚本可能被 skill 更新重置)
本机沙箱的本地代理(如 127.0.0.1:7897)会破坏 aihot / 知乎 / Solidot 的 TLS 握手,GitHub API 还需要关闭证书校验。这些修复已固化进脚本:
fetch.py/detail.py全部请求使用PROXIES={"http":None,"https":None}直连;- GitHub API 请求加
verify=False并抑制 InsecureRequestWarning; - 若 skill 更新把脚本覆盖掉,跑
python scripts/healthcheck.py --check-fixes会指出哪些标记缺失,按上面两点补回即可。
备注
- 源独立:某源不可达时其余照常工作。
- 候选不足 10 条时,有几条精选几条。
- 缩窄源:设 env SOURCES(如
aihot,github)。 - Windows:脚本统一用
--out写 UTF-8,勿用 PowerShell>重定向。