OpenDraft

Turn one topic line into a research draft whose every DOI was confirmed by at least two scholarly databases.

Stars
★ 497
Last updated
2d ago
License
MIT
Primary language
Python

At a glance

How it runs
CLILibrary / SDKAgent plugin / skill
Works with
Universal · cross-platformCodex · Claude Code · OpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Python 3.10+Google Gemini API keyOpenAI API key (optional)Anthropic API key (optional)ElevenLabs API key (optional, for audio digests)Shell / CLINetwork accessLocal filesystem
Typical use
A graduate student starting a master's thesis or PhD dissertation who wants a 30-80 page structured first draft with a real, checkable bibliography to rewrite from.
Not a fit if
  • Writers who want a submission-ready final paper with no human review
  • Users who only need light text polishing and no citation checking
Source review
81/100 · Good

What does this agent do, and when should you use it?

OpenDraft is an open-source Python engine that turns a single topic line into a first draft of a research paper, literature review or thesis chapter, typically 10,000-20,000+ words and 5-80+ pages in 10-20 minutes. It runs 19 specialized agents across six phases: research, structure, writing, citation, polish and export. Its differentiator is citation handling: candidates are found via CrossRef, OpenAlex and Semantic Scholar, and by default a citation survives only if its DOI is held by at least two of those three databases; single-source and unconfirmed results are dropped and logged. Every entry in bibliography.json carries provenance fields such as verification_status and verification_sources, and a separate CitationClaimVerifier judges whether a source plausibly supports the claim it is attached to. You can run it three ways: as a CLI, as a Python library imported into your own code, or as the autonomous-research Skill for Claude Code and Codex. The software is MIT-licensed and free, but you bring your own model API keys, at roughly $0.35-$3.00 of API cost per draft.

The pipeline orchestrates 19 agents through RESEARCH, STRUCTURE, WRITING, CITATION, POLISH and EXPORT phases. Research queries the CrossRef, OpenAlex and Semantic Scholar APIs for candidates, then looks each DOI up directly; with the defaults require_multi_source=True and min_confirming_sources=2, anything confirmed by fewer than two databases is dropped. The citation phase dedupes, quality-filters, and runs CitationClaimVerifier against the paper topic, returning RELEVANT, IRRELEVANT or UNCERTAIN and writing citation_claim_verification.md plus .json (irrelevant citations are removed only above CLAIM_VERIFICATION_MIN_CONFIDENCE, default 0.7). Output exports to PDF, Word (.docx) or LaTeX via to_pdf(), to_docx(), to_latex(), in 57+ languages. Companion commands include opendraft tldr (five-bullet summary), opendraft digest (ElevenLabs audio briefing), opendraft revise (versioned AI revision), opendraft data (World Bank, Eurostat, Our World in Data), and --expose for a fast scoping report.

  1. A graduate student starting a master's thesis or PhD dissertation who wants a 30-80 page structured first draft with a real, checkable bibliography to rewrite from.
  2. A researcher scoping a literature review who needs to confirm enough verifiable literature exists before committing (run --expose for a three-times-faster overview).
  3. Someone preparing a journal submission who needs LaTeX source at the end for the publisher's template.
  4. A lab that wants a DOI-bearing candidate source list with per-citation provenance before running its own formal search.
  5. A Claude Code or Codex user who wants the research workflow as an editable Skill rather than a service call, with no API key of its own.
  6. A reader who has someone else's PDF paper and just wants opendraft tldr or opendraft digest to get the gist or a 60-second audio briefing.

How do you install or deploy this agent?

Prerequisites: Python 3.10+ and a free Gemini API key.

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

Create a .env in that directory with your key (Gemini is the default provider):

GOOGLE_API_KEY=your-gemini-api-key

PDF reading in the TL;DR and digest tools needs an optional extra:

pip install opendraft[pdf]

If you only want the agent Skill (no Python engine), install it directly:

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

Other providers need extra configuration: OpenAI uses AI_PROVIDER=openai plus OPENAI_API_KEY, Anthropic uses AI_PROVIDER=claude plus ANTHROPIC_API_KEY. Audio digests additionally require ELEVENLABS_API_KEY.

How do you use this agent?

As a Python library:

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")

