v0.2 — 新增自动升级

scholar-deep-research

从研究问题到带引用的结构化报告。跨 OpenAlex、arXiv、Crossref、PubMed 多源聚合——透明排序、引用追踪、成稿前强制自我批判。

git clone https://github.com/Agents365-ai/scholar-deep-research.git ~/.claude/skills/scholar-deep-research

为什么选这个 Skill

脚本驱动、全程有状态、可恢复。每一步都会写入 research_state.json,session 崩溃不会丢语料。

🧭

7 阶段工作流

问题拆解 → 检索 → 排序 → 精读 → 引用追踪 → 综合 → 自我批判 → 成稿。每阶段都有门控,通过前校验状态文件。

🌐

4 源文献聚合

OpenAlex(2.4 亿+ 条,主干)、arXiv(预印本)、Crossref(DOI 元数据)、PubMed(生物医学)。全部免 API key。

📏

透明排序

公开公式: α·相关 + β·引用 + γ·时效 + δ·期刊。每篇论文的评分分量都写入 state,报告可以引用自己的方法论。

🛡️

强制自我批判

Phase 6 运行 14 项对抗性检查:悬空论断、期刊/作者偏倚、时效坍塌、未受质疑的高引论文。结果写入报告附录。

💾

可恢复状态

每次查询、每篇论文、每个决定都保存在 research_state.json。跨天暂停、崩溃、恢复都不会丢失语料。

🔁

自动升级

Phase 0 Step 0 在每次调用时自动 fast-forward 到 origin 最新版。用户不必知道要升级——永远在运行最新版本。

工作流程

每个阶段都会读写 research_state.json。Phase 6 自我批判如果发现覆盖缺口,会回到 Phase 1 补检索;其余阶段是线性的。

flowchart LR
    Q([研究问题]) --> P0[0 · 拆解]
    P0 --> P1[1 · 检索]
    P1 --> P2[2 · 排序]
    P2 --> P3[3 · 精读]
    P3 --> P4[4 · 追引]
    P4 --> P5[5 · 综合]
    P5 --> P6[6 · 自我批判]
    P6 -- 存在缺口 --> P1
    P6 --> P7[7 · 成稿]
    P7 --> OUT([带引用报告 + .bib])

    STATE[(research_state.json)]
    P0 & P1 & P2 & P3 & P4 & P5 & P6 & P7 <-.-> STATE

    classDef phase fill:#1c2a4a,stroke:#58a6ff,color:#e6edf3;
    classDef state fill:#1a3a1a,stroke:#3fb950,color:#e6edf3;
    class P0,P1,P2,P3,P4,P5,P6,P7 phase;
    class STATE state;
        

检索停止依据是饱和度信号,不是固定轮数:一轮结束的条件是新增论文占比 <20% 且新增论文中没有引用数 >100 的。自我批判的发现会写回 state,并进入最终报告的附录。

Agent 原生 CLI

每个脚本只在 stdout 打印唯一一个 JSON envelope,并返回稳定的退出码。为 LLM 编排器设计,不只是为人类。遵循 agent-native CLI 的 7 项原则。

成功

# python scripts/search_openalex.py \ # --query "transformer" --limit 5 --state s.json { "ok": true, "data": { "source": "openalex", "query": "transformer", "round": 1, "count": 5 } } # exit 0

失败

# openalex.org 网络抖动 { "ok": false, "error": { "code": "upstream_error", "message": "503 Service Unavailable", "retryable": true, "source": "openalex" } } # exit 2(可重试)

每个脚本都支持 --schema 预解析——agent 不用读文档就能发现参数。高开销调用(引用追踪)接受 --idempotency-key——重试直接命中缓存,不会重复消耗 API 配额。

对比原生 Agent

用这个 skill 和直接 prompt 一个 LLM 的差别。

能力原生 Agent本 Skill
多源检索单源为主✓ 4 源聚合
饱和度停止信号一次性✓ 每源分别校验、最小轮数门控
跨源去重✓ DOI 优先 + 标题相似度
透明排序公式不透明✓ 公式 + 分量写入 state
正向/反向引用追踪✓ OpenAlex 图 + 幂等
可恢复状态每轮无状态✓ research_state.json
报告原型选择通用大纲✓ 5 种原型
强制自我批判✓ 14 项检查(Phase 6)
引用锚点强制论断悬空✓ 每条论断都需 [^id]
BibTeX / CSL-JSON / RIS 导出✓ 从 state 生成
确认偏误兜底✓ 主动搜索反驳文献
调用时自动升级N/A✓ Phase 0 Step 0
MCP 优雅降级硬绑定单一工具✓ MCP 失败时脚本照常运行

5 种报告原型

给合适的问题选合适的结构——从用户意图推导,不强行套通用大纲。

📖

文献综述(Literature Review)

"这个领域当前进展如何?" 主题分块、综合、缺口分析。意图是"综述全景"时的默认选项。

🔬

系统综述(Systematic Review)

面向窄问题的多研究 PRISMA-lite。数据抽取表 + 汇总发现 + 显式入排标准。

🗺️

范围综述(Scoping Review)

"哪些被研究过、怎么研究的?" 宽度优先。覆盖地图 + 方法清单 + 研究空白。

⚖️

对比分析(Comparative)

A vs B 正面对比。对比轴 + 逐轴判定 + 证据支持的推荐结论。

📝

课题背景(Grant Background)

课题申请的叙事导入:问题重要性 → 已有工作 → 存在缺口 → 我们的方法为什么值得做。

🎯

意图驱动

Phase 0 根据问题自动匹配合适的原型;拿不准时会反问。原型决定了整个下游流程的形状。

安装

选一个平台。克隆之后跑 pip install -r requirements.txthttpxpypdf,无需 API key。

# 全局安装(所有项目可用)
git clone https://github.com/Agents365-ai/scholar-deep-research.git \
  ~/.claude/skills/scholar-deep-research
cd ~/.claude/skills/scholar-deep-research
pip install -r requirements.txt

# 项目级安装
git clone https://github.com/Agents365-ai/scholar-deep-research.git \
  .claude/skills/scholar-deep-research
# 全局安装
git clone https://github.com/Agents365-ai/scholar-deep-research.git \
  ~/.config/opencode/skills/scholar-deep-research
cd ~/.config/opencode/skills/scholar-deep-research
pip install -r requirements.txt

# 项目级安装
git clone https://github.com/Agents365-ai/scholar-deep-research.git \
  .opencode/skills/scholar-deep-research
# 通过 ClawHub 注册表
clawhub install scholar-deep-research

# 手动安装
git clone https://github.com/Agents365-ai/scholar-deep-research.git \
  ~/.openclaw/skills/scholar-deep-research
# 安装到 research 分类
git clone https://github.com/Agents365-ai/scholar-deep-research.git \
  ~/.hermes/skills/research/scholar-deep-research

# 或添加到 ~/.hermes/config.yaml:
# skills:
#   external_dirs:
#     - ~/myskills/scholar-deep-research
# 用户级安装
git clone https://github.com/Agents365-ai/scholar-deep-research.git \
  ~/.agents/skills/scholar-deep-research

# 项目级安装
git clone https://github.com/Agents365-ai/scholar-deep-research.git \
  .agents/skills/scholar-deep-research
# 通过 SkillsMP CLI
skills install scholar-deep-research

最省事的安装方式: 直接对 agent 说——"帮我装 https://github.com/Agents365-ai/scholar-deep-research 并跑 pip install -r requirements.txt"。Claude Code、OpenCode、OpenClaw、Hermes、Codex、pi-mono 都会自动把它放到正确位置。