OpenDraft 学术论文起草引擎

给一个选题,自动检索真实文献、核查 DOI,并导出 PDF、Word 或 LaTeX 的研究初稿。

Star 数
★ 497
最近更新
2 天前
License
MIT
主语言
Python

30 秒速览

运行形态
命令行工具代码库 / SDKAgent 插件 / 技能
可在哪里用
通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
Python 3.10+Google Gemini API 密钥OpenAI API 密钥(可选)Anthropic API 密钥(可选)ElevenLabs API 密钥(可选,用于音频摘要)Shell / 命令行网络访问本地文件系统
典型场景
研究生要写硕士论文或博士论文的第一版结构稿,希望先有一份 30–80 页、带真实参考文献的底稿再动笔改写。
不适合
  • 希望一键产出可提交终稿、跳过人工复核的人
  • 只需要轻量文本润色、不需要引用核查的用户

这个 Agent 能做什么,适合哪些场景?

OpenDraft 是一个开源的 Python 引擎,用 19 个分工明确的 AI Agent 把一句选题扩展成研究论文、文献综述或学位论文章节的初稿,典型产出 10k–20k+ 词、5–80+ 页,耗时约 10–20 分钟。它的核心差异在于引用核查:引擎会去 CrossRef、OpenAlex、Semantic Scholar 检索候选文献,默认只有当一条引用的 DOI 至少被其中两个数据库收录时才保留,单库或查不到的引用会被丢弃并记录原因。每条引用在 bibliography.json 中都带有 verification_status、verification_sources 等溯源字段,另有一套基于论文主题的 CitationClaimVerifier 做“来源是否真的支持该论点”的判断。使用方式有三种:作为命令行工具(opendraft <topic>)、作为 Python 库(from engine.draft_generator import DraftGenerator),或作为 Claude Code / Codex 可加载的 autonomous-research Skill。软件本身 MIT 免费,但你自带模型 API Key,单篇草稿的 API 成本约 $0.35–$3。

引擎按“研究 → 结构 → 写作 → 引用 → 润色 → 导出”六个阶段调度 19 个 Agent。研究阶段调用 CrossRef、OpenAlex、Semantic Scholar API 找候选论文,再按 DOI 逐个回查,默认 require_multi_source=True、min_confirming_sources=2,不足两条库确认的引用被丢弃;引用阶段做去重、质量过滤,并用 CitationClaimVerifier 针对论文主题给出 RELEVANT / IRRELEVANT / UNCERTAIN,报告写入 citation_claim_verification.md 与 .json。产出通过 to_pdf()、to_docx()、to_latex() 导出 PDF、Word 或 LaTeX,支持 57+ 种语言。附带工具还有 opendraft tldr(5 条要点摘要)、opendraft digest(ElevenLabs 语音简报)、opendraft revise(带版本号的草稿修订)、opendraft data(World Bank / Eurostat / Our World in Data 数据抓取)以及 --expose 快速选题模式。

  1. 研究生要写硕士论文或博士论文的第一版结构稿,希望先有一份 30–80 页、带真实参考文献的底稿再动笔改写。
  2. 科研人员准备文献综述,需要先快速确认某个选题下是否存在足够可核查的文献(可直接跑 --expose 模式)。
  3. 要为期刊投稿起草论文,最后需要 LaTeX 源码以便按期刊模板排版。
  4. 课题组成员想在做正式检索前,先拿到一份带 DOI 书目、可逐条核对的候选文献清单。
  5. Claude Code 或 Codex 用户希望把研究流程做成一个可读、可改的 Skill,直接让 Agent 执行 18 个 stage。
  6. 写作者手头有别人的 PDF 论文,想用 opendraft tldr 或 opendraft digest 快速得到要点摘要或 60 秒语音简报。

如何安装或部署这个 Agent?

前置条件:Python 3.10+,以及一个 Gemini API Key。

git clone https://github.com/federicodeponte/opendraft.git
cd opendraft
pip install -r requirements.txt

在同一目录创建 .env,填入密钥(默认走 Gemini):

GOOGLE_API_KEY=your-gemini-api-key

若要用 PDF 相关读取功能,需要额外安装可选依赖:

pip install opendraft[pdf]

如果只想把它当作 Claude Code / Codex 的 Skill 使用,可以不装 Python 引擎:

npx skills add federicodeponte/opendraft --skill autonomous-research

切到其他模型时需要额外配置:OpenAI 用 AI_PROVIDER=openai 加 OPENAI_API_KEY,Anthropic 用 AI_PROVIDER=claude 加 ANTHROPIC_API_KEY。如需语音简报,另配 ELEVENLABS_API_KEY。

如何使用这个 Agent?

作为 Python 库调用:

from engine.draft_generator import DraftGenerator

