跳到正文
GitHub·· 9 天前AI 评分36

Oleafly:开源科研写作工作台,整合 LaTeX、Typst、Markdown 与 AI 助手

Oleafly/Oleafly

AI 导读

Oleafly 是一款免费开源的研究写作桌面应用,把 LaTeX、Typst、Markdown 源码、PDF、引用、图表、检查、Git 历史和可选 AI 工具放在同一个项目里。核心工作默认留在本地,无需账号,仅在文献检索、GitHub 操作、托管 AI 等场景联网。该 beta 版尚未提供实时协同编辑与后台设备同步。

正文

Oleafly logo

Oleafly beta

Deutsch | English | Español | Français | 日本語 | 한국어 | Português | Русский | 中文 | العربية

Download for macOS (Apple Silicon) Download for Windows Download for Linux

Open issues Downloads CI Quality gate Coverage Development status: ultra active Last commit License: AGPL v3 Discord Stars

Write your next paper with less busywork with a modern scientific writing workspace.

Oleafly is a free, open-source app for research writing. Use it for papers, theses, reports, presentations, books, resumes, and other technical documents. Work in LaTeX, Typst, or Markdown. The source, PDF, citations, figures, checks, Git history, and optional AI tools stay in the same project.

Download free · Read the guides · Build from source

Free forever · Open source · No accounts · No sign-ups · No tracking

Oleafly workspace showing a LaTeX project with the source editor, PDF preview, and AI planning panel

Start here

If you are... Start with...
Writing a paper or thesis An editable LaTeX, Typst, or Markdown starter
Bringing existing work onto your computer A ZIP, GitHub repository, Word, HTML, or Markdown file, Typst document, arXiv source, or PDF import
Working in LaTeX, Typst, or Markdown The source editor, visual editor, live preview, and engine picker
Building a structured manuscript The project outline, cross-file search, reference navigation, and local proofing
Finding sources or citations Citation Search, a document support scan, citing from your Zotero library as you type, or a bibliography import from a file
Working with AI The built-in assistant, isolated Research Tasks, a CLI agent, or MCP
Running a longer research task A separate worktree or staged copy, reviewed results, and selective file application
Reusing a research workflow The bundled skill pack, slash commands, or a saved skill folder
Building a figure or table Diagram Composer, LaTeX Preview, Image to LaTeX, or LaTeX Table Generator
Preparing a submission Preflight for compile, references, privacy, accessibility, and venue checks
Recovering or versioning work Checkpoints for local recovery and Git for intentional history and collaboration
Linking papers, data, or analysis Read-only linked research folders beside the manuscript
Exporting or converting documents PDF, PNG, and source ZIPs, plus supported Word, HTML, Markdown, LaTeX, Typst, text, PPTX, or EPUB outputs
Looking for a local toolchain Bundled Tectonic, Typst, and Pandoc, plus an optional system TeX or a TinyTeX install the app manages, which you can make the default for new projects

Oleafly start-work menu with options for research projects, imports, and templates

Start from the kind of work you actually have: a new research project, an existing project, or a template.

Why Oleafly

Most research-writing workflows are a chain of separate tools: an editor, a compiler, a PDF reader, a bibliography manager, a diagram tool, Git, a review checklist, and perhaps an AI chat that cannot see the project. The work gets spread across windows just when the argument is getting complicated.

Oleafly keeps those tools around one project. The source is still plain text. The PDF sits beside it. You can find a citation from the sentence in front of you, keep a figure as TikZ, and review an assistant's changes before they reach the project.

Three ways to work

Workflow What it gives you What you still have to solve
Hosted cloud editor Fast setup, browser access, and a managed service Trusting a hosted data layer and fitting your workflow into its limits
DIY local stack Control over files, tools, and infrastructure Choosing, installing, configuring, and maintaining every piece yourself
Oleafly A local desktop workspace with the editor, engines, PDF, citations, figures, checks, Git, and optional agents together Live co-editing and background device sync are not shipped in this release

Oleafly gives you a guided workspace without putting your manuscript behind a proprietary format or a permanent service.

What stays on your computer

Core work stays on your computer: project files, indexing, compilation with an available local engine, PDF preview, spellchecking, grammar checking, preflight, Git history, checkpoints, and the terminal. An account is not required for these tasks.

The app reaches the network only for actions that need it: literature lookup, DOI metadata, GitHub operations, hosted AI, a zotero.org account, MCP servers you connect, Typst Universe and CTAN package lookups, and optional engine, package, and template downloads. Release builds also check for an update each time the app starts. Local Ollama models keep model traffic on your computer, and citing from the Zotero app on the same computer stays local too. When one of these services is unavailable, the app shows an offline or unavailable state.

Stays local by default Happens only when you choose it
Project source and metadata Literature and citation lookup
Editor state and project index GitHub sign-in, push, pull, and publish
LaTeX compilation with the bundled engine when packages are available Hosted AI providers
Typst compilation when packages are cached or kept in the project Optional engine, package, and template downloads
PDF rendering and text inspection Domain-shelf skill downloads
Spellchecking, grammar checking, and preflight External MCP clients on localhost
Git history and automatic checkpoints alphaXiv and other MCP servers you connect
Citing from the Zotero app on this computer Zotero citing and import through a zotero.org account

