Oh My Paper 完全指南:从文献调研到论文发表,一个终端全搞定

2026年4月4日

20 分钟上手|5 Agent 协作 + 34 研究技能|把 Claude Code 变成你的专属科研实验室


项目简介

Oh My Paper 是一个开源 Claude Code 插件,它解决的问题很直接:Claude Code 能帮你写代码,但科研工作远不止写代码——你还需要文献调研、创新点评估、实验设计、论文撰写、引用核查这些环节,而它们没有一个好的工具来串联。

Oh My Paper 的做法是给 Claude Code 装上一套结构化科研流水线:5 个专职 Agent 角色各自管一块、34 个研究技能按需加载、后台 Hook 自动记住项目状态。装好之后,每次打开 Claude Code,它会问你「今天做什么角色」,然后自动加载对应的记忆文件,从上次的断点继续。整个过程不需要任何 GUI,所有操作都在终端里完成。

TIP

项目地址:https://github.com/LigphiDonk/Oh-my--paper,MIT 许可证,支持 Claude Code 插件生态。


目标读者画像

本文面向以下开发者:

  • 有 1-5 年开发经验,有过(或正在经历)写论文、做研究的过程
  • 想用 AI 辅助科研,但不喜欢在各种工具之间来回切换
  • 对 Agent 协作模式、多角色记忆隔离这些概念感兴趣,想找实战案例

如果你已经有明确的科研方向(比如 CV、NLP、系统架构),或者你在公司做内部技术调研,Oh My Paper 的流水线都适用。


核心依赖与环境

开始之前,确保你的环境满足以下条件:

依赖最低要求说明
Claude Code最新版官方安装指南
Node.jsv18+Claude Code 插件运行基础
Python3.10+远程实验脚本、LaTeX 编译需要
LaTeXTeX Live 2020+可选,论文撰写时用到
网络能访问 ArXiv / Semantic Scholar文献搜索必需

WARNING

Oh My Paper 是 Claude Code 插件,不是独立应用。你必须先装好 Claude Code 才能使用它。Windows 用户建议用 WSL2 获得最佳体验。


完整项目结构树

运行 /omp:setup 后,项目目录结构如下:

my-research/
├── paper/                     # LaTeX 论文工作区
│   ├── main.tex
│   ├── sections/              # 各章节 .tex 文件
│   └── refs/                 # 参考文献 .bib 文件
├── experiment/                # 实验代码与脚本
├── survey/                   # 文献调研产出
├── ideation/                 # 创新点与评估结果
├── promotion/                # 幻灯片、Demo、推广材料
├── skills/                   # 项目本地自定义技能
├── .pipeline/
│   ├── tasks/
│   │   └── tasks.json        # 跨所有阶段的任务树
│   ├── docs/
│   │   └── research_brief.json
│   └── memory/               # Agent 记忆文件
│       ├── project_truth.md   # 项目基准 + 进展日志
│       ├── orchestrator_state.md
│       ├── execution_context.md
│       ├── experiment_ledger.md
│       ├── result_summary.md
│       ├── review_log.md
│       ├── literature_bank.md
│       ├── agent_handoff.md
│       └── decision_log.md
├── .claude/
│   └── settings.json         # SessionStart hook 注册
├── CLAUDE.md
└── AGENTS.md

手把手安装步骤

第一步:添加插件市场

在 Claude Code 里运行以下命令,把 Oh My Paper 的插件市场地址注册进去:

/plugin marketplace add LigphiDonk/Oh-my--paper

这一步不需要克隆整个仓库,Claude Code 会从插件市场拉取插件清单。

第二步:安装插件

/plugin install omp@oh-my-paper

安装完成后,运行 /plugin 验证:

/plugin
# 预期输出应包含:omp @ oh-my-paper, Status: Enabled

第三步:重启 Claude Code

WARNING

这是最容易忽略的一步。SessionStart hook 必须重启 Claude Code 才能生效,跳过这一步会导致每次打开会话都没有角色选择提示。

完全关闭当前 Claude Code 窗口,再重新打开。

第四步:初始化研究项目

进入你的研究项目目录,运行:

/omp:setup

