一手信源管理
add
- 调 firsthand-source-subscriber 探测订阅方式(rss / html-links)。
- 生成 source 条目(id 用域名+路径推导的 kebab-case),追加到
firsthand-sources.yaml。 - 提示用户:下一轮 launchd(每小时)或手动
launchctl kickstart -k gui/$(id -u)/com.yinjialu.ai-frontier-daily.firsthand生效;该源首刊静默(只把当前文章标记已见,不开 PR、不备份历史内容)。
首刊不自动备份历史内容——这是刻意的默认行为。是否备份历史是可选项,仅当用户显式要求时才做(见下方 backup)。
backup (可选,仅用户显式要求时)
把某个源当前列表的历史文章全部抓取+摘要+写 OKF,开一个备份 PR 入库。做法:用一份临时 state({<id>: {"initialized": true}},无 open_pr_urls)跑 run_once,使该源当前文章全部当「新文章」走 OKF+PR 流程;OKF 写真实 data/firsthand/<id>/,再单独提 firsthand/<date> 分支 PR。不要在 add 时自动触发。
list
读 data/firsthand-state.json,每个源输出:id、last_fetch_ok(失败显示 last_fetch_error)、last_new_article、已入库篇数(扫 data/firsthand/<id>/ 的 .md 文件数)。
last_checked(上次运行时间,每小时变)在本地 data/.firsthand-heartbeat.json(gitignore,不提交),需要看「是否还在跑」时读它。
阶段二
health:标记 last_fetch_ok=false 或异常沉默的源。remove <id>:从 yaml 移除并归档 state。