@ventaozzz/arxiv-daily-pusher
BAutomatically fetch yesterday's arXiv papers, rank by keyword relevance, and push to Feishu (Lark) via webhook.
Install
agr install @ventaozzz/arxiv-daily-pusher --target claudeWrites 10 files into .claude/skills/, pinned to git-f81d8064.
- .claude/skills/arxiv-daily-pusher/.gitignore
- .claude/skills/arxiv-daily-pusher/README.md
- .claude/skills/arxiv-daily-pusher/SKILL.md
- .claude/skills/arxiv-daily-pusher/arxiv-daily-pusher-feishu-demo.pdf
- .claude/skills/arxiv-daily-pusher/config.example.yaml
- .claude/skills/arxiv-daily-pusher/fetch_papers.py
- .claude/skills/arxiv-daily-pusher/main.py
- .claude/skills/arxiv-daily-pusher/push_feishu.py
- .claude/skills/arxiv-daily-pusher/rank_papers.py
- .claude/skills/arxiv-daily-pusher/requirements.txt
Document
arXiv Daily Paper Pusher
Description
Automatically fetch yesterday's arXiv papers, rank by keyword relevance, and push to Feishu (Lark) via webhook.
Features
- Multi-group support with independent keywords
- Smart scoring: title matches weighted 2x, abstract 1x
- Dual-mode API: arxiv library with automatic HTTP fallback
- Per-group or single message push strategies
- Built-in scheduler (
--schedule HH:MM) — no cron needed - Cross-platform: Windows / Linux / macOS
Schedule
schedule: "30 2 * * *"
Runs daily at 10:30 AM Beijing Time (02:30 UTC).
Requirements
- Python 3.10+
- Dependencies:
arxiv,PyYAML,requests,schedule - Feishu Incoming Webhook URL
Quick Start
- Install:
pip install -r requirements.txt
- Configure:
cp config.example.yaml config.yaml
# Edit config.yaml with your webhook URL and keywords
- Run (single):
python main.py
- Run (scheduled, daily at 10:30):
python main.py --schedule 10:30
Configuration
See config.example.yaml for full configuration options:
groups: Research groups with keywordsfeishu_webhook: Your Feishu bot webhook URLtop_k: Papers per group (default: 6)timezone_offset: Hours from UTC (default: 8 for Beijing)api_mode: "auto" | "arxiv_only" | "http_only"push_strategy: "per_group" | "single"
Feishu Setup
See arxiv-daily-pusher-feishu-demo.pdf for a detailed step-by-step guide.
Trustgrade B
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- warnLicenseno SPDX license detected
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-f81d80647ef12026-07-31