这个命令做了三件事:

  1. 创建 .pipeline/ 目录及其所有子目录和记忆文件
  2. .claude/settings.json 里注册 SessionStart hook
  3. 生成默认的 tasks.jsonresearch_brief.json

初始化完成后,目录结构就如上面「完整项目结构树」所示。

验证安装成功

重新打开 Claude Code(在初始化过的项目目录下),你应该能看到 Claude 弹出角色选择菜单,询问你今天以哪个角色开始工作。如果看到了,说明全部安装成功。


5 阶段科研流水线详解

Oh My Paper 把整个科研流程拆成 5 个阶段,每阶段对应一条命令和一组推荐技能。

阶段 1|Survey:文献调研

运行命令:

/omp:survey

这个阶段做的事:让 Claude 根据你的研究方向搜索相关论文,提取摘要和关键信息,最终整理成一份 literature_bank.md

常用技能:

  • paper-finder — 从 ArXiv、Semantic Scholar 搜索相关工作
  • paper-analyzer — 提取论文核心贡献、方法、局限
  • biorxiv-database — 如果做生物医学方向,搜索 BioRxiv

核心产出文件:survey/literature_bank.md

典型工作流:

你:/omp:survey
→ Claude 询问研究方向关键词
→ 自动搜索 → 整理文献卡片 → 写入 literature_bank.md
→ 展示文献调研摘要,让你确认是否补充

阶段 2|Ideation:创新点生成

运行命令:

/omp:ideate

基于阶段 1 的文献调研结果,Claude 生成潜在创新点并逐一评估可行性。

常用技能:

  • inno-idea-generation — 大规模创新点头脑风暴
  • inno-idea-eval — 从 novelty、feasibility、impact 三个维度评分
  • research-idea-convergence — 收敛到 2-3 个最具潜力的方向

核心产出文件:ideation/ 目录下的评估结果

TIP

Ideation 阶段结束后,记得让 Claude 把最终选定的方向写入 research_brief.json,后续实验和写作都会引用这个文件。

阶段 3|Experiment:实验设计与执行

运行命令:

/omp:experiment

这个阶段覆盖最广:设计实验方案、编写评估代码、本地或远程运行、分析结果。

常用技能:

  • inno-experiment-dev — 生成实验代码骨架
  • research-experiment-driver — 管理实验迭代循环
  • remote-experiment — SSH 到远程 GPU 节点运行(见「远程实验」章节)

核心产出文件:experiment/ 目录 + experiment_ledger.md(实验历史记录)

阶段 4|Publication:论文章节撰写

运行命令:

/omp:write

把实验结果转化成论文文本,生成图表和标题,管理 LaTeX 文件。

常用技能:

  • inno-paper-writing — 通用论文章节生成
  • ml-paper-writing — 机器学习/AI 方向的论文模板
  • scientific-writing — 学术写作规范(时态、措辞、结构)
  • inno-figure-gen — 生成图表代码(Matplotlib、Plotly)
  • inno-reference-audit — 自动检查引用格式是否规范

核心产出文件:paper/ 目录下的 LaTeX 文件

阶段 5|Promotion:成果推广

运行命令:

/omp:plan
# 在 Promotion 阶段,选择制作演示材料相关技能

把论文成果转化为演示幻灯片、技术博客、Grant 提案等。

常用技能:

  • making-academic-presentations — 学术报告 PPT 生成
  • inno-grant-proposal — 资金申请书撰写
  • inno-rclone-to-overleaf — 自动把本地 LaTeX 同步到 Overleaf

5 大 Agent 角色与记忆隔离机制

这是 Oh My Paper 最核心的设计理念。

Agent 角色一览

角色职责描述核心记忆文件
Conductor(统筹者)全局规划、派发子任务、每个阶段完成后自动更新项目状态project_truth.md · tasks.json · orchestrator_state.md
Literature Scout(文献侦察)搜索论文、整理文献笔记literature_bank.md · execution_context.md
Experiment Driver(实验执行)设计实验、编写评估代码、运行与记录experiment_ledger.md · research_brief.json
Paper Writer(论文写手)撰写章节、生成图表、审查引用result_summary.md · literature_bank.md
Reviewer(评审者)同行评审、质量把关、一致性检查execution_context.md · project_truth.md

