Paper Navigator 是一个用于查找与阅读学术论文的技能,检索来源为 Semantic Scholar(S2)与 arXiv。它的核心思路是:按用户意图路由,按相关性判定结果。
用途与路由 技能内部有一个路由器,根据用户输入走三条分支:
- POINT(单篇论文):用户给出标题、URL、arXiv/DOI/PMID/S2 编号,或明确说“读这篇论文”时,只做一次调用,输出 Paper Card。
- LIST(默认分支):用户说“找关于 X 的论文”“有没有这样一篇论文”“同时满足 A 和 B 的论文”时,先做 Probe,再最多进行三轮论文检索(R2/R3/R4),输出带逐条准则证据的候选清单。
- ITERATIVE(迭代式):用户要求“X 的综述”“30 篇以上关于 Y 的论文”,或由 research-survey / research-ideation 调用时,同样先 Probe 再最多三轮,输出排序表,报告交由 research-survey 处理。 不确定时默认走 LIST。
主要能力与工作方式
- POINT 分支:对 URL 使用 python scripts/fetch_paper.py --url <URL>,获取 Paper Card 与阅读笔记;对标题使用 python scripts/match_paper_by_title.py --title "<title>"(可加 --fallback-search 处理拼写错误);对裸 ID 使用 python scripts/fetch_paper.py --paper-id <ID> --metadata-only。Paper Card 包含标题、作者、年份、会议/期刊、引用数、编号与一句话 TLDR。
- LIST / ITERATIVE 六步流程:1)解析意图,明确研究对象与约束;2)用 think_tool 拟定 RUBRIC,包含 2–4 条原子化准则(标 [core] 或 [secondary])、需逐字保留的命名实体、3–5 个角度标签、时效信号与排除项;3)检索,先 Probe(两条并行查询),再按广度/深化/收尾最多三轮;4)每轮后按准则逐条打 ✓/~ /✗ 掩码并分档;5)饱和判定,决定继续或停止;6)排序与输出,全核心(All-core)优先于部分(Partial),无数字评分。
- 相关性判定由智能体自行完成,不调用 LLM 作为裁判,也不做数值打分。
- 引用扩展:可使用 python scripts/citation_traverse.py(--direction co-citation / forward)与 python scripts/recommend.py --positive <SEED1>,<SEED2> 扩大检索。
- 边界论文可用 python scripts/snippet_search.py 批量抓取正文片段补充证据。
安装与配置 脚本路径相对本技能目录,通过 python scripts/<name>.py 运行。依赖:pip install deepxiv-sdk httpx(也在技能根目录的 requirements.txt 中列出),需安装到用户实际使用的环境。 arXiv 访问(arxiv_monitor、scholar_search 回退)使用 DeepXiv SDK:先 pip install deepxiv-sdk,再执行 deepxiv token 一次性领取免费 API token(写入 ~/.env)。技能会从环境变量 DEEPXIV_API_TOKEN/DEEPXIV_TOKEN,或 ./.env / ~/.env 读取 token;约 10,000 请求/天。 环境变量:S2_API_KEY 用于全部 S2 脚本,缺失时 scholar_search 回退到 arXiv(经 DeepXiv),且 citation_traverse / recommend / snippet_search 会被禁用;DEEPXIV_API_TOKEN 用于 arxiv_monitor 与 scholar_search 回退;JINA_API_KEY 用于 fetch_paper,免费额度无需 key 也可用;GITHUB_TOKEN 用于 github_search、find_code,可提高速率限制;PAPER_NAV_PAPERS_DIR 用于 fetch_paper 全文,无默认值,需自行设置或传 --metadata-only。完整环境变量列表见 references/env-vars.md。
五条红线 始终遵守:记录历史、不重复已跑过的查询,空结果应换角度而非换同义词;围绕信息缺口而非模糊感觉检索;一条查询只对应一个概念,比较(A vs B)、多属性、跨年份都要拆成独立调用;不臆造,所有事实(标题、作者、年份、引用数、内容)必须来自工具结果;引用或作废——声称某论文满足某准则时,必须引用其摘要/tldr/片段中不超过 80 字符的原文,无引用则不得声称满足该准则。
检索规则要点 查询词优选 3–6 个英文术语,过短易过度召回、过长会稀释排序;使用学术术语(机制、基准),不用“它如何工作”式表述;不要加入 survey/review/tutorial 词,除非用户明确要求综述;使用裸实体名,不加 paper/pdf/arxiv/original;时间意图放进 --year-min/--year-max 参数,不写进查询词;禁止使用引号、括号、OR、AND、|、site:、filetype:;同一轮内查询内容词重合度不超过 60%。当用户查询含最新/近年/近两年/前沿/SOTA/latest/recent/state-of-the-art 等时效信号时,从 R2 起将 --year-min 设为系统年份前一年起的最近两年(示例:系统日期 2026-08 则 --year-min 2025),不扩展到三四年。 若无 S2_API_KEY,可用 arxiv_monitor --keywords "<variant>" --match-mode flexible --days 3650 替代 scholar_search。
适用场景与限制 适用于需要按明确准则筛选文献、追溯技术脉络、做 A 对 B 比较、寻找某一领域经典/代表工作或少量高相关论文的场景。限制包括:最多三轮论文检索(Probe 不计入,无 R5);缺少 S2_API_KEY 时会损失引用遍历、推荐与片段检索能力,并回退到 arXiv;相关性判定为主观判断而非数值评分;输出规模有软上限(“正好 N 篇”取 N;“有没有这样一篇”/“推荐一篇”取 1–2 并加粗第一名;“找关于…”取 3–5;“综述”类最多 10 篇,用户明确要求综述时另加 1–2 篇综述);若始终没有全核心论文,应如实报告“未找到完全匹配的论文”并列出最强的部分匹配及缺口。另有敏感点:ambiguous 查询(项目昵称、代号、零命中的单个大写词)需先用 scholar_search 精确检索加 web/GitHub 检索解析标识,再重新路由。
关于具体功能的实现细节、界面呈现、收费与价格信息,资料中暂未提供。