Communitygithub.com

JingruiYu/arxiv-paper-tracker-skill

面向AI代理的arXiv论文追踪技能,生成Markdown摘要并支持可选的邮件通知。

arxiv-paper-tracker-skill 是什么?

该技能为AI代理(如Claude Code、Cursor、Codex等)提供可配置的arXiv论文追踪能力。当仓库被克隆到支持SKILL.md的代理系统后,代理可根据用户需求搜索、追踪、去重、总结或定期监控arXiv论文。用户可自定义查询约束(作者、机构、关键词、分类、时间窗口和结果数量),技能会查询arXiv、过滤论文、通过arXiv ID去重、维护本地已读状态文件避免重复通知,并生成Markdown摘要。邮件通知功能可选,默认关闭。该技能不依赖特定代理框架,可通过cron、GitHub Actions或任何调度器定期运行scan命令,并将Markdown摘要传递给外部通知系统(邮件、飞书、钉钉、Slack等)。安全规则强调不提交个人信息,SMTP凭据仅存于本地配置文件。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add JingruiYu/arxiv-paper-tracker-skill

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

arxiv-paper-tracker

这是一个面向AI代理的技能,用于可配置的arXiv论文追踪。当此仓库被克隆到支持SKILL.md的代理系统后,每当用户希望搜索、追踪、去重、总结或定期监控满足自定义约束条件的arXiv论文时,代理应使用此技能。

适用场景包括:

  • 使用代理生成的临时配置进行一次性arXiv搜索。
  • 使用持久化已读状态文件进行周期性论文追踪。
  • 监控查询约束的任意组合,包括作者、机构、关键词、arXiv分类、日期窗口和结果数量限制。
  • 生成Markdown摘要,可由外部通知系统、邮件管道、调度器或聊天机器人发送。

本文件中的示例仅为示例。主题、作者、机构、分类、时间窗口和结果数量限制均可在config.yaml中配置。

本技能的功能

此技能可以:

  1. 查询arXiv。
  2. 按作者、机构、关键词和分类过滤论文。
  3. 通过arXiv ID去重论文。
  4. 维护本地已读状态文件,避免重复通知。
  5. 生成Markdown摘要。
  6. 在本地配置文件中启用时,可选发送邮件通知。

此技能不能:

  • 自动翻译全文。
  • 下载并深入阅读PDF。
  • 替代用户对论文质量或相关性的判断。
  • 存储或管理用户的邮箱密码、应用密码、API密钥或其他机密信息。

安装

如果当前代理运行环境中未安装该包,请在仓库根目录执行:

python -m pip install -e .

这将安装控制台命令:

arxiv-paper-tracker

如果控制台命令不可用,等效的模块入口点为:

python -m arxiv_paper_tracker.cli

推荐用法

创建本地配置文件:

arxiv-paper-tracker init-config config.yaml

等效命令:

python -m arxiv_paper_tracker.cli init-config config.yaml

编辑config.yaml后,运行扫描:

arxiv-paper-tracker scan \
  --config config.yaml \
  --state outputs/arxiv_tracker/state.json \
  --output outputs/arxiv_tracker/latest.md

等效命令:

python -m arxiv_paper_tracker.cli scan \
  --config config.yaml \
  --state outputs/arxiv_tracker/state.json \
  --output outputs/arxiv_tracker/latest.md

代理使用指南

如果用户未提供完整的配置文件,代理可根据用户请求创建一个临时本地配置文件。以下字段仅为说明,应根据请求的主题、作者、机构、分类、时间窗口和结果数量进行修改:

queries:
  authors: []
  categories: []
  keywords: []
  institutions: []

limits:
  max_results_per_query: 20
  days_back: 7

state:
  path: outputs/arxiv_tracker/state.json

email:
  enabled: false

然后运行:

arxiv-paper-tracker scan \
  --config config.yaml \
  --state outputs/arxiv_tracker/state.json \
  --output outputs/arxiv_tracker/latest.md

如果用户仅希望一次性搜索而非长期追踪,代理可以使用临时路径:

arxiv-paper-tracker scan \
  --config /tmp/arxiv_tracker_config.yaml \
  --state /tmp/arxiv_tracker_state.json \
  --output /tmp/arxiv_tracker_digest.md

输出处理

scan命令:

  1. 将摘要打印到标准输出。
  2. 当提供--output时,将摘要写入Markdown文件。

代理应读取标准输出或--output文件,然后将Markdown适配到目标界面,例如终端、Web UI、邮件、飞书、钉钉、Slack或其他聊天界面。

调度

此仓库不依赖特定的代理框架。对于定期运行,可以从任何调度器或自动化运行环境触发scan命令,例如:

  • OpenClaw或其他支持技能感知的代理运行时。
  • Claude Code或其他本地编码代理。
  • 其他代理调度器。
  • cron。
  • GitHub Actions。
  • 自定义调度器。

调度器只需运行scan命令,并通过其自身的通知渠道传递生成的Markdown摘要。

安全规则

  • 公共仓库仅提供config.example.yaml。
  • 不要提交个人config.yaml文件。
  • 邮件通知默认禁用。
  • 如果启用邮件,SMTP用户名和应用密码必须仅存在于本地配置文件中。
  • 本地配置文件应被git忽略。
  • 不要将邮箱应用密码、API密钥、Cookie或令牌暴露在提示词、日志、GitHub问题或公共输出中。

相关技能