记忆隔离原理

每个角色只能读写自己职责范围内的记忆文件,无法看到其他角色的内部状态。这种设计的核心好处是防止上下文污染——比如 Paper Writer 不会看到 Experiment Driver 的中间调试结果,Literature Scout 不会因为看了实验数据而先入为主影响文献评估。

角色之间通过两个「公共区域」通信:

tasks.json         ← 所有角色读写,记录任务完成状态
project_truth.md   ← 所有角色追加,记录项目整体进展

自动状态同步

最重要的设计细节:Conductor 在每个子任务完成后自动更新这两个公共文件,不需要你手动提醒。

子任务完成
  → Conductor 自动标记 tasks.json 中对应任务为 done
  → Conductor 自动往 project_truth.md 追加进展记录
    → 下次会话打开,Claude 读取这两个文件,自动从断点继续

TIP

如果你想强制让 Conductor 输出当前全局进度,运行 /omp:plan,它会读取 tasks.jsonproject_truth.md,展示完整的任务树和当前阶段。


34 个研究技能速查

Oh My Paper 内置 34 个研究技能,覆盖科研全流程。以下按类别整理,方便按需查找:

文献类

  • paper-finder — 跨数据库论文搜索
  • paper-analyzer — 论文核心贡献提取
  • paper-image-extractor — 从 PDF 提取图表
  • research-literature-trace — 追踪一篇论文的引用链
  • biorxiv-database — BioRxiv 专项搜索
  • dataset-discovery — 相关数据集发现

调研与创意类

  • inno-deep-research — 深度研究模式
  • gemini-deep-research — Gemini 深度研究集成
  • inno-code-survey — 代码实现调研
  • inno-idea-generation — 创新点批量生成
  • inno-idea-eval — 创新点多维评估
  • research-idea-convergence — 收敛到最优方向

实验类

  • inno-experiment-dev — 实验代码生成
  • inno-experiment-analysis — 实验结果分析
  • research-experiment-driver — 迭代式实验管理
  • remote-experiment — 远程 GPU 实验循环

写作类

  • inno-paper-writing — 通用论文章节
  • ml-paper-writing — ML/AI 方向论文
  • scientific-writing — 学术写作规范
  • inno-figure-gen — 图表生成
  • inno-reference-audit — 引用格式审查
  • research-paper-handoff — Agent 间交接规范

规划与评审类

  • inno-pipeline-planner — 流水线规划
  • research-pipeline-planner — 研究阶段规划
  • inno-paper-reviewer — 论文质量评审
  • inno-prepare-resources — 资源准备清单
  • inno-rclone-to-overleaf — Overleaf 同步

演示与提案类

  • making-academic-presentations — 学术报告 PPT
  • inno-grant-proposal — 资金申请书

Agent 调度类

  • claude-code-dispatch — 调度 Claude Code 子任务
  • codex-dispatch — 调度 Codex 并行处理

领域专项类

  • academic-researcher — 通用学术研究
  • bioinformatics-init-analysis — 生物信息学分析
  • research-news — 追踪研究领域最新动态

技能按需加载,运行 /omp:survey 时 Claude 会自动推荐相关技能,你也可以在 skills/ 目录下添加自定义技能。


典型工作流完整演示

以一篇 AI 方向的论文为例,完整走一遍 5 阶段流水线。

Step 1:项目初始化

# 进入研究目录
cd ~/research/my-paper

# 在 Claude Code 里:
/omp:setup
# 输出:.pipeline/ 已创建,SessionStart hook 已注册

Step 2:文献调研

# 在 Claude Code 里:
/omp:survey
# → Claude 询问:「你的研究方向是什么?」
# → 输入:LLM reasoning, chain-of-thought prompting
# → Claude 自动搜索 ArXiv/Semantic Scholar
# → 整理 20+ 篇相关工作到 survey/literature_bank.md
# → 输出调研摘要,确认是否需要补充

Step 3:创新点生成

/omp:ideate
# → Claude 读取 literature_bank.md
# → 生成 8 个潜在创新点
# → 每个点从 novelty / feasibility / impact 三个维度打分
# → 收敛到 2 个方向,写入 research_brief.json