Oleafly provider settings showing explicit connections separate from project files

Provider connections are explicit and separate from the manuscript on disk.

Begin with a real project

Templates you can edit

Start with an article, journal paper, thesis, literature review, report, book, Beamer presentation, poster, assignment, letter, bibliography, resume, or diagram. Templates are ordinary source projects with a declared engine, main document, document kind, assets, and preview metadata. Before you create the project, you can see a rendered preview and the engine it uses.

The gallery filters by engine, category, offline readiness, and ATS suitability. Bundled templates work without a template account. Optional template packs, fonts, and assets download only after you select them.

Oleafly template downloads showing academic writing, Beamer, and conference starter packs

Bring the work you already have

Import a project ZIP or GitHub repository, convert a DOCX with Pandoc, or use a PDF as the starting point for editable LaTeX. Imports become local project files, so the original source remains untouched while you inspect the result. You can also open a folder where it already is. Oleafly keeps its builds, settings, and checkpoints for that folder in its own data folder, and limits Git, external agents, and system LaTeX there until you choose Trust this folder.

For a PDF with a text layer, reconstruction is deterministic. It extracts the text, layout, equations, and figures it can identify, reports its limits, and leaves you with editable LaTeX instead of an opaque document. A scanned PDF can be transcribed by a vision model running locally. If you connect a vision-capable provider, it can help refine an imported project afterward.

Oleafly import dialog with project, Word, Markdown, HTML, Typst, arXiv, and GitHub options

Bring an existing project or document into an ordinary local workspace.

Every project is an accessible folder on your disk

Oleafly's library tracks project identity, engine, document kind, bookmarks, preview state, and history. The manuscript itself remains a normal directory. The source can be opened in another editor, inspected in a terminal, shared with a coauthor, or committed with ordinary Git. Oleafly does not require a proprietary document database to compile your work.

The app keeps its own build artifacts and local metadata separate from the source. A project can carry its engine and main-document choices in project.json, so a clone or exported source archive can open with the same project settings.

Oleafly project library with research projects organized in a searchable list

Write the paper and keep its structure

A source editor for structured documents

The CodeMirror editor is backed by a project-wide index. The index covers headings, labels, citation keys, macros, environments, included files, and compile diagnostics across the manuscript.

In LaTeX, Typst, Markdown, and BibTeX you get:

  • Engine-aware syntax highlighting for commands, environments, math, comments, markup, and bibliography entries.
  • Completion for labels, citation keys, and project file paths. LaTeX files also complete commands and environments, and Typst files complete functions, packages, and bibliography styles.
  • Live diagnostics for syntax, compile errors, undefined citations, duplicate keys, duplicate labels, and broken references.
  • A local and global document outline with symbols, labels, citations, macros, and file relationships.
  • Search and replace, code folding, multi-file tabs, Vim or Emacs keybindings, word count, slash-command insertion, and configurable keyboard shortcuts.
  • LaTeX structural helpers for \item, \begin / \end, environments, math delimiters, captions, and common insertion patterns.
  • Typst helpers: $ pairs for math, lists continue on Enter, and / opens snippets.
  • Hovers for compiled label numbers and pages, equation previews, and image thumbnails for \includegraphics targets.
  • When you rename or move a file, Oleafly can update the paths that point to it in \input, \includegraphics, #include, image(), and Markdown links. Press F2 on a path to rename its file.

Insert LaTeX blocks, formatting, and symbols

The LaTeX editor keeps common structures one click away while leaving the source in your hands. Switch between Code and Visual view, undo or redo, choose a heading level, format text, insert references, and build a table or figure without memorising every command. Typst files get the same tools on their own toolbar, which writes Typst markup.

Oleafly LaTeX editor toolbar with formatting, reference, figure, table, list, equation, fraction, and symbol controls

Build a structured LaTeX document from the toolbar, then keep editing the source directly.

Area Available controls
Editing and modes Code view, Visual view, undo, redo
Document structure H1–H7 insertion: \part, \chapter, \section, \subsection, \subsubsection, \paragraph, \subparagraph
Inline formatting Bold \textbf{}, italic \textit{}, underline \underline{}, inline code \texttt{}
References and notes Links \href{}{}, project citations, cross-references \ref{}, footnotes \footnote{}
Content blocks Block quotes with quote, figures with \includegraphics, captions and labels, visual tables with selectable rows and columns, bulleted itemize lists, numbered enumerate lists
Math blocks equation, align, and fraction \frac{}{} insertion
AI-assisted insertion Image to LaTeX for an equation, table, or visible text when a vision-capable provider is configured
Code intelligence Go to definition, find references, project-wide symbol rename, and path updates when a file moves
Project tools Draw a diagram, LaTeX packages, Document insights, and Document settings

A searchable LaTeX symbol palette

The symbol picker contains 236 unique commands in its All view. The category lists contain 238 entries because \nabla and \partial are useful in both Operators and Calculus. Search by the symbol name or its LaTeX command, then insert it at the cursor. In a Typst file, the palette shows, searches, and inserts each symbol's Typst name.