From the command line:

# Fast scoping overview instead of a full draft
opendraft "Neural Networks in Healthcare" --expose

# Revise an existing draft; writes draft_v2.md plus PDF/DOCX
opendraft revise ./output "Make the introduction longer and add more context"

# Five-bullet summary of any paper
opendraft tldr paper.pdf -o summary.md

# 60-second audio briefing (needs ELEVENLABS_API_KEY)
opendraft digest paper.pdf --voice adam

In an agent, after connecting Edge, the invocation is just Write a paper on <topic>. That Skill is 18 markdown prompt stages plus 5 standard-library Python scripts, does not call this Python engine or any hosted service, and needs no API key because the agent reading it is the model.

What are this agent's strengths and limitations?

Pros
  • Multi-source DOI confirmation is the default, not an opt-in: fewer candidates get through, but each surviving citation is held by at least two databases, and single-source drops are logged.
  • Provenance is unusually explicit - verification_status and verification_sources are written even when empty, so an unconfirmed citation cannot serialize to look confirmed.
  • A second, separate check (CitationClaimVerifier) targets whether a source supports the claim it is cited for, and the README states plainly that these are LLM judgements, not proofs.
  • Three documented entry points - CLI, importable Python library, and an Apache-2.0 Claude Code / Codex Skill whose 18 stages and 5 scripts are files you can open and edit.
  • MIT licensed with a real export surface (PDF, Word, LaTeX), 57+ languages, and swappable model providers (Gemini default, OpenAI, Anthropic).
Limitations
  • Free software but bring-your-own keys: roughly $0.35-$3.00 per draft, plus a hard network dependency on scholarly APIs and a model provider.
  • Strict confirmation shrinks the bibliography enough that a run can now fail outright with PipelineValidationError when zero citations survive, and the quoted citation-count and page-length figures predate multi-source confirmation and have not been re-measured.
  • The three databases are not independent: OpenAlex and Semantic Scholar both ingest Crossref metadata, and one of the confirming two may be the database that supplied the candidate in the first place, taken at its word.
  • No arXiv API client, and claim-level checking runs against the paper topic during the citation phase because no draft text exists yet - sentence-level checking requires a separate call to run_citation_claim_verification().
  • Explicitly not a one-click author: human review, your own analysis, and compliance with your institution's AI policy are required, and the output is a draft, not a submission-ready paper.

How does this agent compare with similar options?

The README positions OpenDraft against general-purpose AI writing tools that produce confident prose with hallucinated or unverifiable citations, and argues for a multi-agent pipeline grounded in real literature instead. It also points to related surfaces: the hosted OpenPaper app at openpaper.dev, the Edge skill gateway at getedge.cc, and ChatGPT-style single-model alternatives that the project's chatgpt-alternative topic tag names.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
OpenDraft This agent 81 · Good CLIFree + model costs ★ 497 2d ago Python Codex · Claude Code · OpenAI API · Claude API
PaperJury 79 · Good Agent plugin / skillFree + model costs ★ 1.2k 1mo ago JavaScript Codex · Claude Code
PaperDebugger 44 · Major gaps Browser extensionFree + model costs ★ 1.5k 3mo ago TypeScript —
PaperOrchestra Skill Pack 62 · Some gaps Agent plugin / skillFree + model costs ★ 673 13d ago Python Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Good
81/ 100 5-point scale 4.1 / 5
Trust 21/29
Reliability 9/14
Adaptability 15/18
Convention 16/18
Effectiveness 12/13
Verifiability 8/8
Why each dimension lost points
Trust21 / 29 · 3.6/5

Least privilege is reasonable: writes to a local workspace, queries scholarly/data APIs on demand; the Skill port is a keyless prompt+script bundle with no hosted service. Provenance fields (confirming_sources vs independently_confirmed_by) make data flow unusually transparent. Deductions: user confirmation and rollback amount to 'review manually' plus revise version suffixes, with no agent-level confirmation mechanism; the LICENSE copyright holder (SCAILE Technologies GmbH) differs from the stated author (Federico De Ponte), so attribution needs independent verification.

Reliability9 / 14 · 3.2/5