Step 4:实验设计与运行

/omp:experiment
# → Claude 读取 research_brief.json
# → 设计实验方案(基线、对比方法、评估指标)
# → 生成实验代码到 experiment/ 目录
# → 运行本地评估,解析指标结果
# → 结果写入 experiment_ledger.md

如果需要远程 GPU 节点运行:

# 配置远程计算节点(在 experiment/ 目录下创建 compute-config.json)
{
  "host": "gpu-server.example.com",
  "user": "researcher",
  "key_path": "~/.ssh/id_rsa",
  "remote_dir": "/home/researcher/experiments"
}

# 在 Claude Code 里:
/omp:experiment
# → Claude 检测到 compute-config.json
# → 使用 remote-experiment 技能
# → rsync 代码到远程 → SSH 运行 → 拉回结果
# → 自动解析 metrics,写入 experiment_ledger.md

Step 5:论文章节撰写

/omp:write
# → Claude 读取 experiment_ledger.md + literature_bank.md
# → 生成 Introduction / Method / Experiment 各章节 .tex
# → 生成图表(Matplotlib 脚本),编译到 paper/figures/
# → 引用审查:检查 .bib 文件格式

Step 6:同行评审

/omp:review
# → Claude 以 Reviewer 角色阅读全文
# → 检查逻辑连贯性、方法描述清晰度、实验对比充分性
# → 输出 review_log.md,列出修改建议
# → 根据建议修改后,再次 /omp:review 直至通过

Step 7:同步到 Overleaf

# 在 skills/ 目录下配置 Overleaf 同步
# 使用 inno-rclone-to-overleaf 技能
# Claude 自动把本地 paper/ 目录同步到 Overleaf 项目

远程实验详解

对于需要 GPU 算力的实验,Oh My Paper 支持完整的远程实验循环。

架构流程

本地设计方案
  → 生成实验代码
    → rsync 同步到远程服务器
      → SSH 登录远程节点
        → 在 GPU 上运行实验
          → 拉回 metrics 日志
            → 本地解析指标
              → 判断是否达到阈值
                → 迭代优化 / 结束实验

配置远程节点

experiment/ 目录下创建 compute-config.json

{
  "host": "your-gpu-server.com",
  "user": "researcher",
  "ssh_key": "~/.ssh/id_rsa",
  "remote_workspace": "/home/researcher/omp-experiments",
  "max_iterations": 5,
  "success_threshold": {
    "accuracy": 0.92,
    "latency_ms": 200
  }
}

运行远程实验

# 在 Claude Code 里:
/omp:experiment
# → 检测到 compute-config.json
# → 自动执行:代码同步 → SSH 运行 → 结果拉回
# → 若指标未达标,自动调整超参数重跑(最多 max_iterations 次)
# → 最终结果写入 experiment_ledger.md

WARNING

远程实验会消耗服务器算力和费用。建议先用本地小数据集验证实验流程,确认无误后再切到远程 GPU 节点跑完整实验。


Codex 任务委派

如果某个实验涉及大量重复代码生成(比如需要跑 10 组不同超参数配置),可以让 Conductor 把任务委派给 Codex 并行处理。

/omp:delegate
# → Conductor 读取当前任务上下文
# → 生成带完整上下文的 Codex prompt
# → 你复制到新终端:codex "..."
# → Codex 在独立终端运行
# → 完成后在 agent_handoff.md 写入 CODEX_DONE 信号
# → Conductor 检测到信号,自动读取结果并更新 tasks.json

这个设计的好处:Claude Code 和 Codex 同时运行在不同终端,你的本地 Claude Code 不会被占用,可以同时做文献整理等其他工作。


常见问题排查

Q1:运行 /omp:setup 后,每次打开 Claude Code 没有看到角色选择提示

原因:SessionStart hook 没有被正确注册。

排查步骤

  1. 检查项目目录下是否存在 .claude/settings.json
  2. 检查该文件是否包含 hooks 配置节
cat .claude/settings.json
# 确认有 "hooks": { "SessionStart": [...] } 字段

如果没有,运行 /omp:setup 重新初始化,并确保 Claude Code 已完全重启。


Q2:插件安装成功但 /omp:survey 等命令显示「未识别命令」

