Hermes ArXiv Agent - Full Setup Guide¶
Repo: genggng/hermes-arxiv-agent | ⭐ 91 Author: genggng | Language: Python License: MIT
The Hermes ArXiv Agent is a Hermes skill that automates the academic paper pipeline: daily arXiv fetching, AI-generated Chinese summaries with author affiliations, Feishu (Lark) notifications, and a local static reading website.
Prerequisites¶
- Python 3.11+
- Hermes Agent installed
- Feishu/Lark bot (for notifications - optional)
- Internet access for arXiv API
Installation¶
git clone https://github.com/genggng/hermes-arxiv-agent.git
cd hermes-arxiv-agent
pip install -r requirements.txt
Configuration¶
1. arXiv Categories¶
Edit config.yaml to set your categories:
arxiv:
categories:
- cs.AI # Artificial Intelligence
- cs.CL # Computation and Language
- cs.LG # Machine Learning
- stat.ML # Machine Learning (Statistics)
max_results: 50
fetch_time: "08:00" # Daily fetch time (UTC)
Common categories:
| Code | Field |
|------|-------|
| cs.AI | Artificial Intelligence |
| cs.CL | Computation & Language (NLP) |
| cs.CV | Computer Vision |
| cs.LG | Machine Learning |
| cs.SE | Software Engineering |
| stat.ML | ML (Statistics) |
| math.OC | Optimization & Control |
2. AI Summary Provider¶
Configure the AI backend for generating summaries:
ai:
provider: "openai" # or "deepseek", "ollama", "anthropic"
model: "gpt-4o"
api_key: "${OPENAI_API_KEY}"
summary_language: "zh" # "zh" for Chinese, "en" for English
max_tokens: 500
3. Feishu/Lark Notification (Optional)¶
feishu:
enabled: true
webhook_url: "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx"
secret: "your-bot-secret"
4. Local Website¶
website:
enabled: true
output_dir: "./public"
host: "0.0.0.0"
port: 8080
title: "My ArXiv Feed"
Usage¶
Install as Hermes Skill¶
# Copy skill to Hermes skills directory
cp -r hermes-arxiv-agent ~/.hermes/profiles/default/skills/
# Or link it
ln -s $(pwd) ~/.hermes/profiles/default/skills/hermes-arxiv-agent
Manual Run¶
# Fetch papers for today
python3 fetch.py
# Generate summaries
python3 summarize.py
# Build static website
python3 build_site.py
# Send Feishu notification
python3 notify.py
Scheduled via Hermes Cron¶
# Create a daily cron job
hermes cron create \
--name "arxiv-daily-fetch" \
--schedule "0 8 * * *" \
--command "cd ~/hermes-arxiv-agent && python3 fetch.py && python3 summarize.py && python3 notify.py"
Output Structure¶
After running, your directory will look like:
hermes-arxiv-agent/
├── papers/
│ ├── 2026-07-04/
│ │ ├── 2401.12345.json # Raw paper metadata
│ │ ├── 2401.12345_summary.md # AI-generated summary
│ │ └── ...
│ └── index.json # All-time index
├── public/ # Static website
│ ├── index.html
│ ├── papers/
│ └── assets/
└── logs/
└── fetch.log
Feishu Notification Format¶
Each notification card includes: - Paper title (with arXiv link) - AI summary (Chinese by default) - Authors and affiliations - Categories and keywords - PDF link
Troubleshooting¶
"arXiv API rate limited"¶
arXiv allows ~1 request per 3 seconds. The agent includes built-in rate limiting. If you still hit limits:
arxiv:
request_delay: 5 # Increase delay between requests
"Feishu webhook returns 403"¶
Check that: 1. The webhook URL is correct 2. The bot has permission to post in the target chat 3. The secret is configured (if secret-mode webhook)
"Chinese summaries are low quality"¶
Try a different model or increase max_tokens:
ai:
model: "deepseek-chat" # Strong Chinese performance
max_tokens: 800
"Static site not rendering"¶
Make sure the public/ directory is writable and you have basic HTML templates in templates/.
Alternatives¶
| Tool | Language | Notes |
|---|---|---|
| hermes-arxiv-agent | Python/Chinese | This guide |
| arxiv-sanity | Python/English | Andrej Karpathy's arxiv browser |
| Semantic Scholar API | REST | Academic paper search |
| Paper Digest | SaaS | Auto-summarization service |
Guide last updated: July 4, 2026 | Repo | Report issue
Integration with CorpusIQ¶
CorpusIQ is the connector layer that lets AI assistants read the systems a business already runs on - accounting, payments, CRM, email, files and analytics - and answer with the source named. It is read-only by design: it retrieves data and never writes to, or acts in, a connected system, which is what makes it safe to point at live accounts.
This page is part of the CorpusIQ directory, the reference we maintain for the MCP server and agent-skill ecosystem. Run alongside CorpusIQ, a third-party server like this one can be combined with a company's own business data in a single answer.