generator = DraftGenerator()
draft = generator.generate(
    topic="The Impact of AI on Academic Research",
    paper_type="master",  # research_paper, bachelor, master, phd
    language="en"
)

draft.to_pdf("thesis.pdf")
draft.to_docx("thesis.docx")
draft.to_latex("thesis.tex")

作为命令行工具,常用子命令包括:

# 快速选题概览(约比完整草稿快 3 倍)
opendraft "Neural Networks in Healthcare" --expose

# 带指令修订已有草稿,自动生成 draft_v2.md 并导出
opendraft revise ./output "Make the introduction longer and add more context"

# 5 条要点摘要
opendraft tldr paper.pdf -o summary.md

# 60 秒语音简报(需要 ELEVENLABS_API_KEY)
opendraft digest paper.pdf --voice adam

作为 Skill 使用时,在 Agent 里连上 Edge 后说一句 Write a paper on <topic> 即可;该 Skill 是 18 个 markdown prompt 加 5 个标准库 Python 脚本的移植实现,不调用本仓库的 Python 引擎,也不连任何托管服务,因此不需要 API Key。

这个 Agent 有哪些优点和局限?

优点
  • 默认要求一条引用的 DOI 至少被 CrossRef、OpenAlex、Semantic Scholar 中两个数据库收录,单库结果被丢弃并记录,这一策略是默认而非可选项。
  • 溯源做得细:bibliography.json 里每条引用都带 verification_status 与 verification_sources,即使为空也会写出,避免未确认引用看起来像已确认。
  • 在“存在性核查”之外还有 CitationClaimVerifier 做论点级判断,并明确说明这是 LLM 判断而非证明,UNCERTAIN 不等于通过。
  • 同时提供 CLI、Python 库和 Claude Code / Codex 的 Skill 三种用法,Skill 版无需 API Key、每个 stage 都是可读可改的文件。
  • MIT 许可,导出覆盖 PDF、Word、LaTeX,支持 57+ 种语言,模型侧可在 Gemini、OpenAI、Anthropic 之间切换。
局限
  • 软件免费但必须自带模型 API Key,单篇草稿的 API 成本约 $0.35–$3,全程依赖联网调用学术数据库与模型。
  • 严格确认会显著减少可用引用,管道在引用阶段无引用存活时会抛 PipelineValidationError 直接失败;README 也承认此前引用的引用数量与页数指标是在改为多源确认之前测的,尚未重新测量。
  • 多源确认并非三个相互独立的证明:OpenAlex 与 Semantic Scholar 都会摄取 Crossref 元数据,且其中一个来源可能是最初返回候选、未回查的数据库。
  • 引擎不查 arXiv 作为引用数据库,引用阶段只能针对论文主题做判断,逐句核查需要草稿存在后另行调用 run_citation_claim_verification()。
  • 官方明确它不是一键生成终稿的工具,必须人工复核来源、补自己的分析并符合所在机构的 AI 政策。

这个 Agent 与同类方案有什么区别?

README 明确将本项目与通用 AI 写作工具区分:后者常产出语气自信但引用不可核查的草稿。文中提到的相关项目包括同作者的托管版 OpenPaper(openpaper.dev)、统一模型 API 网关 Edge(getedge.cc),以及作为通用替代方案的 ChatGPT 类写作工具。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
OpenDraft 学术论文起草引擎 当前 81 · 表现良好 命令行工具免费 + 模型费 ★ 497 2 天前 Python Codex · Claude Code · OpenAI API · Claude API
PaperJury 79 · 表现良好 Agent 插件 / 技能免费 + 模型费 ★ 1.2k 1 个月前 JavaScript Codex · Claude Code
PaperDebugger 44 · 缺口较多 浏览器扩展免费 + 模型费 ★ 1.5k 3 个月前 TypeScript —
PaperOrchestra 技能包 62 · 存在缺口 Agent 插件 / 技能免费 + 模型费 ★ 673 13 天前 Python Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
表现良好
81/ 100 五分制 4.1 / 5
信任安全 21/29
可靠稳定 9/14
适用触发 15/18
规范维护 16/18
有效结果 12/13
证据核验 8/8
查看各维度的扣分理由
信任安全21 / 29 · 3.6/5

工具本身权限克制:仅写入本地工作目录、按需请求学术数据库与数据 API,Skill 端口为无密钥的提示+脚本,声明不依赖托管服务。引言溯源字段(confirming_sources 与 independently_confirmed_by 之分)数据流透明度突出,扣分点在于用户确认与回滚仅停留在'建议人工审阅'和 revise 版本号层面,无 Agent 交互级确认机制;许可版权人(SCAILE Technologies GmbH)与仓库作者(Federico De Ponte)不一致,归属链条需自行核实。