原因:插件未正确加载,或 Claude Code 需要重启。

解决步骤

# 1. 卸载并重新安装
/plugin uninstall omp
/plugin install omp@oh-my-paper

# 2. 完全重启 Claude Code(关闭所有窗口)

# 3. 验证插件状态
/plugin

Q3:Literature Scout 找到的论文太少,想扩大搜索范围

原因:初始关键词过于具体,限制了搜索结果。

解决方法

在运行 /omp:survey 时,给出多个同义词和上位词:
输入:「LLM reasoning, chain-of-thought, CoT, deliberate reasoning, LLM planning」
而不是只输入:「LLM reasoning」

同时在 skills/paper-finder.md 里可以添加额外的数据库源(如 ACL Anthology、ICLR 官方页面)。


Q4:Paper Writer 生成的实验描述和实际结果对不上

原因:Experiment Driver 和 Paper Writer 之间没有及时同步最新的 experiment_ledger.md

解决方法

每次实验迭代完成后,在 Paper Writer 开始工作之前,先运行 /omp:plan 让 Conductor 同步全局状态,确保 Paper Writer 读取的是最新结果:

/omp:plan
# → Conductor 展示当前 tasks.json 状态
# → 确认 experiment 任务已标记 done
# → 然后再运行 /omp:write

Q5:远程实验 rsync 同步失败,提示 permission denied

原因:SSH 密钥权限不正确,或远程目录不存在。

排查步骤

# 1. 检查本地 SSH 密钥权限
chmod 600 ~/.ssh/id_rsa

# 2. 测试 SSH 连接(无密码登录)
ssh -i ~/.ssh/id_rsa [email protected] "echo ok"

# 3. 确保远程目录存在
ssh [email protected] "mkdir -p /home/researcher/omp-experiments"

# 4. 检查 compute-config.json 中的 remote_workspace 路径是否正确

Q6:Codex 委派后,Conductor 一直等待 CODEX_DONE 信号

原因:Codex 运行完成后没有正确写入 agent_handoff.md

解决方法

  1. 检查 Codex 运行的终端是否正常结束
  2. 手动在 .pipeline/memory/agent_handoff.md 末尾追加一行:
CODEX_DONE
result: [填写 Codex 的输出结果]
  1. 然后在 Claude Code 里继续当前工作流

扩展阅读与进阶方向

1. 自定义技能扩展

Oh My Paper 支持在项目本地 skills/ 目录下添加自定义技能。创建格式如下:

---
name: my-custom-skill
description: 针对特定研究领域的自定义分析流程
stage: survey  # 可选:survey | ideation | experiment | write | review
---

# 技能标题

## 执行步骤
1. 读取上下文文件 ...
2. 执行特定任务 ...

注册后,运行 /omp:survey 等命令时,Claude 会自动推荐相关自定义技能。

2. 多 Agent 协作进阶

如果你有多个研究方向同时推进,可以在不同子目录下各自运行 /omp:setup,每个子项目有独立的 .pipeline/ 和 Agent 团队。Conductor 角色负责跨子项目的总览与协调。

3. Overleaf 协作工作流

inno-rclone-to-overleaf 技能把本地论文同步到 Overleaf 后,可以邀请导师直接在 Overleaf 上批注修改意见,修改完成后再同步回本地。整个过程不需要手动上传下载。

4. 接入其他 LLM 后端

Oh My Paper 本身只依赖 Claude Code,但实验阶段可以配置不同的 LLM 做对比评测。在 experiment/ 目录下创建模型配置文件:

# experiment/model_configs.py
llm_configs = {
    "claude-sonnet": {"provider": "anthropic", "model": "claude-3-5-sonnet"},
    "gpt-4o": {"provider": "openai", "model": "gpt-4o"},
    "gemini-pro": {"provider": "google", "model": "gemini-1.5-pro"},
}

然后在实验代码里引用这些配置做横向对比。

5. 追踪最新研究动态

research-news 技能定期扫描 ArXiv 的最新提交,筛选出与你研究方向相关的新工作,自动更新 literature_bank.md。可以配合 cron 定时任务做到每周自动更新一次调研文献库。

Updated 2026年4月4日