Dependencies are range-bounded with comments; the publish workflow guards against the 1.7.2 packaging regression; tests show graceful failure (error statuses, 'Try:' hints, PipelineValidationError). Deductions: no lockfile/hash pinning, the project itself admits headline citation counts were not re-measured after the stricter default, and the README structure section is truncated in the provided files.

Adaptability15 / 18 · 4.2/5

Audiences (researchers, students, maintainers), the 'What OpenDraft is NOT' boundary statement, and per-setting explanations of what verification does and does not establish are thorough. Deduction: trigger and environment coherence requires cross-referencing sections (engine vs Skill differences, no arXiv client), not stated in one place.

Convention16 / 18 · 4.4/5

Information architecture, install steps, examples, FAQ, known limitations (historical metrics explicitly flagged), and MIT licensing are all in place — unusually high convention quality. Deductions: a CHANGELOG is referenced but its content is not shown; the 48-hour security response is a promise, not evidence; publisher identity is unverified.

Effectiveness12 / 13 · 4.6/5

Output is directly usable: PDF/DOCX/LaTeX export, per-citation verification_status in bibliography., and unconfirmed sources can never serialize as confirmed. Multi-source confirmation plus claim-level checking is clear marginal value over single-model writing tools; API cost ranges are disclosed. Deduction: strict defaults shrink bibliographies and can fail a run; the cost/benefit tuning burden falls on the user.

Verifiability8 / 8 · 5.0/5

The strongest dimension: per-DOI multi-database confirmation, verification_sources serialized even when empty, explicit separation of existence proof from claim support, and candor that OpenAlex/Semantic Scholar ingest Crossref metadata. Near full marks, with minor reservation because the LLM relevance judge reads only title and abstract, not full text.

Risks and how to mitigate them
  • Citation confirmation only proves a DOI exists and is indexed, not that the source supports the sentence it is attached to; claim verdicts are language-model judgements based on title/abstract only and require human review.
  • OpenAlex and Semantic Scholar both ingest Crossref metadata, so 'confirmed by 2 of 3 databases' is not three independent attestations.
  • Strict defaults reduce citation counts and can fail the run with PipelineValidationError; headline citation metrics are historical and not re-measured.
  • The LICENSE copyright holder (SCAILE Technologies GmbH) differs from the stated repository author; verify attribution before commercial use or redistribution.
  • Users supply their own API keys (Gemini/OpenAI/Anthropic/ElevenLabs); do not commit them, and note that queries are sent to third-party scholarly and data APIs.
Evidence confidence: Low Reviewed Oct 04, 2026 Reviewed revision 3092bfb665c2
See the full review method →

FAQ

Does it hallucinate references?
By default a citation is kept only if its DOI is held by at least two of CrossRef, OpenAlex and Semantic Scholar; single-source and unconfirmed results are dropped, and the LLM-asserted fallback (enable_llm_fallback) is off by default and permanently tagged llm_unverified when enabled. Be precise about what that buys you: it proves the work is registered and indexed, not that it supports the sentence it is attached to.
What does a draft cost to run?
The software is MIT-licensed and free; you pay only your own model API usage. The README quotes roughly $0.35 per draft on Gemini Flash and up to about $3.00 on Claude Opus. Audio digests are the one extra dependency, requiring an ElevenLabs account.
Why did my run fail with PipelineValidationError instead of producing a draft?
Strict multi-source confirmation, the strict quality filter and claim-level removal all shrink the bibliography, and the pipeline raises that error when no citations survive the citation phase. The documented fix is to widen the search or deliberately relax settings such as require_multi_source=False, understanding that citations then carry verification_status: not_checked.
Is the Skill the same codebase as the Python engine?
No - it is a port, not a wrapper. The Skill queries Crossref, OpenAlex and DataCite only (no Semantic Scholar client), so multi-source confirmation is not its rule; instead every DOI it prints must resolve at Crossref or DataCite, and citations.py compile refuses to render a bibliography containing one that did not, naming the offender and exiting nonzero. Export goes through pandoc rather than this repository's PDF pipeline, and the bundle is Apache-2.0 with MIT notices retained in THIRD_PARTY_NOTICES.md.
Can I use it commercially?
Yes. The MIT license permits commercial use, modification and distribution without restriction, and the README invites building products and services on top of it.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents