@scotthuang/news-knowledge-base
v0.3.4
Published
每日新闻知识库 - ripgrep + LLM 多轮探索
Maintainers
Readme
News Knowledge Base
每日新闻知识库:抓取 RSS → LLM 生成 frontmatter → 存入 Obsidian,支持全文搜索和多轮探索。
插件功能
注册以下 Agent Tool:
| 工具 | 功能 |
|------|------|
| news_import | 抓取 RSS → 生成 frontmatter → 写入 Obsidian,支持 dry-run/limit |
| news_search | 全文检索 + LLM 多轮探索,返回相关性排序的新闻列表 |
| news_digest | 按日三层摘要(L1 今日要闻 + L2 主题速览 + L3 完整索引) |
本地安装
cd ~/github/news-knowledge-base
# 1. 编译 TypeScript
npm run build
# 2. 安装插件(本地路径)
openclaw plugins install ./
# 3. 重启 Gateway
openclaw gateway restart
# 4. 验证加载
openclaw plugins list | grep news开发模式(link,不复制)
改动代码后不用重装,用 link 模式:
openclaw plugins install -l ~/github/news-knowledge-base
openclaw gateway restart插件更新
发布新版本后,更新本地插件:
openclaw plugins update news-knowledge-base
openclaw gateway restartCLI 命令(独立使用)
插件安装后,news-cli 也可独立使用:
news-cli import # 导入今天新闻
news-cli import --date 2026-03-31 # 导入指定日期
news-cli import --dry-run # 仅预览,不写入
news-cli import --limit 5 # 限制条数
news-cli search "AI模型" # 搜索新闻
news-cli digest # 生成今日三层摘要
news-cli digest --date 2026-06-03 # 指定日期运行测试
npm test -- --run项目结构
src/
cli.ts # CLI 入口
rss/fetcher.ts # RSS 抓取
metadata/generator.ts # LLM frontmatter 生成
obsidian/writer.ts # Obsidian 写入
search/ # 全文搜索(ripgrep + Router + Ranker + 多轮探索)
daily/digest.ts # 三层每日摘要(L1/L2/L3)
daily/primary_category.ts # relevance_tags 主分类优先级
plugin/index.ts # OpenClaw 插件入口
data/
digest_tag_priority.json # 日报主分类优先级表
tests/
plugin.test.ts # 单元测试(22 个用例)
openclaw.plugin.json # 插件清单Phase 进度
- ✅ Phase 1:RSS 抓取 → frontmatter 生成 → Obsidian 写入 → CLI import
- ✅ Phase 2:全文搜索 + 多轮探索 + CLI search
- ✅ Phase 3:OpenClaw 插件注册 + 单元测试
- ✅ Phase 4:engram 集成
- ✅ Phase 5:每日三层摘要(L1 要闻 + L2 主题速览 + L3 索引)
- 🔲 Phase 6:收尾
每日三层摘要
入库新闻按天存放在 Obsidian/news/YYYY-MM-DD/。摘要生成后写入:
| 文件 | 内容 |
|------|------|
| Obsidian/daily/YYYY-MM-DD-digest.md | L1 今日要闻(12–18 条)+ L2 主题速览(Top 10 主分类) |
| Obsidian/daily/YYYY-MM-DD-index.md | L3 完整索引(当日全部标题,无 LLM) |
主分类由 relevance_tags + data/digest_tag_priority.json 解析,每篇新闻仅归属一个桶。
Agent 使用建议:
- 「看今天/昨天新闻」→
news_digest(不要用news_search,后者只适合按关键词深挖) - 默认
regenerate: false读已有文件;regenerate: true强制重算(约 2 次 LLM,40 秒量级) includeIndex: true才附带 L3 全文;否则仅返回 digest
node ./dist/cli.js digest # 生成今日摘要
node ./dist/cli.js digest --date 2026-06-03每晚 22:30 cron(见 OPS_AUTOMATION.md)会自动跑 digest。
已知问题
- 36kr RSS 被 TTGCaptcha 验证码阻挡,需引入备用 RSS 源(Reuters、BBC News 等)— 见
Obsidian/news-source-diversity.md