Category Count Available symbols and commands
Greek lowercase 29 \alpha, \beta, \gamma, \delta, \epsilon, \varepsilon, \zeta, \eta, \theta, \vartheta, \iota, \kappa, \lambda, \mu, \nu, \xi, \pi, \varpi, \rho, \varrho, \sigma, \varsigma, \tau, \upsilon, \phi, \varphi, \chi, \psi, \omega
Greek uppercase 11 \Gamma, \Delta, \Theta, \Lambda, \Xi, \Pi, \Sigma, \Upsilon, \Phi, \Psi, \Omega
Operators 19 +, -, \times, \div, \cdot, \pm, \mp, \ast, \star, \circ, \bullet, \oplus, \ominus, \otimes, \odot, \dagger, \ddagger, \nabla, \partial
Relations 21 =, \neq, <, >, \leq, \geq, \ll, \gg, \approx, \sim, \simeq, \cong, \equiv, \propto, \prec, \succ, \preceq, \succeq, \perp, \parallel, \mid
Arrows 23 \leftarrow, \rightarrow, \uparrow, \downarrow, \leftrightarrow, \Leftarrow, \Rightarrow, \Uparrow, \Downarrow, \Leftrightarrow, \mapsto, \longmapsto, \longrightarrow, \longleftarrow, \hookrightarrow, \hookleftarrow, \nearrow, \searrow, \nwarrow, \swarrow, \rightleftharpoons, \leftharpoonup, \rightharpoonup
Set theory 19 \in, \notin, \ni, \subset, \supset, \subseteq, \supseteq, \cup, \cap, \bigcup, \bigcap, \setminus, \emptyset, \varnothing, \mathbb{N}, \mathbb{Z}, \mathbb{Q}, \mathbb{R}, \mathbb{C}
Logic 16 \forall, \exists, \nexists, \neg, \land, \lor, \wedge, \vee, \implies, \iff, \therefore, \because, \top, \bot, \vdash, \models
Calculus 18 \int, \iint, \iiint, \oint, \sum, \prod, \coprod, \lim, \infty, \nabla, \partial, \sqrt{}, \frac{}{}, \binom{}{}, \sup, \inf, \max, \min
Functions 19 \sin, \cos, \tan, \cot, \sec, \csc, \arcsin, \arccos, \arctan, \sinh, \cosh, \tanh, \log, \ln, \exp, \det, \dim, \ker, \arg
Brackets 16 (, ), [, ], \{, \}, \langle, \rangle, \lfloor, \rfloor, \lceil, \rceil, literal vertical bar, |, \left( \right), \left[ \right]
Accents 14 \hat{}, \bar{}, \tilde{}, \vec{}, \dot{}, \ddot{}, \acute{}, \grave{}, \breve{}, \check{}, \overline{}, \underline{}, \overbrace{}, \underbrace{}
Dots and spacing 13 \cdots, \ldots, \vdots, \ddots, \quad, \qquad, \,, \;, \!, \text{}, \mathrm{}, \mathbf{}, \mathcal{}
Miscellaneous 20 \hbar, \ell, \wp, \Re, \Im, \aleph, \angle, \triangle, \diamond, \square, \lozenge, \clubsuit, \diamondsuit, \heartsuit, \spadesuit, ^{\circ}, \#, \$, \%, \&

Oleafly LaTeX symbol palette with searchable categories for Greek letters, operators, relations, arrows, set theory, logic, calculus, functions, brackets, accents, spacing, and miscellaneous symbols

Search 236 unique LaTeX commands by category or name and insert the one you need.

Oleafly showing a manuscript source file and compiled PDF together

Source view and visual view

Source view is the canonical representation. When the engine supports it, turn on the visual editor for LaTeX, Typst, or Markdown and edit prose, equations, citations, tables, and figures on a page-oriented surface. Math, footnotes, theorems, figures, tables and colours render as native, editable nodes; pasted rich text and images become the document's own markup, and a floating toolbar edits tables in place. The source stays available for Git, external editors, and manual edits.

Use the visual view for page-level editing. Return to source when you need exact control over commands, packages, environments, or layout.

Oleafly visual editor showing a page-oriented manuscript with its file tree and outline

Proofread prose locally

Hunspell handles spelling with the selected dictionary pack and personal or project additions. Harper checks grammar and style through a document-aware prose mask, so commands, comments, math bodies, and machine arguments are not treated as ordinary English sentences.

The academic profile avoids rules that fight scholarly writing, and every finding has a local action: replace it, ignore it (for now, in this project, or everywhere), or turn the rule off. Settings lists the rules you turned off, so you can turn them back on. Proofreading runs locally and does not require an AI provider.

Search across the project

Search across the project from the Search panel. The project index connects source files, headings, labels, citations, macros, and included files, so a large multi-file thesis is easier to navigate than a stack of editor tabs.

Themes, fonts, and Zen mode

The editor has one theme for light mode and one for dark mode, and it switches when the app does. Paper, a warm off-white, and One Light are the two light themes. Editor colors, in Settings > Appearance > Editor, changes any color of a theme. Colors are grouped by role, such as headings, commands, citations, or math, and a LaTeX, Typst, or Markdown sample shows each change as you make it. Oleafly keeps your changes for each theme, and theme export and import carry them.

The app and the editor can use any font installed on your computer, and the editor also lets you set letter spacing and the cursor's width and color. Cmd+= and Cmd+- zoom the whole app, the editor and PDF included, and Cmd+0 goes back to 100% (Ctrl on Windows and Linux).

Zen mode hides the toolbar, sidebar, assistant, and terminal so only the editor is left. Press Ctrl+Cmd+Shift+F (Shift+F11 on Windows and Linux) to turn it on, and press the same keys or Escape twice to leave it.

Oleafly keeps compilation close to the manuscript and turns compiler output into source-linked diagnostics. Each project keeps its own engine, and the editor, preview, SyncTeX, preflight, and export controls follow what that engine can do. New, imported, and converted LaTeX projects start on the default compile engine you pick in Settings > Engines.

Engine What it is good for Important details
LaTeX with Tectonic Portable, bundled LaTeX builds Ships with the desktop app; supports multi-file projects, images, citations, Biber (except on Linux ARM64), SyncTeX, isolated figure compilation, and cached offline builds when packages are available
LaTeX with latexmk Projects that need a full system TeX distribution Uses MacTeX, TeX Live, MiKTeX, or TinyTeX, and supports glossaries, makeidx, and XeLaTeX or LuaLaTeX (chosen automatically). minted, PythonTeX, and other packages that run external commands work once you allow them on this computer
Typst Fast modern document authoring Bundled compiler with PDF, EPUB, PNG, SVG, and HTML output, project indexing, and citations. Source and PDF sync needs Typst 0.13 or newer, and builds work offline when packages are cached or kept in the project. Isolated figure compilation is not available in this release
Markdown with Pandoc Lightweight prose and conversion workflows Pandoc ships with the app. It converts to LaTeX for the bundled Tectonic to typeset, and exports Word, HTML, EPUB, PowerPoint, LaTeX, Typst, and plain text

LaTeX projects get a compatibility scan when they open. If a project needs more than the bundled engine can handle, Oleafly explains the gap and points you to the right engine or package. System TeX blocks external commands by default. Picking system LaTeX for a project that needs them also allows them. If a compile is blocked, a banner above the editor offers Allow external commands. The permission stays on this computer and is never written into the project.

The bundled Biber sidecar is matched to the Tectonic biblatex version. Compile logs distinguish a missing Biber executable, a version mismatch, and an ordinary LaTeX error so you can choose the right fix.

Oleafly Engines settings showing LaTeX, Typst, Markdown, and managed TeX distributions

Read the PDF beside the source

The PDF viewer is built into the workspace and can also open in a detached preview window. It keeps the last accepted PDF visible while a newer compile is running or has failed, so one broken edit does not erase the last readable result. A recompile keeps your place, and pages stay sharp at high zoom. Cmd+Option+P (Ctrl+Alt+P) shows or hides the PDF beside the editor.

Use continuous scroll or a one-page / two-page spread. Zoom, fit to width, fit to height, rotate, invert colors, search the document text, follow the outline, jump to a page, download with a chosen filename, or inspect the compile log in the same surface. Encrypted PDFs get a password prompt rather than a blank viewer.

Go to PDF takes you from the source to the matching spot in the PDF, and a click in the PDF takes you back to the source line. LaTeX does this with SyncTeX, and Typst does it through the Tinymist language server on Typst 0.13 or newer. Markdown and older Typst versions cannot sync, so those controls do not appear.

Oleafly PDF preview beside the source editor

Literature and citations

Search from the sentence you are writing

Citation Search queries arXiv, Semantic Scholar, Crossref, PubMed, and OpenAlex in one place, and Google Scholar too when you add a Serper key. It combines duplicate results, keeps the metadata visible, and lets you save a reference to the local literature library.

You can also look up a citation by DOI, arXiv ID, URL, or title. Import an existing library from Zotero RDF, EndNote XML, RIS, or BibTeX, or connect a zotero.org account in Settings > Integrations and import your whole library from the References panel. The project index provides citation-key completion, reference navigation, hover details, and diagnostics for undefined citations, duplicate keys, and incomplete bibliography metadata.

With Zotero 7 or newer open on the same computer, type @ and part of an author, title, year, or key to cite from your whole Zotero library in LaTeX, Typst, or Markdown. Oleafly writes the citation the way the document already cites and adds only that entry to the project's .bib. Keys come from Better BibTeX when it is installed. A cited key that is missing from the .bib offers Add from Zotero, and an entry that changed in Zotero offers Update from Zotero. Search keeps working from the last sync while Zotero is closed, or you can connect a zotero.org account instead.

Scan the document for missing support

From document mode, Oleafly splits the current selection or manuscript into prose paragraphs, searches configured literature sources, removes papers already in the bibliography, and ranks the rest on a 0–100 scale. An AI provider can add short FOR / AGAINST reasoning. With AI off, the scan uses local heuristic ranking.

Save results to the local citation library, copy BibTeX, or append a selected entry to a project bibliography and insert its citation.

Review a paper in two voices

Review mode can use a configured AI provider to read the current document or a captured selection in two styles:

  • Friendly: strengths first, then specific and constructive suggestions.
  • Fire: a strict Reviewer #2 stress-test of claims, methods, and evidence.

The review is an optional assistant action. It is not a substitute for the venue's guidelines or a human coauthor.

Keep research folders beside the manuscript

Link a dataset, source library, analysis folder, or other research directory without moving it into the project. Oleafly reads linked folders and never writes to them. They stay out of compilation, project search, and Git, with clear missing and unreadable states when a path is unavailable.

Search labs and deadlines

The tools gallery includes Lab Search for research institutions listed by OpenAlex, with country filters and links to institutional, ROR, and OpenAlex records. Conference Deadlines lets you search venues, filter them by research area, and see countdowns. The deadline data ships with the app and can be refreshed. Most venues are in computer science, with a few in areas such as neuroscience and physics.

Figures, equations, and tables

Diagram Composer

Diagram Composer first asks what the diagram is for: TikZ for LaTeX, a fletcher diagram for Typst, or a Mermaid flowchart for Markdown. Draw on a canvas with rectangles, circles, ellipses, diamonds, text, connectors, snapping, fill and border colors, undo, redo, a minimap, and a light or dark canvas. The code panel and the drawing stay in step in both directions, and code the canvas cannot draw is kept as written. TikZ figures compile in isolation, Typst diagrams preview with the project's own Typst, and Mermaid uses the app's renderer.

The saved source keeps the diagram model for another edit, and the composer imports .tikz, .tex, .typ, .mmd, and .md files. Insert the code at the cursor, or save a PNG and the source to the project's figures folder. Optional AI repair can help with figure compile errors, and a vision-capable model can inspect a render and refine its layout.

Oleafly Diagram Composer showing an editable research-system diagram on a canvas

Equation and table output

The LaTeX to Image tool renders an equation and exports PNG or SVG. It can also copy MathML for Word or KaTeX HTML, and its Typst mode copies Typst math. The Table to LaTeX tool provides a visual row-and-column editor and exports ordinary LaTeX, and CSV to Typst and Excel to Typst build Typst tables. Image to LaTeX and Image to Typst transcribe an equation, table, or visible text from an image with a vision model running locally. The Image to LaTeX button on the editor toolbar uses your configured vision-capable provider instead.

These tools live in the Tools gallery, which is in beta and off by default (see Tools in the gallery below). Once it is on, they are also in the command palette and slash commands where shown in the app.

Oleafly Tools gallery showing a catalog of built-in research and document tools

Check the document before it leaves your machine

Preflight reads the source, project structure, compiler log, and current PDF. It groups findings by problem and shows where each result came from. Checks can run together or separately, and a missing input is reported as unavailable or partial rather than counted as a pass. Typst projects get their own source checks for unresolved references and citations, missing alt text, document metadata, missing images, privacy, and blind review. Markdown projects get the compile-log and PDF checks only.

Check What it looks for
Compile and layout Failed builds, unresolved citations and references, rerun warnings, missing glyphs, overfull boxes, clipped text, duplicate PDF destinations, and mixed page sizes
Submission readiness Document class, abstract, keywords, figure formats, embedded fonts, PDF version and restrictions, portable filenames, captions, and clean source packaging
ATS readiness Resume text extraction, contact fields, expected sections, page length, and layouts that commonly scramble applicant-tracking systems
Accessibility Tags, alt text, document language and title, viewer settings, heading and table structure, link descriptions, reading order, selectable text, bookmarks, and very small text
References and assets Missing files, undefined citations and cross-references, duplicate labels and DOIs, incomplete bibliography fields, uncited entries, and missing figures
Privacy and blind review Credentials, private keys, sensitive files, draft markup, internal comments, author fields, acknowledgements, and PDF identity metadata

Publication profiles cover general publication, arXiv, IEEE, ACM, other journals, and theses. You still need the venue's current author guide for its exact margins, page limits, file-size rules, and submission instructions.

The accessibility checks reference PDF/UA, Matterhorn, and WCAG and report the machine-checkable part of PDF/UA-1. Accessible export preparation can add LaTeX metadata, table-header declarations, and alt-text placeholders where the active class and packages support them. For Typst, export preparation offers PDF/A and PDF/UA.

Preflight is a set of machine checks, not a conformance certificate. It cannot judge whether alt text is meaningful, whether reading order makes sense, or whether contrast is sufficient. For a formal accessibility conformance statement, validate the final PDF with the venue's required tool.

Oleafly Preflight accessibility checks reporting machine-checkable findings

Preflight makes machine-checkable accessibility findings visible before submission; it does not claim conformance by itself.

Version and recover your work

Use your Git repository as usual

Oleafly works with a normal Git repository. The Source Control panel can initialize a repository, show unified or side-by-side diffs, stage files, discard changes, commit, push, pull, and show ahead or behind state for a remote. You can also publish a project to GitHub or connect an existing repository. The Explorer marks changed files with the same status letters, and if Git is not installed, Source Control explains how to get it.

Projects in your library get a Git repository when you create, import, or open them, and a new or imported project usually starts with one "Create project" commit. Turn this off with Initialise Git for every project in Settings. After that, saving, compiling, or closing a project never creates a commit. A folder you open in place never gets a repository from Oleafly. Oleafly does not hide the source from your terminal or edit the project's .gitignore just to make its own metadata disappear.

Oleafly Source Control panel showing staged changes, a branch graph, and commit controls

See staged changes, branches, history, and commits without leaving the project.

Use checkpoints for quick recovery

After a successful compile, Oleafly can save a local snapshot of the project. Checkpoints do not initialize a repository, create commits, or change a branch. Restore a previous state transactionally, label an important version, inspect stored files, trim old history, or move a complete history in an encrypted archive.

Use Git for intentional commits, branches, remotes, and collaboration. Use checkpoints for quick local recovery while a paper is changing fast.

Oleafly versioning panel showing saved checkpoints and Git history

AI is optional

The editor, compiler, PDF preview, citations, proofing, and preflight work with AI turned off. When enabled, AI uses the same project files and tools as the rest of the app.

Ask an assistant about the open project

With a configured provider, the assistant can:

  • Read a project file or search the project before answering.
  • Explain a section, equation, citation, or compile error.
  • Revise prose, create files, rename files, and make targeted replacements.
  • Compile the project, read the log, extract PDF text, and inspect rendered pages when the PDF capture setting is enabled.
  • Search literature, verify a DOI, add a citation, and map the document's headings, labels, citations, macros, and file relationships.
  • Draft, compile, inspect, repair, and insert editable TikZ or PGFPlots figures in LaTeX, and CeTZ or fletcher figures in Typst.

Every file change produces a visible diff. Pick an approval mode in the chat: Ask for approval, Approve for me, Full access, or Custom, which follows the rules in approvals.toml. After a turn, a line shows how many files changed. Review each change, undo or redo one file, or undo the whole turn. Plan mode lets the assistant map the project before it can write, compile, or run commands.

Connect a hosted provider, an OpenAI-compatible endpoint, or a local Ollama model. Provider credentials live in encrypted app-managed storage and are not written into project files. The action you choose tells you when a hosted request will be made.

Oleafly AI Assistant persona choices for research writing and review

Choose a role for the task at hand, from research writing and document editing to critical review and figure work.

Review an edit before it is applied

In Ask for approval mode, read the proposed file diff and choose which changes to apply. In Custom mode, Always in this project saves an allow rule for that tool. Deletes remain separately visible and can require an explicit confirmation.

Run longer research tasks separately

Start a task for a literature review, evidence audit, analysis, manuscript revision, or response to reviewers. It runs in a separate Git worktree or staged copy while you continue in the original project. On Windows, CLI agents cannot run these tasks yet, and tasks run by the Oleafly Assistant cannot run shell commands. Codex cannot run them on macOS.

When the task finishes, inspect activity, outputs, and every changed file. Preview the diff, select the files worth keeping, and apply only those files. The original project stays unchanged until you apply reviewed results. If the project changed while the task was running, Oleafly detects the drift instead of applying an old diff over newer work.

Use a CLI agent from the catalog

The catalog includes 14 CLI agents. Each uses its own account, permissions, and model configuration; Oleafly supplies the project context and the surrounding workspace. In Settings you can also find more agents in the ACP registry or add a custom one.

Agent Command
Claude Code claude
Codex CLI codex
Gemini CLI gemini
Pi pi
OpenCode opencode
OpenClaw openclaw
Cline cline
Hermes Agent hermes
CodeBuddy codebuddy
Kimi Code kimi
Grok Build grok
Cursor agent
DeepSeek Harness dsh
Qoder qodercli

These marks identify compatible tools and remain the property of their respective owners. They do not imply endorsement.

Open a conversation, sign in through the agent's own CLI when required, reconnect, watch tool activity, steer a running turn, stop it, and keep the transcript with the project session where supported. Permission requests show the change the agent wants to make. The agent home has research starting points such as Literature sweep and Citation audit, and you can export a conversation as Markdown or JSON.

CLI agent support is in beta. Settings shows install readiness, platform limits, and the program Oleafly found for each agent, with a Test button. The conversation tells you when an agent cannot resume a saved session.

Reuse a research workflow with skills

Oleafly includes skills for literature work, authoring, figures, review, submission, communication, and tooling. Skills are ordinary SKILL.md folders that follow the Agent Skills shape.

Use a skill with a slash command, add your own folder, record a repeatable workflow from a completed chat, or install a domain skill from the shelf when you choose to download one. Skills can be shared with compatible CLI agents on the same computer. A skill already installed keeps working offline. Search your skills and the domain shelf, and turn each skill on for all projects or only the open one.

Skills shipped with Oleafly

The bundled research-core pack ships 36 skills. The names below are the IDs used by the catalog and in project settings.

Category Skills
Research and literature citation-management, exploratory-data-analysis, hypothesis-generation, literature-review, oleafly-literature-sweep, oleafly-research-loop, openresearch, paper-lookup, research-lookup, scientific-brainstorming, scientific-critical-thinking
Manuscript authoring and analysis experimental-design, oleafly-data-analysis, oleafly-manuscript-scaffold, oleafly-related-work, scientific-writing, statistical-analysis, statistical-power, venue-templates
Figures and visualization oleafly-figure-prep, scientific-schematics, scientific-visualization
Review and evidence oleafly-response-letter, oleafly-review-manuscript, oleafly-verify-claims, peer-review, scholar-evaluation
Submission oleafly-pre-submission
Communication oleafly-slides-and-posters, pptx-posters, research-grants, scientific-slides
Import and build tooling import-refine, oleafly-latex-build, pdf-to-latex, template-generate

Oleafly AI Assistant skills panel showing reusable research capabilities

Skills turn a useful research routine into something you can reuse and share with compatible agents.

Connect an external AI client with MCP

Oleafly can run a local MCP server for an external client. It exposes the same project tools as the built-in assistant: list and read files, search the project, inspect its map, compile, read the log, extract PDF text, preview figures, and apply edits subject to Oleafly's approval policy.

The server binds to 127.0.0.1 only, uses a bearer token that you can regenerate in Settings, and runs only while the Oleafly process is open. A read-only mode removes mutating tools from the tool list. The external client brings its own model, so you do not need to put an AI API key into Oleafly for this route.

The assistant can also use outside MCP servers. Import a server's settings, or search the official MCP registry and review an entry before you add it. alphaXiv connects with an API key, so the assistant can search and read papers, and it asks you before each call.

Tools in the gallery

Tools is in beta and off by default. Turn it on in Settings > Experimentation > LaTeX tools, then open it from the omnibar or command palette. Search by name, description, or slash command. A tool that needs a network connection or an AI provider says so in its own panel.

Search the workspace from one box

Press Cmd+Shift+F (Ctrl+Shift+F on Windows and Linux) to search projects and documents, open settings, create a project, switch themes, or launch a tool from one place. Type / to narrow the list to commands and keep your hands on the keyboard while you work. The command palette, on Cmd+K (Ctrl+K), lists commands only, and Cmd+, (Ctrl+,) opens Settings.

Oleafly search box finding projects, documents, commands, and tools

Import and format conversion

Tool Use it for
PDF to LaTeX Reconstruct editable LaTeX from a PDF, with math, figures, and structure preserved where the source allows it
arXiv to LaTeX Download an arXiv source bundle by ID, or unpack a saved archive from disk
Image to LaTeX Turn an image of notes, equations, or a table into editable LaTeX
Equation to LaTeX Convert typed math or an equation image into LaTeX
Excel to LaTeX Convert an Excel, CSV, or TSV sheet into an escaped LaTeX table
HTML to LaTeX Convert pasted HTML into a standalone LaTeX document
Image to Typst Turn an image of notes, equations, or a table into editable Typst
LaTeX to HTML Convert LaTeX to standalone HTML with MathML equations
LaTeX to Image Render an equation and export a PNG or SVG
LaTeX to Markdown Convert a LaTeX document into portable Markdown
LaTeX to Typst Convert LaTeX into Typst source you can copy, save, or open as a project
LaTeX to Word Create a Word document with equations stored as native Word math
Markdown to LaTeX Convert Markdown notes into a standalone LaTeX document
Markdown to Typst Convert Markdown notes into Typst source
Mermaid to LaTeX Convert a Mermaid flowchart into editable TikZ code
PDF to Markdown Extract a PDF's text layer, equations, and figures into Markdown
PDF to Typst Extract a PDF's text layer, equations, and figures into Typst
Table to LaTeX Build a LaTeX table in a visual row-and-column editor
Typst Editor Start a Typst project with source editing, live preview, and PDF export
Visual Typst Editor Start a Typst document in the project editor with live preview
Typst to LaTeX Convert Typst markup into LaTeX for journals and submissions
arXiv to Typst Convert an arXiv source bundle to Typst, with a compile check that lists what did not convert
CSV to Typst Paste CSV or TSV rows and get an escaped Typst table
Equation to Typst Convert typed LaTeX math or an equation image into Typst math
Excel to Typst Convert an Excel, CSV, or TSV sheet into an escaped Typst table
HTML to Typst Convert pasted HTML into a standalone Typst document
Mermaid to Typst Convert a Mermaid flowchart into editable fletcher code
Typst to HTML Convert Typst markup into standalone HTML with MathML equations
Typst to Markdown Convert Typst markup into portable Markdown
Typst to Word Create a Word document with equations stored as native Word math
Word to Typst Convert a Word document into Typst and keep extracted media together
Word to LaTeX Convert a Word document into LaTeX and keep extracted media together

Math, tables, writing, and validation

Tool Use it for
BibTeX Validator Check .bib files for syntax errors, missing required fields, and duplicate keys
Statistics Calculators Calculate p-values, sample sizes, and confidence intervals locally
Writing Generators Prepare an abstract, summary, paraphrase, or thesis outline from the open document with the assistant
Symbol Reference Browse LaTeX symbols and insert one at the cursor, or its Typst name in a Typst file

Literature, references, and research

Tool Use it for
Find Citations Search scholarly indexes, scan a draft for missing support, and export BibTeX
arXiv Citation Generator Look up an arXiv paper and format its citation in eight styles
Bibliography Generator Build, validate, sort, and export a bibliography from structured details or BibTeX
Citation Generator Turn article details or a scholarly identifier into a formatted citation and BibTeX
Citation Generators by Style Compare one reference across APA, MLA, Chicago, IEEE, Harvard, Vancouver, AMA, and ACS
DOI to BibTeX Retrieve a DOI record, review its fields, and export BibTeX
ISBN to BibTeX Retrieve book metadata from an ISBN, correct it, and export BibTeX
PubMed to BibTeX Retrieve a PubMed record from its PMID, review it, and export BibTeX
URL to BibTeX Recognize DOI, arXiv, and PubMed links, or build an editable webpage citation
Lab Search Find research institutions through the OpenAlex directory
Conference Deadlines Filter conference deadlines, mostly in computer science, and view countdowns

The equation workspace can also export PNG, SVG, MathML for Word, or KaTeX HTML, and it has a Typst mode. Table to LaTeX outputs ordinary LaTeX, and CSV to Typst and Excel to Typst output Typst tables. Writing Generators prepare a prompt for the configured assistant; they do not provide a model by themselves.

The command palette also gives you recompile, auto-compile, SyncTeX, PDF export, clear build cache, word count, Git history, checkpoints, terminal, citation insertion, formatting helpers, environment helpers, theme controls, Vim mode, Zen mode, app zoom, the PDF preview toggle, spellchecking, and offline mode. It can also present slides, convert a LaTeX project to Typst, browse LaTeX and Typst packages, open Document insights and Document settings, close all editor tabs or only the files the assistant opened, and add missing citations from Zotero, update .bib entries from Zotero, or sync your Zotero library.

A terminal beside the paper

Open shell tabs for the active project without leaving the workspace. Up to ten terminal sessions can be open per project. Rename and color tabs, close one or several sessions, and keep those tab labels with the project.

Use a tab to run a script, inspect a dataset, check a generated file, or use another CLI tool. It is your shell, with the same project directory available to the commands you choose to run. File paths and web addresses in the output are links. Cmd-click one (Ctrl-click on Windows and Linux) to open a project file at the line and column the output names, a PDF or image in its viewer, or a web address in the browser.

Oleafly terminal dock open beside a manuscript project

Run project commands in a terminal tab without leaving the editor and PDF workspace.

Browser for computer-use tasks

The in-app browser is in beta and off by default. Turn it on in Settings > Experimentation > Web browser. It opens as a separate OS window with tabs, an address bar, navigation controls, and isolated content webviews. It is mainly the computer-use surface: an agent can open a URL and wait for it to load while you keep the manuscript in the main window.

The computer-use tool cannot read, capture, click, or script page content. Remote pages do not receive Oleafly IPC access, and external navigation follows the active approval policy. Use the literature tools when you need searchable metadata or citations.

Common research workflows

Use case How Oleafly helps
First paper Start from an article template, write with the outline visible, and compile as you go
Thesis or dissertation Keep chapters, figures, references, and appendices in one indexed project with checkpoints for recovery
Literature review Search sources, scan paragraphs for missing support, save metadata, and organize evidence with research skills
Reproducible analysis Link data and analysis folders read-only, keep the manuscript separate, and use the terminal for project commands
Conference paper Use venue-oriented templates, SyncTeX, figure and table tools, and a pre-submission pass
Beamer talk or poster Start from a presentation or poster template, export supported formats, and present from the compiled PDF with an optional presenter view
Book or long report Use a multi-file source tree, outline, project-wide references, PDF navigation, and EPUB export where supported
Resume or CV Use resume templates, local proofing, PDF text extraction, and ATS readiness checks
Multilingual manuscript Choose the template's Unicode engine and system fonts when the project needs XeLaTeX or LuaLaTeX
Lab or team assistant Use isolated Research Tasks, a CLI agent, or the localhost MCP server with approval controls

Download Oleafly

Free forever · Open source · No accounts · No sign-ups · No tracking

Platform Package Download
macOS · Apple Silicon DMG Download for macOS
Windows · x86_64 MSI or EXE Download for Windows
Linux · x86_64 AppImage, DEB, or RPM Download for Linux
Linux · ARM64 AppImage, DEB, or RPM Download for Linux

The desktop app includes Tectonic for LaTeX, a Typst compiler, and Pandoc for Markdown builds and document conversions. LaTeX builds offline when the bundled engine already has the packages it needs, and Typst builds offline when its packages are cached or kept in the project.

On x86_64, the Linux packages need glibc 2.35 or newer (Ubuntu 22.04 or later). ARM64 packages are built on Ubuntu 24.04 (glibc 2.39). Releases include signed update artifacts, and the in-app updater checks the signature before installation. The release notes say what is included in each installer.

Learn more

Current release

Oleafly is in beta. Live co-editing, comments, and background sync across devices are not available in this release. Markdown has no source and PDF sync or source preflight checks yet, and Typst sync needs Typst 0.13 or newer. Check the active engine in the app and follow the changelog for changes.

Community and support

Join the Oleafly community on Discord to ask questions, get help with a stubborn build, show what you're writing, and vote on what gets built next. It's free and open to everyone. Prefer GitHub? Report a bug or request a feature in GitHub Issues.

Oleafly is built by Prajwal Murthy and contributors. Contributions to code, templates, documentation, and feedback are welcome. Read the contributing guide to take part.

If you use Oleafly, a GitHub star helps other researchers find it.

Cite Oleafly

Copy the BibTeX entry

@software{oleafly,
  author  = {Venkateshmurthy, Prajwal S. and {The Oleafly contributors}},
  title   = {Oleafly: a local-first desktop workspace for research writing},
  year    = {2026},
  version = {0.4.6},
  url     = {https://github.com/Oleafly/Oleafly},
  license = {AGPL-3.0-or-later}
}

Security · Code of Conduct · AGPL-3.0-or-later

Star history

来源:GitHub · github.com