arxiv-paper-tracker
这是一个面向AI代理的技能,用于可配置的arXiv论文追踪。当此仓库被克隆到支持SKILL.md的代理系统后,每当用户希望搜索、追踪、去重、总结或定期监控满足自定义约束条件的arXiv论文时,代理应使用此技能。
适用场景包括:
- 使用代理生成的临时配置进行一次性arXiv搜索。
- 使用持久化已读状态文件进行周期性论文追踪。
- 监控查询约束的任意组合,包括作者、机构、关键词、arXiv分类、日期窗口和结果数量限制。
- 生成Markdown摘要,可由外部通知系统、邮件管道、调度器或聊天机器人发送。
本文件中的示例仅为示例。主题、作者、机构、分类、时间窗口和结果数量限制均可在config.yaml中配置。
本技能的功能
此技能可以:
- 查询arXiv。
- 按作者、机构、关键词和分类过滤论文。
- 通过arXiv ID去重论文。
- 维护本地已读状态文件,避免重复通知。
- 生成Markdown摘要。
- 在本地配置文件中启用时,可选发送邮件通知。
此技能不能:
- 自动翻译全文。
- 下载并深入阅读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命令:
- 将摘要打印到标准输出。
- 当提供
--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问题或公共输出中。