名称: 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);否则保留默认值。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。CORS_ORIGINS。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。seen、kept、时间窗口)。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。