名称: agentic-paper-digest-skill
描述: 使用 Agentic Paper Digest 获取并总结近期的 arXiv 和 Hugging Face 论文。当用户需要论文摘要、近期论文的 JSON 订阅源,或运行 arXiv/HF 处理流程时使用。
主页: https://github.com/matanle51/agentic_paper_digest
compatibility: 需要 Python 3、网络访问权限,以及用于引导的 git 或 curl/wget。通过 OPENAI_API_KEY 或 LITELLM_API_KEY(OpenAI 兼容)访问 LLM。
元数据: {"clawdbot":{"requires":{"anyBins":["python3","python"]}}}
OPENAI_API_KEY 或通过 LITELLM_API_BASE + LITELLM_API_KEY 使用 OpenAI 兼容的提供商来访问 LLM。git 用于引导是可选的;否则使用 curl/wget(或 Python)下载仓库。bash "{baseDir}/scripts/bootstrap.sh"
PROJECT_DIR 来覆盖克隆位置。PROJECT_DIR="$HOME/agentic_paper_digest" bash "{baseDir}/scripts/bootstrap.sh"
bash "{baseDir}/scripts/run_cli.sh"
bash "{baseDir}/scripts/run_cli.sh" --window-hours 24 --sources arxiv,hf
bash "{baseDir}/scripts/run_api.sh"
curl -X POST http://127.0.0.1:8000/api/run
curl http://127.0.0.1:8000/api/status
curl http://127.0.0.1:8000/api/papers
bash "{baseDir}/scripts/stop_api.sh"
--json 选项输出 run_id、seen、kept、window_start 和 window_end。data/papers.sqlite3(位于 PROJECT_DIR 下)。POST /api/run、GET /api/status、GET /api/papers、GET/POST /api/topics、GET/POST /api/settings。配置文件位于 PROJECT_DIR/config。环境变量可以在 shell 中设置或通过 .env 文件设置。此处的包装脚本会自动从 PROJECT_DIR 加载 .env(可通过 ENV_FILE=/path/to/.env 覆盖)。
环境变量(.env 文件或导出的变量)
- OPENAI_API_KEY:使用 OpenAI 模型时必需(litellm 会读取此变量)。
- LITELLM_API_BASE、LITELLM_API_KEY:使用 OpenAI 兼容的代理/提供商。
- LITELLM_MODEL_RELEVANCE、LITELLM_MODEL_SUMMARY:用于相关性判断和摘要生成的模型(如果未设置摘要模型,则默认使用相关性模型)。
- LITELLM_TEMPERATURE_RELEVANCE、LITELLM_TEMPERATURE_SUMMARY:数值越低,输出越确定。
- LITELLM_MAX_RETRIES:LLM 调用的重试次数。
- LITELLM_DROP_PARAMS=1:丢弃不支持的参数以避免提供商错误。
- WINDOW_HOURS、APP_TZ:时间窗口和时区。
- ARXIV_CATEGORIES:逗号分隔的 arXiv 类别(默认包括 cs.CL,cs.AI,cs.LG,stat.ML,cs.CR)。
- ARXIV_API_BASE、HF_API_BASE:如有需要,可覆盖源端点。
- ARXIV_MAX_RESULTS、ARXIV_PAGE_SIZE:arXiv 分页限制。
- MAX_CANDIDATES_PER_SOURCE:在 LLM 筛选前,每个源的候选论文上限。
- FETCH_TIMEOUT_S、REQUEST_TIMEOUT_S:源获取和单次请求的超时时间。
- ENABLE_PDF_TEXT=1:在摘要中包含 PDF 第一页文本;需要安装 PyMuPDF(pip install pymupdf)。
- DATA_DIR:papers.sqlite3 文件的存储位置。
- CORS_ORIGINS:API 服务器允许的跨域来源(逗号分隔,用于 UI)。
- 路径覆盖:TOPICS_PATH、SETTINGS_PATH、AFFILIATION_BOOSTS_PATH。
配置文件
- config/topics.json:主题列表,包含 id、label、description、max_per_topic 和 keywords。相关性分类器必须输出此处定义的主题 ID。当 apply_topic_caps=1 时,max_per_topic 也会限制 GET /api/papers 的结果数量。
- config/settings.json:覆盖获取限制(arxiv_max_results、arxiv_page_size、fetch_timeout_s、max_candidates_per_source)。可通过 POST /api/settings 更新。
- config/affiliations.json:{pattern, weight} 提升列表,通过子字符串匹配机构名称应用。权重累加并上限为 1.0。无效的 JSON 会禁用提升,因此请保持文件为严格的 JSON 格式(无尾随逗号)。
config/topics.json、config/settings.json 和 config/affiliations.json(如果存在)。config/topics.json(topics[].id/label/description/keywords、max_per_topic)。WINDOW_HOURS(或向 CLI 传递 --window-hours)仅在用户关心时;否则保持默认值 24 小时。ARXIV_CATEGORIES、ARXIV_MAX_RESULTS、ARXIV_PAGE_SIZE、MAX_CANDIDATES_PER_SOURCE。OPENAI_API_KEY 或 LITELLM_API_KEY(+ LITELLM_API_BASE 如果使用代理),并设置 LITELLM_MODEL_RELEVANCE/LITELLM_MODEL_SUMMARY。PROJECT_DIR="$HOME/agentic_paper_digest"。切勿硬编码 /Users/... 等路径。.env 文件:.env,请从仓库中的 .env.example 创建,然后请用户填写密钥和任何请求的偏好。OPENAI_API_KEY 或 LITELLM_API_KEY 中的一个。POST /api/topics 和 POST /api/settings)。scripts/run_cli.sh。scripts/run_api.sh。WINDOW_HOURS、ARXIV_MAX_RESULTS 或拓宽主题范围。WINDOW_HOURS 或 ARXIV_MAX_RESULTS;如果结果噪声过多,则降低它们。ARXIV_CATEGORIES。ENABLE_PDF_TEXT=1)。bash "{baseDir}/scripts/stop_api.sh" 或向 API 命令传递 --port 参数。WINDOW_HOURS 或验证 .env 中的 API 密钥。OPENAI_API_KEY 或 LITELLM_API_KEY。