可靠稳定9 / 14 · 3.2/5

依赖以范围约束并附注释,发布流水线校验 flat-layout 防回归,测试展示优雅失败(错误状态码、Try: 提示、PipelineValidationError)。扣分:未提供 lockfile/哈希锁定,引文数量等宣传数字自认未在严格确认默认值后重测,README 与 19 个 agent 的结构章节在提供文件中被截断。

适用触发15 / 18 · 4.2/5

受众(研究者、研究生、维护者)、'What OpenDraft is NOT' 边界声明、逐项的验证能力与不验证事项说明都非常充分;但触发与运行环境(引擎与 Skill 行为差异、无 arXiv 客户端)需要读者跨多段比对,扣在环境一致性的显式程度。

规范维护16 / 18 · 4.4/5

信息架构、安装步骤、示例、FAQ、已知限制('measured before multi-source confirmation' 等历史数据标注)与 MIT 许可均到位,属于罕见的高规范度;扣分:CHANGELOG 仅被引用未见内容,安全与维护响应(48 小时)为承诺而非证据,发布者身份未经验证。

有效结果12 / 13 · 4.6/5

输出可直接使用:PDF/DOCX/LaTeX 导出、bibliography. 含逐条验证状态、unconfirmed 来源永不容伪装为 confirmed;多源确认与 claim 级验证带来相对单模型写作工具的明确边际价值;API 成本区间已披露。扣分:严格确认会减少引文并可能使运行失败,成本收益权衡需用户自行调参。

证据核验8 / 8 · 5.0/5

这是本仓库最强维度:逐条 DOI 多库确认、verification_sources 空值也显式序列化、明确区分'存在性证明'与'支持性判断',并自曝 OpenAlex/Semantic Scholar 与 Crossref 元数据不独立。几乎满分,仅因 LLM 判定(IRRELEVANT/UNCERTAIN)依赖标题摘要而非全文而略有保留。

风险与缓解建议
  • 引文确认只证明 DOI 存在且被索引,不证明该文献支持正文句子;claim 级判定是语言模型判断且仅读标题摘要,必须人工审阅全文。
  • OpenAlex 与 Semantic Scholar 均摄入 Crossref 元数据,'2/3 数据库确认'并非三个独立来源。
  • 默认严格确认会减少引文数量并可能触发 PipelineValidationError;README 中引文数量指标为历史数据,未经重测。
  • LICENSE 版权人为 SCAILE Technologies GmbH,与仓库署名作者不一致,商用或再分发前请核实归属。
  • API 密钥(Gemini/OpenAI/Anthropic/ElevenLabs)由用户自备,请勿提交至版本库,并注意网络请求会向第三方学术与数据 API 发送查询内容。
证据充分度:低 评估于 2026年10月4日 审查版本 3092bfb665c2
查看完整评分方法 →

常见问题

它会不会编造参考文献?
默认不会接受查不到的引用:一条引用必须被 CrossRef、OpenAlex、Semantic Scholar 中至少两个数据库按 DOI 收录才保留,LLM 直接断言的兜底(enable_llm_fallback)默认关闭,一旦开启其结果会被永久标记为 llm_unverified。但要注意这只证明该文献被注册和索引,不证明它支持你所引用的那句话。
一篇草稿大概要花多少钱?
软件本体 MIT 免费,成本只来自你自己的模型 API。按 README 给出的区间,用 Gemini Flash 约 $0.35,用 Claude Opus 约 $3.00。数据抓取、TL;DR 摘要等工具不额外收费,但语音简报需要 ElevenLabs 账号。
为什么我的运行直接报错退出?
严格的多源确认、严格的质量过滤和论点级剔除会一起缩小参考文献范围;如果引用阶段没有任何引用存活,管道会抛出 PipelineValidationError。处理方式是有意地扩大检索范围或显式放宽设置(例如 require_multi_source=False),而不是当作偶发故障重跑。
它能直接交作业或投稿吗?
不能。它定位是起草与检索辅助,不是自主作者。README 明确列出它不适用于一键生成终稿、代写作业、绕过同行评审或取代研究者;生成后你必须自行核实来源、补充自己的分析。
这个 Skill 和仓库里的 Python 引擎是同一套东西吗?
不是,是移植版而非包装。Skill 只查 Crossref、OpenAlex 和 DataCite(没有 Semantic Scholar 客户端),因此不使用多源确认规则,改为要求它打印的每个 DOI 都能在 Crossref 或 DataCite 解析,否则 citations.py compile 会报出违规项并以非零退出码结束;导出走 pandoc,而引擎走自己的 PDF 流程。Skill 以 Apache-2.0 发布,其中沿用 OpenDraft 的部分保留 MIT 声明。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents