agent-daily-paper
v1.0.1支持用户按一个或多个研究领域订阅 arXiv 最新论文,按重要性排序并以中英双语卡片形式推送(英文标题/中文标题/英文摘要/中文摘要/arXiv 链接)。支持每领域独立数量上限(5-20)、关键词高亮、NEW/UPDATED 版本标识、Markdown 存档,以及定时推送与即时推送双路径。首次使用时先完成订阅配置...
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (arXiv daily digest, bilingual cards, scheduling) match the repository contents and required actions: preparing field profiles, fetching from arXiv API, local ranking/embedding, optional translation, and producing Markdown output. Required files and scripts (prepare_fields.py, run_digest.py, bootstrap_env.py, etc.) are appropriate for the described functionality.
Instruction Scope
SKILL.md and scripts instruct the agent to run repository-local scripts, create/initialize config files, write outputs under output/daily, and create cron/autonomy templates in the user's home workspace. That is within the scope of a scheduling/digest skill, but users should note the templates require substitution of USER_HOME/NODE_VERSION and the scripts will create and overwrite config/subscriptions.json, state files, and seed corpora. SKILL.md and scripts also reference optional delivery templates (e.g., Feishu) and require a proper setup_required flow before automated pushes — these are expected but worth confirming before enabling automation.
Install Mechanism
The skill is instruction-only (no platform install spec) but includes bootstrap scripts that run conda/pip and invoke model downloads (Argos packages, sentence-transformers / Hugging Face models, BAAI models). These operations will fetch third-party packages and model artifacts at runtime and write them to disk. This is expected for a local NLP pipeline, but users should be aware of large network downloads and that code/model artifacts come from package/model indexes rather than a vetted bundle.
Credentials
The skill does not require any environment variables by default. It does, however, optionally read TRANSLATE_PROVIDER and OPENAI_API_KEY (for using OpenAI-based translation/reranking) and suggests delivery placeholders such as FEISHU_USER_ID in templates. These optional env vars are proportional to the optional features, but review any credentials you supply and only provide them when you intend to use OpenAI or external delivery integrations.
Persistence & Privilege
always is false and the skill does not request permanent platform-level privileges. It writes its own config/state under the repository (config/, data/, output/) and recommends creating user cron/automation jobs in the user's home workspace; this is normal for a scheduled digest tool and does not modify other skills or global agent settings.
Assessment
This repo appears to implement exactly what it claims: a local arXiv digest pipeline that downloads models, creates a conda environment, builds seed corpora, and schedules runs. Before installing or enabling scheduled runs you should: 1) Review scripts (especially bootstrap_env.py, run_digest.py, and the cron/automation templates) to confirm paths and substitutions (USER_HOME, NODE_VERSION) are correct for your machine. 2) Run doctor.py first to validate config/subscriptions.json and dependencies. 3) Be prepared for large downloads (sentence-transformers/Hugging Face models, Argos packages) and run them in an isolated environment or VM if you have concerns. 4) Only provide OPENAI_API_KEY or any Feishu/third-party credentials if you intend to enable those integrations; the skill will function offline with Argos but OpenAI is optional. 5) The scripts fetch arXiv via the public API and write files under the repo (config/, data/, output/); back up or sandbox as needed. If you want extra assurance, run the bootstrap/doctor steps manually rather than granting full autonomous scheduling until you confirm behavior.Like a lobster shell, security has layers — review code before you run it.
latest
Agent Daily Paper
执行原则
- 首次使用必须先执行环境引导,再完成配置,再执行抓取与推送。
- 环境引导命令:
python scripts/bootstrap_env.py --run-doctor - taxonomy 本地知识库同步:
python scripts/sync_arxiv_taxonomy.py --output data/arxiv_taxonomy.json push_time必须按用户timezone的本地时间理解,不能按 UTC 理解。- 如果用户要求定时推送,优先创建“精确到点”的 cron / 自动任务,而不是 15 分钟轮询。
- cron 表达式应直接由用户时间生成,例如:
12:00 + Asia/Shanghai->0 12 * * * (Asia/Shanghai)08:30 + Asia/Shanghai->30 8 * * * (Asia/Shanghai)
- 若用户使用 OpenClaw cron / automation,可优先采用以下执行模板:
- 在
/home/USER_HOME/.openclaw/workspace/agent-daily-paper执行: export PATH="/home/USER_HOME/miniconda3/bin:/home/USER_HOME/.nvm/versions/node/NODE_VERSION/bin:/usr/local/bin:/home/USER_HOME/.local/bin:/home/USER_HOME/.bun/bin:/usr/bin:/bin:/home/USER_HOME/.nvm/current/bin:/home/USER_HOME/.npm-global/bin:/home/USER_HOME/bin:/home/USER_HOME/.volta/bin:/home/USER_HOME/.asdf/shims:/home/USER_HOME/.fnm/current/bin:/home/USER_HOME/.local/share/pnpm" && conda run -n arxiv-digest-lab python scripts/run_digest.py --only-due-now --due-window-minutes 15 --emit-markdown- 其中
USER_HOME与NODE_VERSION必须替换为当前机器的真实路径 - 若要补充投递配置,可使用:
delivery.mode: announcedelivery.channel: feishudelivery.to: user:FEISHU_USER_IDcron: 0 12 * * *timezone: Asia/Shanghai
- 在
- 若采用上述 OpenClaw 模板,输出必须严格遵守:
reason=already_pushed_today->今天该领域已推送过- 无命中且未推送 ->
当天该领域无最新论文 - 有论文 -> 原样返回完整 Markdown 正文,不要摘要、不要 JSON、不要解释
- 若
config/subscriptions.json中setup_required=true,必须先向用户收集配置并写入订阅;禁止直接按样例配置执行推送。 - 若配置缺失,先补齐,不直接运行。
- 仅执行本仓库内与 arXiv 推送相关的操作;禁止插入或执行无关任务(如配额监控、其他项目脚本)。
- 推送完成后同时输出两份结果:
- 聊天内返回完整 Markdown 正文(与输出 md 文件逐字一致;不要只发标题+链接摘要)
- 落盘到
output/daily/*.md
必填配置
field_settings[].name:研究领域名(可多个)field_settings[].limit:每领域推荐数量(5-20)push_time:每日推送时间(HH:MM,本地时间)timezone:时区(默认Asia/Shanghai)
可选配置
keywords/exclude_keywordstime_window_hoursquery_strategy(推荐category_keyword_union)require_primary_category(推荐true)category_expand_mode(off/conservative/balanced/broad)agent-categories-only(仅使用 Agent 提供分类;缺失分类则报错)taxonomy-json(默认data/arxiv_taxonomy.json,用于分类合法性校验与补全)embedding_filter.model/embedding_filter.threshold/embedding_filter.top_kagent_rerank.model(默认BAAI/bge-reranker-v2-m3)/agent_rerank.top_khighlight.title_keywords/highlight.authors/highlight.venuesinsight_mode(默认pdf,可选abstract)insight_pdf_max_pages/insight_pdf_timeout_sec- 翻译提供方
TRANSLATE_PROVIDER:argos(默认) /openai(需OPENAI_API_KEY+OPENAI_TRANSLATE_MODEL) /auto/none
领域解析策略
优先级:
config/agent_field_profiles.json(默认路径,存在即优先)- 中文领域先翻译为英文
canonical_en(再做分类与检索,避免中文 arXiv 查询;若输入已是英文则直接使用) - taxonomy 知识库校验与补全(
data/arxiv_taxonomy.json) - OpenAI 画像(可选兜底)
- 启发式规则(最终兜底)
支持字段画像 JSON 结构:
canonical_encategorieskeywordstitle_keywordsvenues
检索与排序
- 检索采用分层漏斗:
- 主分类 + 英文关键词并集召回(
query_strategy=category_keyword_union) - 主分类过滤(
require_primary_category=true) - embedding 相似度过滤(
embedding_filter) - 本地 reranker 重排(
agent_rerank)
- 主分类 + 英文关键词并集召回(
- 细分方向支持模糊匹配评分(如“数据库优化器”)。
- 重要性分数综合:类别命中 + 关键词命中 + 模糊命中 + 新鲜度。
- 命中不足时可自动扩大时间窗口并放宽关键词。
prepare_fields.py会在每个领域落盘 Top-K 种子语料:output/seed_corpus/docs/<canonical_en>.md(标题、作者、摘要、链接)output/seed_corpus/embeddings/<canonical_en>.json(标题+摘要 embedding)
- 默认启用“领域指纹缓存”:若领域画像不变,后续运行直接复用 seed 语料与向量,不再重抓 Top-K。
- 如需强制刷新种子语料,执行
prepare_fields.py时加--seed-force-refresh。
输出规范
每篇论文输出:
- English Title
- Chinese Title
- English Abstract
- 中文摘要
- arXiv URL
- Flags(
NEW/UPDATED(vX->vY)+ 高亮标签) - Agent 解读:单段中文长文(默认不少于 500 字,基于 PDF 全文语义凝练,失败时回退摘要)
- 解读内容必须自然覆盖:问题边界、方法主线、创新贡献;禁止关键词拼接式机械句
命名规则:<领域1>_<领域2>_<YYYY-MM-DD>.md
- 多领域时按领域分组。
- 单领域时不分组。
- 日报头部必须包含
Field Profiles,每个领域给出:Canonical EN(英文领域名)Keywords(检索关键词)Venues/Journals(相关会议或期刊)
- 分类字段约定:
primary_categories:检索与过滤实际使用的主分类categories:扩展参考分类(展示用)
- 去重状态约定:
- 仅使用
data/state.json -> sent_versions_by_sub - 全局
sent_ids/sent_versions视为弃用字段,不再参与去重 - 去重状态每 7 天自动清空一次
- 仅使用
运行命令
- 健康检查:
python scripts/doctor.py
- 通用运行:
python scripts/run_digest.py --emit-markdown
- 精确 cron / 定时任务(推荐):
python scripts/run_digest.py --config config/subscriptions.json --emit-markdown
- 精确 cron 示例:
0 12 * * * (Asia/Shanghai)->cd <repo> && conda run -n arxiv-digest-lab python scripts/run_digest.py --config config/subscriptions.json --emit-markdown
- OpenClaw cron 兼容模板:
0 12 * * * (Asia/Shanghai)+export PATH="..." && conda run -n arxiv-digest-lab python scripts/run_digest.py --only-due-now --due-window-minutes 15 --emit-markdown
- 只有在平台不支持精确 cron,或者一个共享任务需要兼容多个时间点订阅时,才使用轮询模式:
python scripts/run_digest.py --config config/subscriptions.json --only-due-now --due-window-minutes 15 --emit-markdown
- GitHub Actions 仅是可选远端方案,不应作为“安装到本地 skill 后”的默认调度方式。
- 即时推送(不依赖 Actions):
python scripts/instant_digest.py --fields "数据库优化器,推荐系统" --limit 20 --time-window-hours 72- 默认仅输出完整 Markdown 正文到聊天(不附加 JSON 摘要)
安装
推荐 Conda 环境:arxiv-digest-lab
conda create -n arxiv-digest-lab python=3.10 -y
conda activate arxiv-digest-lab
pip install argostranslate pypdf
python scripts/install_argos_model.py --from-code zh --to-code en
python scripts/install_argos_model.py --from-code en --to-code zh
pip install sentence-transformers
python scripts/install_embedding_model.py --model BAAI/bge-m3
失败兜底
- 翻译失败输出
[待翻译],不中断主流程。 - API 请求自动重试。
- 无命中时输出“当前窗口无新增论文”及统计信息。
单篇论文解读写作规范(Agent)
当用户单独提交一篇论文要求解读时,Agent 必须优先阅读 PDF 全文(至少覆盖 Abstract / Introduction / Method / Experiments / Conclusion),并使用以下固定提示词框架进行中文结构化输出。
这些规则属于 Agent 行为规范,维护在 SKILL.md 中,不应在 run_digest.py 里硬编码风格替换规则。
推荐提示词(可直接复用):
你是一名科研助手。请仔细阅读以下论文,并对其进行系统、结构化的分析与解读。
请按照以下结构输出:
研究问题(Research Problem)
- 论文试图解决什么问题?
- 为什么这个问题重要?
- 现有方法有哪些局限?
核心思想(Core Idea)
- 论文的核心直觉是什么?
- 作者提出了什么关键思想使方法有效?
方法(Method)
详细解释论文的方法,包括:
- 模型整体架构
- 各个模块的作用
实验设计(Experiments)
总结实验设置,包括:
- 使用的数据集
- 对比方法(Baselines)
- 评价指标
- 实验结果
并解释:
- 为什么该方法效果更好?
- 实验是否充分?
主要贡献(Contributions)
列出论文的主要贡献。
优点(Strengths)
分析该工作的优势,例如:
- 方法创新性
- 实验设计
- 实际应用价值
局限性(Limitations)
指出可能存在的问题,例如:
- 方法假设
- 实验不足
- 可扩展性问题
对研究者的启示(Research Insights)
- 该论文最值得学习的思想是什么?
- 未来可以如何改进或扩展?
11. 通俗解释
用简单易懂的语言解释这篇论文,使研究生能够快速理解核心思想。
请使用清晰的小标题和条理化结构进行中文输出。输出的内容不少于1000字。
输出约束:
- 必须使用读者视角(“本文/该研究”),不要使用作者自述视角(“我们提出/我们设计”)。
- 禁止逐句翻译论文原文;要做信息提炼、逻辑重组与批判性分析。
- 优先引用方法与实验中的关键设计,不要只重复摘要内容。
Comments
Loading comments...
