分类
标签
Academic Agent AI AI Agent Astro Astropy C Claude Code DeepLearning DevOps Diary Docker Engineering GPU Graduate Jupiter Kubernetes Life LightGBM LLM LOL Mamba Notes Obsidian Ollama OpenClaw Productivity Python RAG Research Sofa Streamlit Technology Tool Transformer Tutorial Ubuntu Work Workflow 研究生 随笔 飞书
1031 字
5 分钟
ScholarPulse:本地优先的学术情报监测与自动化流水线
在信息爆炸时代,跟踪前沿论文(如 AI Agent、RAG、MCP)往往让人疲惫不堪。
ScholarPulse是一条面向个人知识库的本地优先(Local-first)学术情报监测流水线。它的核心定位不是让 AI 随意“泛泛写个摘要”,而是将检索、去重、结构化研判、原子落盘、总索引维护与多端消息投递拆解为一条确定、可测试、可审计的工程生产链路。
一、核心设计哲学与架构原则
1. 为什么拒绝纯 Agent “黑盒化”?
传统的直接让 Agent 抓取并总结的方式往往存在三个痛点:
- 不可控与幻觉:Prompt 波动可能导致抓漏论文或随意编造实验结论;
- 难以审计:论文版本更新(如
v1到v2)容易造成重复收录; - 状态脆弱:一旦网络或模型短暂抖动,整个定时任务容易全军覆没。
2. 四大架构原则
- 确定性核心(Deterministic Core):
- 检索、去重、模板渲染与本地落盘完全由 Python CLI 负责,状态码明确、行为可回溯。
- Agent 解耦(Decoupled Consumer):
- 消息网关(OpenClaw)只作为下游消费者读取格式化好的 JSON,不参与上游内容生产与抓取。
- 本地知识主权(Local-first Knowledge):
- 日报和索引文件直接原子写入本地 Obsidian Vault,无需依赖外部云数据库或消息队列。
- 配置驱动(Configuration Driven):
- 增加新的研究方向(如具身智能、量子计算)只需增加几行 JSON 配置,无需重构任何脚本代码。
二、生产与投递工作流
[ systemd user timer (每天 19:55) ]
│
▼
[ Python CLI: scholarpulse generate ]
├─ 1. arXiv API 检索 (AI Agent / MCP / RAG 关键词)
├─ 2. 归一化去重 (过滤历史收录与跨版本重复)
├─ 3. Ollama 本地模型 (生成 4 段式结构化中文研判)
├─ 4. 原子写入 Obsidian Vault (生成日报 + 重建全局索引)
└─ 5. 输出当天通知 JSON (message, title, metrics)
│
▼
[ OpenClaw Telegram 投递 (每天 20:00) ]
└─ 读取通知 JSON,一键推送至移动端
三、关键流水线实现细节
1. 归一化去重机制
arXiv 论文常有多个版本提交。ScholarPulse 在入库前会正则剔除版本后缀:
2606.12345v1 ──┐
2606.12345v2 ──┴──> 归一化 ID: 2606.12345 (查重键)
CLI 自动比对历史索引库,确保同一篇论文不会因为版本迭代在日报中反复刷屏。
2. Ollama 结构化研判约束
每篇论文的摘要生成严格遵循结构化模板,拒绝空话套话:
- 一句话结论:论文解决的核心矛盾是什么。
- 核心内容:具体提出的技术架构或算法创新。
- 方法与实验:评测基准(Benchmark)与关键指标提升。
- 价值判断:对实际工程落地的参考意义与局限性。
若模型服务临时不可用,流水线会自动填入备用原文信息,保证定时任务安全完成,绝不伪造虚假摘要。
3. 日报与总索引维护
生成的日报以标准 Frontmatter 写入 Obsidian:
---
title: ScholarPulse-2026-06-15
published: 2026-06-15
tags: [AI-Agent, Academic, Report]
category: 科研
---
同时,系统会自动更新该研究方向的 index.md 索引页,按时间倒序维护全部历史报告入口,形成个人专属的长期学术情报库。
四、常用操作命令
# 生成当天所有配置方向的学术情报
scholarpulse generate
# 补跑或重算指定历史日期
scholarpulse generate --date 2026-05-15
# 单独调试指定方向(如仅跑 Agent 方向)
scholarpulse generate --direction AgentPulse
# 强行覆盖重建(人工修复时使用)
scholarpulse generate --force
五、总结与展望
通过将大语言模型(LLM)定位为**“确定性流水线中的文本处理算子”**,而非全盘委托给不可控的自主 Agent,ScholarPulse 实现了高可靠、零维护的个人学术情报持续沉淀。未来这套架构可轻松扩展至 GitHub Trending 监控、行业技术资讯聚合等更多自动化场景。
