撰寫 研究論文履歷學位論文研究計畫書研究論文 少些繁瑣雜務。
Oleafly 是一款免費的桌面工作區,可用 LaTeX、Typst 與 Markdown 撰寫論文。在同一處尋找文獻、管理引用,看著論文逐步成形。請 AI 助理修改某個章節、製作圖表或修復失敗的建置,所有變更都能先審閱。你的專案以你自己擁有的一般檔案保存,編輯器可以搭配 AI 使用,也可以完全不用。
\[ E = h\nu \]\[ E = h\nu \]\[ \int_{-\infty}^{\infty} e^{-x^2}\,dx = \sqrt{\pi} \]\[ \Delta G = \Delta H - T\Delta S \]\[ \Delta G = \Delta H - T\Delta S \]\[ a^2 + b^2 = c^2 \]

- Language analysisCurrent project revision analyzed
- CompilingProducing and verifying PDF output
- Rendering PDFWaiting for verified compile output
Single-Fault LATEX Compilation Repair
Independent Researcher
San Jose, CA, USA
Abstract—Compilation repair for LaTeX is easy to score badly. A candidate may compile after deleting or hiding content, while exact source equality rejects valid alternative repairs. We present TeXFix-Bench, a controlled benchmark for repairing complete, broken LaTeX sources under a pinned engine. The generator applies 12 deterministic single-fault operators to 13 hand-authored seed documents. It retains 627 engine-validated rows, comprising 300 unique hard-track inputs and 67 unique warning-only inputs after hash deduplication.
Index Terms—automated program repair, LaTeX, benchmark, compilation, large language models, reproducibility
LaTeX compilation failures are a practical target for automated repair. A missing delimiter or misspelled control sequence can prevent a complete document from building, and the first reported diagnostic may be distant from the underlying fault. LLM-assisted writing systems now operate inside LaTeX editors , but their publications do not provide a public, engine-pinned evaluation of compilation-failure repair.
Program repair benchmarks pair a defect with an executable oracle and a fixed harness . TeXFix-Bench studies a narrower contract: a broken source document in, a repaired full source out, under a specified engine.
TexOCR-Bench evaluates page-image-to-LaTeX reconstruction , and EqFix repairs errors in individual equations by synthesizing rules from examples . Overfitting to a weak oracle is a known hazard .
A system receives one broken source file and returns one repaired source file. The engine, its version, and the build command are fixed for every attempt.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice .
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion .
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 . Compilation and edit precision must be reported together.
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
[1]R. Just, D. Jalali, and M. D. Ernst, “Defects4J: A database of existing faults to enable controlled testing studies for Java programs,” in Proc. ISSTA, 2014, pp. 437–440.
[2]C. Le Goues, N. Holtschulte, E. K. Smith, Y. Brun, P. Devanbu, S. Forrest, and W. Weimer, “The ManyBugs and IntroClass benchmarks for automated repair of C programs,” IEEE Trans. Softw. Eng., vol. 41, no. 12, pp. 1236–1256, 2015.
[3]C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, “SWE-bench: Can language models resolve real-world GitHub issues?” in Proc. ICLR, 2024.
[4]M. Chen et al., “Evaluating large language models trained on code,” arXiv:2107.03374, 2021.
[5]E. K. Smith, E. T. Barr, C. Le Goues, and Y. Brun, “Is the cure worse than the disease? Overfitting in automated program repair,” in Proc. ESEC/FSE, 2015, pp. 532–543.
[6]R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
[7]Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Softw. Eng., vol. 37, no. 5, pp. 649–678, 2011.
[8]R. Gupta, S. Pal, A. Kanade, and S. Shevade, “DeepFix: Fixing common C language errors by deep learning,” in Proc. AAAI, vol. 31, no. 1, pp. 1345–1351, 2017.
[9]M. Yasunaga and P. Liang, “Graph-based, self-supervised program repair from diagnostic feedback,” in Proc. ICML, PMLR, vol. 119, pp. 10799–10808, 2020.
[10]F. Zhu, Z. Liu, G. Yang, J. Li, and S. Cheung, “EqFix: Fixing LaTeX equation errors by examples,” in SETTA 2022, LNCS 13649, pp. 89–109.
[11]K. Wang et al., “TexOCR-Bench: Benchmarking page-image-to-LaTeX reconstruction,” in Proc. 64th ACL, Vol. 1, 2026.
[12]H. Wen, Z. Zhang, and Y. Li, “OverleafCopilot: Empowering academic writing in Overleaf with large language models,” arXiv:2403.09733, 2024.
[13]S. Hou et al., “PaperDebugger: Assisting scientific writing, review, and editing,” in Companion Proc. ACM Web Conf., 2026.
[14]J. Tan, K. Zhang, and X. Chen, “Inconsistencies in TeX-produced documents,” in Proc. ISSTA, 2024.
[15]L. Zheng et al., “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena,” Adv. Neural Inf. Process. Syst., vol. 36, pp. 46595–46623, 2023.
[16]A. Panickssery, S. R. Bowman, and S. Feng, “LLM evaluators recognize and favor their own generations,” Adv. Neural Inf. Process. Syst., vol. 37, 2024.
[17]B. Hui et al., “Qwen2.5-Coder technical report,” arXiv:2409.12186, 2024.
[18]Meta AI, “Llama 3.2 model card,” 2024.
[19]E. Kassis et al., “Agent skills for reproducible research agents,” arXiv:2609.00065, 2026.
ibitem{legoues2015manybugs}
main.tex:956
- Steps
- 1
- Input
- 5,144
- Output
- 467
- Runs
- 1
- Steps
- 3
- Tokens
- 39,035
Costs are estimates based on public model pricing, not billing totals.
Bring your own API key (OpenAI, Anthropic, Groq, and more) or run a model locally with Ollama. The assistant can read and edit files, compile your project, and verify the PDF.
Connect a providerRun a local model with Ollama
What would you like to do today?Working on "TeXFix-Bench: LaTeX Repair Bench..."
Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.
Perform bounded, local exploratory analysis of explicitly supported scientific files. Use for redacted CSV/TSV/JSON profiles; optional NumPy, HDF5, FASTA/FASTQ, and basic image metadata inspection; missingness/leakage audits; outlier and transformation sensitivity; and rigorous EDA report scaffolds. Other domain formats are reference-only and unknown formats fail closed.
Formulate evidence-bounded scientific questions, candidate hypotheses, rival explanations, causal or associational claims, discriminating predictions, measurements, and preregistration-ready analysis plans. Use when turning observations or preliminary findings into transparent, testable research plans without treating hypotheses as facts.
Working on "TeXFix-Bench: LaTeX Repair Bench..."
Claude Code
The energy-use comparison needs a supporting source. I found the claim in the introduction, but its citation covers detection accuracy. Your files are unchanged.
- satellite fire detection
- low-power sensor networks
- TinyML and quantized inference
I'll keep only results with verifiable DOI metadata.
write_filereferences.bibline 1
references.bibfirst change · L1@article{open_science2015, title = {Estimating the Reproducibility of Psychological Science},@article{giglio2003, author = {Giglio, Louis and Descloitres, Jacques and Justice, Christopher O.}, title = {An Enhanced Contextual Fire Detection Algorithm for {MODIS}}, journal = {Remote Sensing of Environment}, year = {2003}, doi = {10.1016/S0034-4257(03)00184-6}}replace_in_filemain.texline 21
main.texfirst change · L21Program repair benchmarks pair a defect with an executable oracle and afixed harness~\cite{just2014defects4j,legoues2015manybug}. SWE-bench extendsfixed harness~\cite{just2014defects4j,legoues2015manybugs}. SWE-bench extendsthe contract to repository-scale issues~\cite{jimenez2024swebench}.TeXFix-Bench studies a narrower contract: a system receives an existingTeXFix-Bench studies a narrower contract~\cite{zhu2022eqfix}: a system receivesSingle-Fault LATEX Compilation Repair
Independent Researcher
San Jose, CA, USA
Abstract—Compilation repair for LaTeX is easy to score badly. A candidate may compile after deleting or hiding content, while exact source equality rejects valid alternative repairs. We present TeXFix-Bench, a controlled benchmark for repairing complete, broken LaTeX sources under a pinned engine. The generator applies 12 deterministic single-fault operators to 13 hand-authored seed documents. It retains 627 engine-validated rows, comprising 300 unique hard-track inputs and 67 unique warning-only inputs after hash deduplication.
Index Terms—automated program repair, LaTeX, benchmark, compilation, large language models, reproducibility
LaTeX compilation failures are a practical target for automated repair. A missing delimiter or misspelled control sequence can prevent a complete document from building, and the first reported diagnostic may be distant from the underlying fault. LLM-assisted writing systems now operate inside LaTeX editors , but their publications do not provide a public, engine-pinned evaluation of compilation-failure repair.
Program repair benchmarks pair a defect with an executable oracle and a fixed harness . TeXFix-Bench studies a narrower contract: a broken source document in, a repaired full source out, under a specified engine.
TexOCR-Bench evaluates page-image-to-LaTeX reconstruction , and EqFix repairs errors in individual equations by synthesizing rules from examples . Overfitting to a weak oracle is a known hazard .
A system receives one broken source file and returns one repaired source file. The engine, its version, and the build command are fixed for every attempt.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice .
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion .
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 . Compilation and edit precision must be reported together.
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
[1]R. Just, D. Jalali, and M. D. Ernst, “Defects4J: A database of existing faults to enable controlled testing studies for Java programs,” in Proc. ISSTA, 2014, pp. 437–440.
[2]C. Le Goues, N. Holtschulte, E. K. Smith, Y. Brun, P. Devanbu, S. Forrest, and W. Weimer, “The ManyBugs and IntroClass benchmarks for automated repair of C programs,” IEEE Trans. Softw. Eng., vol. 41, no. 12, pp. 1236–1256, 2015.
[3]C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, “SWE-bench: Can language models resolve real-world GitHub issues?” in Proc. ICLR, 2024.
[4]M. Chen et al., “Evaluating large language models trained on code,” arXiv:2107.03374, 2021.
[5]E. K. Smith, E. T. Barr, C. Le Goues, and Y. Brun, “Is the cure worse than the disease? Overfitting in automated program repair,” in Proc. ESEC/FSE, 2015, pp. 532–543.
[6]R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
[7]Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Softw. Eng., vol. 37, no. 5, pp. 649–678, 2011.
[8]R. Gupta, S. Pal, A. Kanade, and S. Shevade, “DeepFix: Fixing common C language errors by deep learning,” in Proc. AAAI, vol. 31, no. 1, pp. 1345–1351, 2017.
[9]M. Yasunaga and P. Liang, “Graph-based, self-supervised program repair from diagnostic feedback,” in Proc. ICML, PMLR, vol. 119, pp. 10799–10808, 2020.
[10]F. Zhu, Z. Liu, G. Yang, J. Li, and S. Cheung, “EqFix: Fixing LaTeX equation errors by examples,” in SETTA 2022, LNCS 13649, pp. 89–109.
[11]K. Wang et al., “TexOCR-Bench: Benchmarking page-image-to-LaTeX reconstruction,” in Proc. 64th ACL, Vol. 1, 2026.
[12]H. Wen, Z. Zhang, and Y. Li, “OverleafCopilot: Empowering academic writing in Overleaf with large language models,” arXiv:2403.09733, 2024.
[13]S. Hou et al., “PaperDebugger: Assisting scientific writing, review, and editing,” in Companion Proc. ACM Web Conf., 2026.
[14]J. Tan, K. Zhang, and X. Chen, “Inconsistencies in TeX-produced documents,” in Proc. ISSTA, 2024.
[15]L. Zheng et al., “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena,” Adv. Neural Inf. Process. Syst., vol. 36, pp. 46595–46623, 2023.
[16]A. Panickssery, S. R. Bowman, and S. Feng, “LLM evaluators recognize and favor their own generations,” Adv. Neural Inf. Process. Syst., vol. 37, 2024.
[17]B. Hui et al., “Qwen2.5-Coder technical report,” arXiv:2409.12186, 2024.
[18]Meta AI, “Llama 3.2 model card,” 2024.
[19]E. Kassis et al., “Agent skills for reproducible research agents,” arXiv:2609.00065, 2026.
@article{giglio2003, title = {An Enhanced Contextual Fire Detection Algorithm for MODIS}, year = {2003},}@article{schroeder2014, title = {The New VIIRS 375 m Active Fire Detection Data Product}, year = {2014},}@article{dampage2022, title = {Forest Fire Detection System Using Wireless Sensor Networks}, year = {2022},}@article{adumanu2018, title = {Energy-Harvesting Wireless Sensor Networks: A Review}, year = {2018},}@article{adelantado2017, title = {Understanding the Limits of LoRaWAN}, year = {2017},}@article{bai2018, title = {An Empirical Evaluation of Generic Convolutional Networks}, year = {2018},}@article{jacob2018, title = {Quantization and Training of Neural Networks}, year = {2018},}@article{ray2022, title = {A Review on TinyML}, year = {2022},}@article{geifman2017, title = {Selective Classification for Deep Neural Networks}, year = {2017},}Connect any providers you use below. Keys are stored locally only. Saving one sets it as the default.
You can switch between configured providers and models from the dropdown in the chat panel.
Used whenever you start a new chat. You can still switch models for an individual conversation from the chat panel.
Added to every AI request as your personal style and preferences. The assistant follows these on top of its built-in behavior. They can't override its tools or safety rules.
Allow PDF page capture for AILets the agent rasterize compiled pages for vision layout checks. Disable if you prefer not to send page images to your provider.
- Language analysisCurrent project revision analyzed
- CompilingProducing and verifying PDF output
- Rendering PDFWaiting for verified compile output
Single-Fault LATEX Compilation Repair
Independent Researcher
San Jose, CA, USA
Abstract—Compilation repair for LaTeX is easy to score badly. A candidate may compile after deleting or hiding content, while exact source equality rejects valid alternative repairs. We present TeXFix-Bench, a controlled benchmark for repairing complete, broken LaTeX sources under a pinned engine. The generator applies 12 deterministic single-fault operators to 13 hand-authored seed documents. It retains 627 engine-validated rows, comprising 300 unique hard-track inputs and 67 unique warning-only inputs after hash deduplication.
Index Terms—automated program repair, LaTeX, benchmark, compilation, large language models, reproducibility
LaTeX compilation failures are a practical target for automated repair. A missing delimiter or misspelled control sequence can prevent a complete document from building, and the first reported diagnostic may be distant from the underlying fault. LLM-assisted writing systems now operate inside LaTeX editors , but their publications do not provide a public, engine-pinned evaluation of compilation-failure repair.
Program repair benchmarks pair a defect with an executable oracle and a fixed harness . TeXFix-Bench studies a narrower contract: a broken source document in, a repaired full source out, under a specified engine.
TexOCR-Bench evaluates page-image-to-LaTeX reconstruction , and EqFix repairs errors in individual equations by synthesizing rules from examples . Overfitting to a weak oracle is a known hazard .
A system receives one broken source file and returns one repaired source file. The engine, its version, and the build command are fixed for every attempt.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice .
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion .
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 . Compilation and edit precision must be reported together.
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
[1]R. Just, D. Jalali, and M. D. Ernst, “Defects4J: A database of existing faults to enable controlled testing studies for Java programs,” in Proc. ISSTA, 2014, pp. 437–440.
[2]C. Le Goues, N. Holtschulte, E. K. Smith, Y. Brun, P. Devanbu, S. Forrest, and W. Weimer, “The ManyBugs and IntroClass benchmarks for automated repair of C programs,” IEEE Trans. Softw. Eng., vol. 41, no. 12, pp. 1236–1256, 2015.
[3]C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, “SWE-bench: Can language models resolve real-world GitHub issues?” in Proc. ICLR, 2024.
[4]M. Chen et al., “Evaluating large language models trained on code,” arXiv:2107.03374, 2021.
[5]E. K. Smith, E. T. Barr, C. Le Goues, and Y. Brun, “Is the cure worse than the disease? Overfitting in automated program repair,” in Proc. ESEC/FSE, 2015, pp. 532–543.
[6]R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
[7]Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Softw. Eng., vol. 37, no. 5, pp. 649–678, 2011.
[8]R. Gupta, S. Pal, A. Kanade, and S. Shevade, “DeepFix: Fixing common C language errors by deep learning,” in Proc. AAAI, vol. 31, no. 1, pp. 1345–1351, 2017.
[9]M. Yasunaga and P. Liang, “Graph-based, self-supervised program repair from diagnostic feedback,” in Proc. ICML, PMLR, vol. 119, pp. 10799–10808, 2020.
[10]F. Zhu, Z. Liu, G. Yang, J. Li, and S. Cheung, “EqFix: Fixing LaTeX equation errors by examples,” in SETTA 2022, LNCS 13649, pp. 89–109.
[11]K. Wang et al., “TexOCR-Bench: Benchmarking page-image-to-LaTeX reconstruction,” in Proc. 64th ACL, Vol. 1, 2026.
[12]H. Wen, Z. Zhang, and Y. Li, “OverleafCopilot: Empowering academic writing in Overleaf with large language models,” arXiv:2403.09733, 2024.
[13]S. Hou et al., “PaperDebugger: Assisting scientific writing, review, and editing,” in Companion Proc. ACM Web Conf., 2026.
[14]J. Tan, K. Zhang, and X. Chen, “Inconsistencies in TeX-produced documents,” in Proc. ISSTA, 2024.
[15]L. Zheng et al., “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena,” Adv. Neural Inf. Process. Syst., vol. 36, pp. 46595–46623, 2023.
[16]A. Panickssery, S. R. Bowman, and S. Feng, “LLM evaluators recognize and favor their own generations,” Adv. Neural Inf. Process. Syst., vol. 37, 2024.
[17]B. Hui et al., “Qwen2.5-Coder technical report,” arXiv:2409.12186, 2024.
[18]Meta AI, “Llama 3.2 model card,” 2024.
[19]E. Kassis et al., “Agent skills for reproducible research agents,” arXiv:2609.00065, 2026.
Work stays in a separate workspace until you review and apply it.
Find papers on low-power wildfire sensing. Save a reading list with verified DOIs.
The original project stays unchanged until you apply reviewed files.
Preview every selected file before applying it.
research/reading-list.mdAddedPreview+ # Wildfire sensing: reading list + + ## Satellite fire detection + Giglio et al. (2003). An Enhanced Contextual Fire + Detection Algorithm for MODIS. + DOI: 10.1016/S0034-4257(03)00184-6 + + Use: background on satellite detection methods. + Check separately: claims about ground-sensor energy use.
Attention
\definecolor{c0F172A}{HTML}{0F172A}\definecolor{c1E293B}{HTML}{1E293B}\definecolor{cC7C7CC}{HTML}{C7C7CC}\definecolor{cCDEDD0}{HTML}{CDEDD0}\definecolor{cCFE8F8}{HTML}{CFE8F8}\definecolor{cDAD2F0}{HTML}{DAD2F0}\definecolor{cE9E9EC}{HTML}{E9E9EC}\definecolor{cEEF2C3}{HTML}{EEF2C3}\definecolor{cF9D7D9}{HTML}{F9D7D9}\definecolor{cFDE3C7}{HTML}{FDE3C7}\definecolor{cFFFFFF}{HTML}{FFFFFF}\begin{tikzpicture}[>={Triangle[length=0.313cm,width=0.313cm]}] \node (n1_mds37) at (6.25,-21.75) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1cm] {Inputs}; \node (n2_hnw3j) at (6.25,-20.075) [draw=c1E293B, line width=0.025cm, fill=cF9D7D9, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Input Embedding}; \node (n3_x9vjf) at (4.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {}; \node (n4_aa0b6) at (6.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {+}; \node (n5_lbeum) at (2.625,-19.375) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=3.5cm, minimum height=1cm] {Positional Encoding}; \node (n6_gr85r) at (6.25,-16.325) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Multi-Head Attention}; \node (n7_it3d0) at (6.25,-14.575) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n8_0ae9p) at (6.25,-12.575) [draw=c1E293B, line width=0.025cm, fill=cCFE8F8, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Feed Forward}; \node (n9_31jhg) at (6.25,-10.825) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n11_3mv5b) at (1.875,-13.575) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=1.25cm, minimum height=0.75cm] {N×}; \node (n12_y6hil) at (16.25,-21.75) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1cm] {Outputs (shifted right)}; \node (n13_oukbf) at (16.25,-20.075) [draw=c1E293B, line width=0.025cm, fill=cF9D7D9, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Output Embedding}; \node (n14_e6m10) at (16.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {+}; \node (n15_te7fn) at (18.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {}; \node (n16_otz7n) at (19.875,-19.375) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=3.5cm, minimum height=1cm] {Positional Encoding}; \node (n17_nw4kz) at (16.25,-16.325) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Masked Multi-Head Attention}; \node (n18_feep8) at (16.25,-14.575) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n19_9lw0g) at (16.25,-12.575) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Multi-Head Attention}; \node (n20_lz6h6) at (16.25,-10.825) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n21_iyi8d) at (16.25,-8.825) [draw=c1E293B, line width=0.025cm, fill=cCFE8F8, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Feed Forward}; \node (n22_hapki) at (16.25,-7.075) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n24_qwbl3) at (19.375,-11.825) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=1.25cm, minimum height=0.75cm] {N×}; \node (n25_isnp1) at (16.25,-4.8) [draw=c1E293B, line width=0.025cm, fill=cDAD2F0, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.1cm] {Linear}; \node (n26_ggail) at (16.25,-2.8) [draw=c1E293B, line width=0.025cm, fill=cCDEDD0, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.1cm] {Softmax}; \node (n27_76g5v) at (16.25,-0.875) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.5cm, minimum height=1.25cm] {Output Probabilities}; \begin{scope}[on background layer] \node (n10_ma9el) at (6.25,-13.575) [draw=cC7C7CC, line width=0.025cm, fill=cE9E9EC, rounded corners=0.4cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=5.5cm, minimum height=7.65cm] {}; \node (n23_egiii) at (16.25,-11.7) [draw=cC7C7CC, line width=0.025cm, fill=cE9E9EC, rounded corners=0.4cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=5.5cm, minimum height=11.4cm] {}; \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-21.25) -- (6.25,-20.75) -- (6.25,-21.15) -- (6.25,-20.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-19.5) -- (6.25,-19) -- (6.25,-19.1) -- (6.25,-18.6); \draw[->, line width=0.05cm] (n3_x9vjf.east) to[out=0, in=180] (n4_aa0b6.west); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-17.75) -- (6.25,-17.25) -- (6.25,-17.4) -- (6.25,-16.9); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-15.75) -- (6.25,-15.25) -- (6.25,-15.65) -- (6.25,-15.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-14) -- (6.25,-13.5) -- (6.25,-13.65) -- (6.25,-13.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-12) -- (6.25,-11.5) -- (6.25,-11.9) -- (6.25,-11.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-21.25) -- (16.25,-20.75) -- (16.25,-21.15) -- (16.25,-20.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-19.5) -- (16.25,-19) -- (16.25,-19.1) -- (16.25,-18.6); \draw[->, line width=0.05cm] (n15_te7fn.west) to[out=180, in=0] (n14_e6m10.east); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-17.75) -- (16.25,-17.25) -- (16.25,-17.4) -- (16.25,-16.9); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-15.75) -- (16.25,-15.25) -- (16.25,-15.65) -- (16.25,-15.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-14) -- (16.25,-13.5) -- (16.25,-13.65) -- (16.25,-13.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-12) -- (16.25,-11.5) -- (16.25,-11.9) -- (16.25,-11.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-10.25) -- (16.25,-9.75) -- (16.25,-9.9) -- (16.25,-9.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-8.25) -- (16.25,-7.75) -- (16.25,-8.15) -- (16.25,-7.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-6.5) -- (16.25,-6) -- (16.25,-5.925) -- (16.25,-5.85) -- (16.25,-5.35); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-4.25) -- (16.25,-3.75) -- (16.25,-3.85) -- (16.25,-3.35); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-2.25) -- (16.25,-1.75) -- (16.25,-2) -- (16.25,-1.5); \draw[->, line width=0.05cm, rounded corners=0.125cm] (8.375,-10.825) -- (8.875,-10.825) -- (11.25,-10.825) -- (11.25,-12.575) -- (13.625,-12.575) -- (14.125,-12.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (5.825,-18.175) -- (5.325,-18.175) -- (3.625,-18.175) -- (3.625,-14.575) -- (4.125,-14.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (4.125,-14.575) -- (4.1,-14.575) -- (3.625,-14.575) -- (3.625,-10.825) -- (4.125,-10.825); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.675,-18.175) -- (17.175,-18.175) -- (18.875,-18.175) -- (18.875,-14.575) -- (18.375,-14.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (18.375,-14.575) -- (18.875,-14.575) -- (18.875,-10.825) -- (18.4,-10.825) -- (18.375,-10.825); \draw[->, line width=0.05cm, rounded corners=0.125cm] (18.375,-10.825) -- (18.875,-10.825) -- (18.875,-7.075) -- (18.4,-7.075) -- (18.375,-7.075); \end{scope}\end{tikzpicture}Attention
\definecolor{c0F172A}{HTML}{0F172A}\definecolor{c1E293B}{HTML}{1E293B}\definecolor{cC7C7CC}{HTML}{C7C7CC}\definecolor{cCDEDD0}{HTML}{CDEDD0}\definecolor{cCFE8F8}{HTML}{CFE8F8}\definecolor{cDAD2F0}{HTML}{DAD2F0}\definecolor{cE9E9EC}{HTML}{E9E9EC}\definecolor{cEEF2C3}{HTML}{EEF2C3}\definecolor{cF9D7D9}{HTML}{F9D7D9}\definecolor{cFDE3C7}{HTML}{FDE3C7}\definecolor{cFFFFFF}{HTML}{FFFFFF}\begin{tikzpicture}[>={Triangle[length=0.313cm,width=0.313cm]}] \node (n1_mds37) at (6.25,-21.75) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1cm] {Inputs}; \node (n2_hnw3j) at (6.25,-20.075) [draw=c1E293B, line width=0.025cm, fill=cF9D7D9, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Input Embedding}; \node (n3_x9vjf) at (4.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {}; \node (n4_aa0b6) at (6.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {+}; \node (n5_lbeum) at (2.625,-19.375) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=3.5cm, minimum height=1cm] {Positional Encoding}; \node (n6_gr85r) at (6.25,-16.325) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Multi-Head Attention}; \node (n7_it3d0) at (6.25,-14.575) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n8_0ae9p) at (6.25,-12.575) [draw=c1E293B, line width=0.025cm, fill=cCFE8F8, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Feed Forward}; \node (n9_31jhg) at (6.25,-10.825) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n11_3mv5b) at (1.875,-13.575) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=1.25cm, minimum height=0.75cm] {N×}; \node (n12_y6hil) at (16.25,-21.75) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1cm] {Outputs (shifted right)}; \node (n13_oukbf) at (16.25,-20.075) [draw=c1E293B, line width=0.025cm, fill=cF9D7D9, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Output Embedding}; \node (n14_e6m10) at (16.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {+}; \node (n15_te7fn) at (18.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {}; \node (n16_otz7n) at (19.875,-19.375) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=3.5cm, minimum height=1cm] {Positional Encoding}; \node (n17_nw4kz) at (16.25,-16.325) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Masked Multi-Head Attention}; \node (n18_feep8) at (16.25,-14.575) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n19_9lw0g) at (16.25,-12.575) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Multi-Head Attention}; \node (n20_lz6h6) at (16.25,-10.825) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n21_iyi8d) at (16.25,-8.825) [draw=c1E293B, line width=0.025cm, fill=cCFE8F8, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Feed Forward}; \node (n22_hapki) at (16.25,-7.075) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n24_qwbl3) at (19.375,-11.825) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=1.25cm, minimum height=0.75cm] {N×}; \node (n25_isnp1) at (16.25,-4.8) [draw=c1E293B, line width=0.025cm, fill=cDAD2F0, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.1cm] {Linear}; \node (n26_ggail) at (16.25,-2.8) [draw=c1E293B, line width=0.025cm, fill=cCDEDD0, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.1cm] {Softmax}; \node (n27_76g5v) at (16.25,-0.875) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.5cm, minimum height=1.25cm] {Output Probabilities}; \begin{scope}[on background layer] \node (n10_ma9el) at (6.25,-13.575) [draw=cC7C7CC, line width=0.025cm, fill=cE9E9EC, rounded corners=0.4cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=5.5cm, minimum height=7.65cm] {}; \node (n23_egiii) at (16.25,-11.7) [draw=cC7C7CC, line width=0.025cm, fill=cE9E9EC, rounded corners=0.4cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=5.5cm, minimum height=11.4cm] {}; \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-21.25) -- (6.25,-20.75) -- (6.25,-21.15) -- (6.25,-20.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-19.5) -- (6.25,-19) -- (6.25,-19.1) -- (6.25,-18.6); \draw[->, line width=0.05cm] (n3_x9vjf.east) to[out=0, in=180] (n4_aa0b6.west); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-17.75) -- (6.25,-17.25) -- (6.25,-17.4) -- (6.25,-16.9); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-15.75) -- (6.25,-15.25) -- (6.25,-15.65) -- (6.25,-15.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-14) -- (6.25,-13.5) -- (6.25,-13.65) -- (6.25,-13.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-12) -- (6.25,-11.5) -- (6.25,-11.9) -- (6.25,-11.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-21.25) -- (16.25,-20.75) -- (16.25,-21.15) -- (16.25,-20.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-19.5) -- (16.25,-19) -- (16.25,-19.1) -- (16.25,-18.6); \draw[->, line width=0.05cm] (n15_te7fn.west) to[out=180, in=0] (n14_e6m10.east); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-17.75) -- (16.25,-17.25) -- (16.25,-17.4) -- (16.25,-16.9); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-15.75) -- (16.25,-15.25) -- (16.25,-15.65) -- (16.25,-15.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-14) -- (16.25,-13.5) -- (16.25,-13.65) -- (16.25,-13.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-12) -- (16.25,-11.5) -- (16.25,-11.9) -- (16.25,-11.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-10.25) -- (16.25,-9.75) -- (16.25,-9.9) -- (16.25,-9.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-8.25) -- (16.25,-7.75) -- (16.25,-8.15) -- (16.25,-7.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-6.5) -- (16.25,-6) -- (16.25,-5.925) -- (16.25,-5.85) -- (16.25,-5.35); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-4.25) -- (16.25,-3.75) -- (16.25,-3.85) -- (16.25,-3.35); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-2.25) -- (16.25,-1.75) -- (16.25,-2) -- (16.25,-1.5); \draw[->, line width=0.05cm, rounded corners=0.125cm] (8.375,-10.825) -- (8.875,-10.825) -- (11.25,-10.825) -- (11.25,-12.575) -- (13.625,-12.575) -- (14.125,-12.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (5.825,-18.175) -- (5.325,-18.175) -- (3.625,-18.175) -- (3.625,-14.575) -- (4.125,-14.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (4.125,-14.575) -- (4.1,-14.575) -- (3.625,-14.575) -- (3.625,-10.825) -- (4.125,-10.825); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.675,-18.175) -- (17.175,-18.175) -- (18.875,-18.175) -- (18.875,-14.575) -- (18.375,-14.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (18.375,-14.575) -- (18.875,-14.575) -- (18.875,-10.825) -- (18.4,-10.825) -- (18.375,-10.825); \draw[->, line width=0.05cm, rounded corners=0.125cm] (18.375,-10.825) -- (18.875,-10.825) -- (18.875,-7.075) -- (18.4,-7.075) -- (18.375,-7.075); \end{scope}\end{tikzpicture}Attention
Attention
@article{venkateshmurthy2026etb, author = {Venkateshmurthy, Prajwal S.}, title = {Engine-Transfer-Bench: An Evidence-Based Benchmark for Document Compilation Engine Selection}, journal = {arXiv preprint}, year = 2026, eprint = {2608.18329}, }
LaTeX (latexmk) · main.tex
9/13/2026, 4:57:36 PM
7 files · 183.8 KB · ded1c2ae
LaTeX (latexmk) · main.tex
9/13/2026, 3:52:03 PM
7 files · 183.8 KB · 157c1ffb
LaTeX (latexmk) · main.tex
9/6/2026, 4:22:40 PM
7 files · 183.7 KB · 891b7ee7
Filters apply to the project shelf immediately
Senior Software Engineer (L5) with 9+ years designing and operating large-scale distributed systems. Deep experience in backend infrastructure, performance, and reliability.
- Tech lead for a Search serving component handling 2M+ queries/second; cut p99 latency 38%.
- Designed a globally replicated feature store on Spanner backing 40+ ML models.
- Led migration of a 300-service fleet to a new RPC framework; reduced on-call pages 45%.
- Mentored six engineers and ran the team’s design-review program.
- Built a real-time aggregation pipeline processing 8B events/day.
- Cut batch-job cost 30% with sharding and incremental computation.
- Shipped ledger and reconciliation services processing $60B+/year.
- Reduced a reconciliation run from six hours to 25 minutes.
Go, Raft, gRPC — distributed rate limiter doing 4M+ decisions/sec/node.
Rust — typed query builder for Postgres with compile-time-checked SQL.
Languages: C++, Go, Rust, Python, Java, SQL
Systems: Spanner, Bigtable, Kubernetes, Kafka, gRPC / Protobuf, Redis
Choose how this manuscript begins. Every part of it stays yours to change.

A study folder with sections, sources and review notes, and a first task that frames the question.

Continue a manuscript you already have: an archive, a Word or Markdown draft, or a GitHub repository.

Begin from a prepared layout for a journal article, thesis, report, poster or talk.
Data scientist focused on trustworthy machine learning, experimentation, and decision systems used by product and research teams.
- Built evaluation systems for large language models across safety and product quality.
- Designed experiments used to guide high-impact model launches.
- Developed ranking models and reliable offline evaluation pipelines.
- Partnered with product teams to improve marketplace search quality.
- Created retention models and executive experimentation dashboards.
Open evaluation templates for production ML systems.
Python package for reproducible causal inference workflows.
Languages: Python, R, SQL, PyTorch, JAX
Systems: Spark, dbt, BigQuery, Airflow, MLflow, Kubernetes
Data scientist focused on trustworthy machine learning, experimentation, and decision systems used by product and research teams.
- Built evaluation systems for large language models across safety and product quality.
- Designed experiments used to guide high-impact model launches.
- Developed ranking models and reliable offline evaluation pipelines.
- Partnered with product teams to improve marketplace search quality.
- Created retention models and executive experimentation dashboards.
Open evaluation templates for production ML systems.
Python package for reproducible causal inference workflows.
Languages: Python, R, SQL, PyTorch, JAX
Systems: Spark, dbt, BigQuery, Airflow, MLflow, Kubernetes
Senior Software Engineer (L5) with 9+ years designing and operating large-scale distributed systems. Deep experience in backend infrastructure, performance, and reliability.
- Tech lead for a Search serving component handling 2M+ queries/second; cut p99 latency 38%.
- Designed a globally replicated feature store on Spanner backing 40+ ML models.
- Led migration of a 300-service fleet to a new RPC framework; reduced on-call pages 45%.
- Mentored six engineers and ran the team’s design-review program.
- Built a real-time aggregation pipeline processing 8B events/day.
- Cut batch-job cost 30% with sharding and incremental computation.
- Shipped ledger and reconciliation services processing $60B+/year.
- Reduced a reconciliation run from six hours to 25 minutes.
Go, Raft, gRPC — distributed rate limiter doing 4M+ decisions/sec/node.
Rust — typed query builder for Postgres with compile-time-checked SQL.
Languages: C++, Go, Rust, Python, Java, SQL
Systems: Spanner, Bigtable, Kubernetes, Kafka, gRPC / Protobuf, Redis
Product engineer bridging design systems and frontend infrastructure to build accessible, high-craft tools for creative teams.
- Led architecture for collaborative prototyping workflows used by millions.
- Created an accessible component platform shared across six product teams.
- Shipped core editor interactions and improved canvas rendering performance 42%.
- Partnered with design to establish product-wide interaction standards.
- Prototyped service experiences for health and education clients.
Open-source accessible color and typography toolkit.
Patterns for resilient collaborative interfaces.
Languages: TypeScript, React, Rust, Swift, Figma
Systems: WebGL, Canvas, design systems, accessibility, prototyping
Product engineer bridging design systems and frontend infrastructure to build accessible, high-craft tools for creative teams.
- Led architecture for collaborative prototyping workflows used by millions.
- Created an accessible component platform shared across six product teams.
- Shipped core editor interactions and improved canvas rendering performance 42%.
- Partnered with design to establish product-wide interaction standards.
- Prototyped service experiences for health and education clients.
Open-source accessible color and typography toolkit.
Patterns for resilient collaborative interfaces.
Languages: TypeScript, React, Rust, Swift, Figma
Systems: WebGL, Canvas, design systems, accessibility, prototyping
Research engineer building fast, expressive systems for scientific communication and reproducible technical publishing.
- Built incremental layout and diagnostics for a modern typesetting engine.
- Improved large-document render latency and editor feedback loops.
- Worked on text shaping, browser layout, and developer tooling.
- Published work on interactive document systems.
A small language server for technical documents.
Experiments in high-performance text layout.
Languages: Rust, C++, TypeScript, Python
Systems: Compilers, text layout, language servers, WebAssembly
\documentclass[11pt,letterpaper]{article}\usepackage[T1]{fontenc}\usepackage[margin=0.5in]{geometry}\usepackage{titlesec}\usepackage{enumitem}\usepackage{hyperref}% ATS-friendly: single column, real selectable text, no tables-for-layout,% embedded subset fonts. Linear reading order so parsers extract cleanly.\setlength{\parindent}{0pt}\pagenumbering{gobble}\hypersetup{colorlinks=true, urlcolor=black, linkcolor=black}\titleformat{\section}{\large\bfseries\uppercase}{}{0em}{}[\vspace{2pt}\titlerule]\titlespacing*{\section}{0pt}{8pt}{4pt}\setlist[itemize]{leftmargin=14pt, itemsep=1pt, topsep=2pt, parsep=0pt}% role{Title}{Company}{Location}{Dates}\newcommand{\role}[4]{% \textbf{#1} \hfill #2 \\ \textit{#3} \hfill \textit{#4}%}\begin{document}\begin{center} {\Huge \textbf{Alex Chen}}\\[3pt] \small Senior Software Engineer\\[2pt] \href{mailto:[email protected]}{[email protected]}\,$\cdot$\, (650) 555-0142\,$\cdot$\, Mountain View, CA\,$\cdot$\, \href{https://alexchen.dev}{alexchen.dev}\,$\cdot$\, \href{https://github.com/alexchen}{github.com/alexchen}\,$\cdot$\, \href{https://linkedin.com/in/alexchen}{linkedin.com/in/alexchen}\end{center}\vspace{2pt}\section*{Summary}Senior Software Engineer (L5) with 9+ years designing and operating large-scaledistributed systems. Deep experience in backend infrastructure, performance, andreliability, with a track record of shipping products used by hundreds ofmillions of users and mentoring engineers toward senior roles.\section*{Experience}\role{Senior Software Engineer (L5)}{Google}{Mountain View, CA}{Mar 2020 -- Present}\begin{itemize} \item Tech lead for a Search serving component handling 2M+ queries/second; drove a redesign that cut p99 latency 38\% and saved an estimated \$14M/year in compute. \item Designed and launched a globally-replicated feature store on Spanner backing 40+ ML models, adopted by 12 teams across Search and Ads. \item Led migration of a 300-service fleet to a new RPC framework, improving tail latency and reducing on-call pages by 45\%. \item Mentored 6 engineers (2 promoted to senior); ran the team's design-review and readability programs.\end{itemize}\vspace{3pt}\role{Software Engineer (L4)}{Google}{Mountain View, CA}{Jul 2017 -- Mar 2020}\begin{itemize} \item Built a real-time aggregation pipeline (C++, Flume) processing 8B events/day for a Search-quality dashboard used org-wide. \item Cut batch-job cost 30\% by reworking sharding and introducing incremental recomputation.\end{itemize}\vspace{3pt}\role{Software Engineer}{Stripe}{San Francisco, CA}{Aug 2015 -- Jun 2017}\begin{itemize} \item Shipped core ledger and reconciliation services for a payments platform processing \$60B+/year. \item Reduced a reconciliation run from 6 hours to 25 minutes via parallelization and a columnar store.\end{itemize}\section*{Selected Projects}\textbf{Ratel} \hfill \href{https://github.com/alexchen/ratel}{github.com/alexchen/ratel} \\\textit{Go, Raft, gRPC} --- open-source distributed rate limiter doing 4M+ decisions/sec/node; 1.5k GitHub stars.\par\vspace{4pt}\textbf{tql} \hfill \href{https://github.com/alexchen/tql}{github.com/alexchen/tql} \\\textit{Rust} --- a typed query builder for Postgres with compile-time-checked SQL.\section*{Education}\textbf{M.S. Computer Science} \hfill Stanford University \\\textit{2013 -- 2015} \hfill \textit{Focus: Distributed Systems}\par\vspace{4pt}\textbf{B.S. Computer Science} \hfill University of Illinois Urbana-Champaign \\\textit{2009 -- 2013} \hfill \textit{GPA: 3.9 / 4.0}\section*{Skills}\textbf{Languages:} C++, Go, Rust, Python, Java, SQL \\\textbf{Systems:} Spanner, Bigtable, Kubernetes, Kafka, gRPC / Protobuf, Redis \\\textbf{Focus:} Distributed systems, performance, reliability (SLOs), system design, mentoring\end{document}Senior Software Engineer (L5) with 9+ years designing and operating large-scale distributed systems. Deep experience in backend infrastructure, performance, and reliability.
- Tech lead for a Search serving component handling 2M+ queries/second; cut p99 latency 38%.
- Designed a globally replicated feature store on Spanner backing 40+ ML models.
- Led migration of a 300-service fleet to a new RPC framework; reduced on-call pages 45%.
- Mentored six engineers and ran the team’s design-review program.
- Built a real-time aggregation pipeline processing 8B events/day.
- Cut batch-job cost 30% with sharding and incremental computation.
- Shipped ledger and reconciliation services processing $60B+/year.
- Reduced a reconciliation run from six hours to 25 minutes.
Go, Raft, gRPC — distributed rate limiter doing 4M+ decisions/sec/node.
Rust — typed query builder for Postgres with compile-time-checked SQL.
Languages: C++, Go, Rust, Python, Java, SQL
Systems: Spanner, Bigtable, Kubernetes, Kafka, gRPC / Protobuf, Redis
Results
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 just2014defects4j.
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Evaluation method
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion.
Discussion and limitations
These results show why compilation and edit precision should be reported together, but they do not establish a universal model ranking jimenez2024swebench.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice.
Conclusion
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
- Language analysisCurrent project revision analyzed
- CompilingProducing and verifying PDF output
- Rendering PDFWaiting for verified compile output
Single-Fault LATEX Compilation Repair
Independent Researcher
San Jose, CA, USA
Abstract—Compilation repair for LaTeX is easy to score badly. A candidate may compile after deleting or hiding content, while exact source equality rejects valid alternative repairs. We present TeXFix-Bench, a controlled benchmark for repairing complete, broken LaTeX sources under a pinned engine. The generator applies 12 deterministic single-fault operators to 13 hand-authored seed documents. It retains 627 engine-validated rows, comprising 300 unique hard-track inputs and 67 unique warning-only inputs after hash deduplication.
Index Terms—automated program repair, LaTeX, benchmark, compilation, large language models, reproducibility
LaTeX compilation failures are a practical target for automated repair. A missing delimiter or misspelled control sequence can prevent a complete document from building, and the first reported diagnostic may be distant from the underlying fault. LLM-assisted writing systems now operate inside LaTeX editors , but their publications do not provide a public, engine-pinned evaluation of compilation-failure repair.
Program repair benchmarks pair a defect with an executable oracle and a fixed harness . TeXFix-Bench studies a narrower contract: a broken source document in, a repaired full source out, under a specified engine.
TexOCR-Bench evaluates page-image-to-LaTeX reconstruction , and EqFix repairs errors in individual equations by synthesizing rules from examples . Overfitting to a weak oracle is a known hazard .
A system receives one broken source file and returns one repaired source file. The engine, its version, and the build command are fixed for every attempt.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice .
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion .
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 . Compilation and edit precision must be reported together.
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
[1]R. Just, D. Jalali, and M. D. Ernst, “Defects4J: A database of existing faults to enable controlled testing studies for Java programs,” in Proc. ISSTA, 2014, pp. 437–440.
[2]C. Le Goues, N. Holtschulte, E. K. Smith, Y. Brun, P. Devanbu, S. Forrest, and W. Weimer, “The ManyBugs and IntroClass benchmarks for automated repair of C programs,” IEEE Trans. Softw. Eng., vol. 41, no. 12, pp. 1236–1256, 2015.
[3]C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, “SWE-bench: Can language models resolve real-world GitHub issues?” in Proc. ICLR, 2024.
[4]M. Chen et al., “Evaluating large language models trained on code,” arXiv:2107.03374, 2021.
[5]E. K. Smith, E. T. Barr, C. Le Goues, and Y. Brun, “Is the cure worse than the disease? Overfitting in automated program repair,” in Proc. ESEC/FSE, 2015, pp. 532–543.
[6]R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
[7]Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Softw. Eng., vol. 37, no. 5, pp. 649–678, 2011.
[8]R. Gupta, S. Pal, A. Kanade, and S. Shevade, “DeepFix: Fixing common C language errors by deep learning,” in Proc. AAAI, vol. 31, no. 1, pp. 1345–1351, 2017.
[9]M. Yasunaga and P. Liang, “Graph-based, self-supervised program repair from diagnostic feedback,” in Proc. ICML, PMLR, vol. 119, pp. 10799–10808, 2020.
[10]F. Zhu, Z. Liu, G. Yang, J. Li, and S. Cheung, “EqFix: Fixing LaTeX equation errors by examples,” in SETTA 2022, LNCS 13649, pp. 89–109.
[11]K. Wang et al., “TexOCR-Bench: Benchmarking page-image-to-LaTeX reconstruction,” in Proc. 64th ACL, Vol. 1, 2026.
[12]H. Wen, Z. Zhang, and Y. Li, “OverleafCopilot: Empowering academic writing in Overleaf with large language models,” arXiv:2403.09733, 2024.
[13]S. Hou et al., “PaperDebugger: Assisting scientific writing, review, and editing,” in Companion Proc. ACM Web Conf., 2026.
[14]J. Tan, K. Zhang, and X. Chen, “Inconsistencies in TeX-produced documents,” in Proc. ISSTA, 2024.
[15]L. Zheng et al., “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena,” Adv. Neural Inf. Process. Syst., vol. 36, pp. 46595–46623, 2023.
[16]A. Panickssery, S. R. Bowman, and S. Feng, “LLM evaluators recognize and favor their own generations,” Adv. Neural Inf. Process. Syst., vol. 37, 2024.
[17]B. Hui et al., “Qwen2.5-Coder technical report,” arXiv:2409.12186, 2024.
[18]Meta AI, “Llama 3.2 model card,” 2024.
[19]E. Kassis et al., “Agent skills for reproducible research agents,” arXiv:2609.00065, 2026.
Inside the app
This is what you'll be working in.
Every picture on this page is a screenshot of the app as it ships. No mockups.
New in this release
Write the paper together, in the same file.
Share a project with your co-authors and you'll see their cursors move as they type, each one labelled with a name. Comments sit next to the line they're about. If your train loses Wi-Fi, keep writing. Your edits go through when you reconnect.
How to set up a server
Named cursors
You can tell at a glance who is in the methods section and who is fixing Table 1.
Comments on the line
Ask a question on a sentence and mark it resolved when it's fixed.
See who's here
Avatars show who's in the project and which file they're working in.
Run your own server
Install Oleafly Server on a machine your group controls with one command.
Write and compile
Source on one side, the PDF on the other.
Tectonic and Typst are bundled, so most projects compile the first time you open them. Click a spot in the PDF and the editor jumps to the line behind it. If a build breaks, the last good PDF stays on screen while you fix it.
- Completion for commands, labels and citation keys
- Spelling and grammar checks that never leave your computer
- Switch between Code and Visual view

AI assistant
Ask for help. Read the diff. Then decide.
The assistant can read your project, run a compile, fix the error it finds or draft a TikZ figure. Each edit shows up as a diff you can review and undo. Bring a hosted model or your own endpoint, or run Ollama and keep it all on your machine.
- Plan mode reads the project before it writes anything
- Turn AI off and the rest of the app works the same

Citations
Find the paper and cite it without opening a browser.
Citation Search looks through arXiv, Semantic Scholar, Crossref, PubMed and OpenAlex at once. Save a result and its BibTeX goes into your .bib file. Got a DOI or an arXiv ID? Paste it and Oleafly fills in the rest.
- Imports Zotero, EndNote, RIS and BibTeX
- Flags undefined and duplicate keys as you type

Version history
Git in the sidebar, and checkpoints when you don't want Git.
Stage, diff, commit, push and pull without leaving the editor. Separately, Oleafly saves a local checkpoint after each successful compile, so going back an hour doesn't need a commit.
- Unified or side-by-side diffs
- Publish a project to GitHub from the app

LaTeX, Typst and Markdown
Write in the format your venue asks for.
LaTeX compiles with the bundled Tectonic or your own TeX install. Typst has its own bundled compiler, and Markdown goes through Pandoc. The outline, the structure map and the live preview work the same way in all three.
- Compilers come with the app, so there's no TeX install to fight
- Convert between LaTeX, Typst and Word from the Tools gallery

And the rest
The parts you notice on deadline day.

Preflight
Before you submit, check the layout, accessibility, references and anything that would break blind review.

Draw it, get TikZ
Put boxes and arrows on a canvas, then switch to the TikZ source and keep editing.

Cite as you type
Type \cite{ and pick from your .bib file and Zotero library, with authors and year beside each key.

A version for every compile
Each successful compile that changed the source is kept. Go back to any of them in one click.

Template packs
Download a pack of conference, journal or thesis templates. Once it's on your machine, every template compiles offline.

Bring your work in
Start from a .zip, a Word or Markdown file, an arXiv paper or a GitHub repo. The original stays untouched.

Bring your own agent
Connect Claude Code, Codex CLI, Gemini CLI and other command-line agents through ACP.

47 free tools
PDF to LaTeX, arXiv to Typst, spreadsheets to tables, BibTeX checks and more. No project needed.

Keyboard first
Jump to a file, run a command or open a tool without touching the mouse.

Projects are folders
Every project is a normal folder on disk. Open it in anything.

An admin console for your server
Add people, set roles and see their devices on the collaboration server your group runs.

Back up to Dropbox
Keep your Library in your own Dropbox and open it on your other computers. Keys and AI chats stay on this one.
強大的研究工作台
從第一筆引用到最終 PDF。
草擬、編譯、校對、搜尋、引用、審閱、發表,不必再拼湊多個工具。Oleafly 把原始碼、預覽、參考文獻、AI 與 Git 歷史,全部收進一個由你掌控的工作區。
匯入既有內容
將許多基於文字的 PDF 重新建構為本地可編輯的 LaTeX,透過託管 Pandoc 轉換 DOCX,或讓視覺模型轉錄頁面的照片。之後可選AI細化。
匯出到目標格式
透過情境選單匯出 PDF、DOCX、HTML、Markdown 等格式。也可以將整個專案下載為原始碼 ZIP。
讓它成為你的
Vim 模式、淺色與深色主題、強調色、七種版面配置預設,以及可編輯的鍵盤快速鍵。編輯器就該用得順手。
用程式碼或視覺方式編寫
將任何 LaTeX 或 Markdown 文件切換到視覺化編輯器:標題、清單、粗體、連結都能直接編輯,兩種模式共用一致的復原紀錄。不支援的指令會以原始區塊保留顯示,而不會被默默捨棄,因此切回原始碼的往返過程不會破壞內容。
SyncTeX,精確到字詞
按住 ⌘ 點選 PDF 中的某個單字,然後定位到原始碼中的該單字。使用 ⌘⇧J 跳回。
程式碼智慧
轉到定義,尋找引用,並在每個檔案中重新命名標籤、引用鍵或巨集。
斜線指令
輸入 / 以獲得 Notion 風格的插入選單:/figure、/table、/section、/cite、/math。
title = {Raft-based KV stores}, …
DOI 引用
貼上 DOI、arXiv ID 或 URL。Oleafly 會取得 BibTeX、去除重複項目,並插入 \cite。
匯入整個文獻庫
批次匯入 BibTeX、RIS、EndNote XML 與 Zotero RDF。在任何條目寫入 .bib 之前,所有內容都會先與你的專案比對並去除重複。
命令面板
⌘K 模糊搜尋應用程式中的每個操作:專案、檔案、設定等等。
不限模型的 AI
連接你偏好的模型供應商、在本機執行 Ollama,或使用以自有帳號運作的已安裝 CLI 代理程式。依手邊的工作設定核准模式。不用 AI,編輯器也照樣能用。
研究,隨取隨用
該代理程式會搜尋 alphaXiv 和 OpenAlex,提取論文內容,並在引用進入您的參考書目之前根據 Crossref 驗證引用。
內建校對
透過 Hunspell 與 Harper 在本機校對拼字與文法。Oleafly 會略過 LaTeX 指令與數學式,讓檢查專注於你的內文。
給研究一個專屬工作區
撰寫任務簡述、選擇代理程式,它在隔離副本中工作時,你可以繼續撰寫。追蹤它的活動、預覽變更的檔案,並套用你想要的結果。
從一頁到六百頁
無論是一頁的履歷還是整本書篇幅的學位論文,編輯器與虛擬化 PDF 檢視器都能保持流暢。
用於真正閱讀的 PDF 檢視器
將預覽分離到第二台顯示器、閱讀兩頁跨頁、在深夜反轉顏色或全螢幕演示。
圖表編輯器
描述一張圖表,AI 就會撰寫 TikZ、單獨編譯該圖,並檢視算繪結果來修正重疊。也可以自己畫:在真正的畫布上使用形狀、連線與屬性檢視器,並可與產生的 TikZ 雙向轉換。完全離線即可匯出透明背景的高解析度 PNG。
三個引擎,一個工作區
將 LaTeX、Typst 與 Markdown 專案放在同一個專案庫中。為每個專案選擇編譯器,並使用相同的預覽、參考文獻、版本管理與 AI 工具。
LaTeX 編輯器
以 LaTeX、Typst 或 Markdown 撰寫,搭配即時 PDF 預覽與字詞級 SyncTeX。編譯器隨附在內,無需設定 TeX,也不必排隊等候編譯。
AI 助理
請助理編輯原始碼、編譯專案、檢查 PDF。連接模型供應商、Ollama,或已安裝的 CLI 代理程式;較費時的工作,就交給專屬的研究任務,你可以繼續寫作。
參考文獻管理工具
匯入 BibTeX、RIS、EndNote 或 Zotero,自動去除重複項目。貼上 DOI 或 arXiv ID,即可建立一筆經 Crossref 驗證的參考文獻。
履歷製作工具
從針對 ATS 設計的履歷範本開始,檢查擷取出來的文字,並為每個申請分叉一份專屬副本,先前的版本也不會遺失。
版本控制
編譯成功後,自動為變更的原始碼保留檢查點。用 Git 主動提交、比較修訂版本,並從同一個工作區推送到 GitHub。
PDF 工具箱
閱讀長篇 PDF、把多種文字型 PDF 重建為 LaTeX,並匯出 PDF、DOCX、HTML 或投稿用的原始碼封存檔。
研究工作區
一項研究任務,從起點到終點。
把一項明確的任務交給代理程式,閱讀它建議的編輯,準備好再編譯。工作成果會留在你的專案裡。
$ theta_(t+1) = theta_t - eta nabla_theta cal(L) $- 01建立研究專案先為你的手稿、文獻來源與研究任務,準備一個專屬位置。
- 02交給代理程式一項任務選擇它需要的檔案,並說明你想修改什麼。
- 03審閱建議的變更閱讀差異內容,判斷哪些編輯該留在你的手稿裡。
- 04編譯並保留成果檢查 PDF,之後隨時回來接手,任務仍留在你的專案裡。
展開新的工作
選擇這份手稿的起點,而每一個部分,都保留給你修改。

研究專案
一個研究資料夾,包含章節、文獻來源與審閱筆記,並附上一項界定研究問題的起始任務。

匯入專案
接手你既有的手稿:封存檔、Word 或 Markdown 草稿,或 GitHub 儲存庫。

使用範本
從為期刊論文、學位論文、報告、海報或演講準備好的版面配置開始。
新研究任務
成果會先留在另一個獨立工作區,直到你審閱並套用為止。
main.tex…\section{方法}我們排除了缺少主要結果的回應。 \end{document}睡眠與記憶
方法
我們排除了缺少主要結果的回應。
研究循環
研究、寫作、驗證、發布。
從文獻搜尋到投稿,全程不失去脈絡。Oleafly 將你的文獻來源、參考文獻、圖表、編譯器輸出與歷史記錄,集中在一個可檢視的工作流程中。
$ bold(tau) = bold(J)^T bold(F) $- doi:10.1145/3576915@article{gatto24} ✓1
研究
搜尋開放的研究資源,將 DOI 與 arXiv ID 轉換為 BibTeX,並在引用寫入參考文獻之前完成驗證。
- \section{Results}2
寫
以 LaTeX、Typst 或 Markdown 撰寫,搭配範本、全專案程式碼智慧,以及具備核准控制的選用 AI 助理。
- compiled · 0 errors ✓3
核實
在本機編譯、閱讀清楚的錯誤訊息,並在原始碼與 PDF 之間跳轉。預檢會顯示解析器與螢幕閱讀器將擷取的內容。
- PDFarXivGitHub ↑4
發布
匯出 PDF、DOCX 或 HTML,打包原始碼以供投稿,並從工作起始的同一個資料夾推送到 GitHub。
產品比較
唯一能取代其他所有工具的研究工作區。
在同一處完成撰寫、編譯、校對、文獻搜尋、引文管理、PDF 審閱、編輯自動化與論文交付。Oleafly 將整套研究工具整合至一款免費、開放原始碼的應用程式。看看下列替代方案還欠缺哪些功能。 文件.
| Oleafly | OpenAI Prism | Overleaf | Typst Web App | Curvenote | LyX | TeXstudio | Texifier | VS Code + LaTeX | Paperpal | Writefull | 履歷製作工具 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 擁有權與存取 | 價格 | 免費且開放原始碼。不需訂閱 Oleafly | 使用 ChatGPT 帳號即可免費使用 | 提供免費方案;付費方案可增加功能 | 提供免費方案;Pro 需額外付費 | 提供免費方案;付費方案可建立私人專案 | 免費且開放原始碼 | 免費,採 GPL 授權 | 付費;提供免費試用版 | 免費;AI 有用量限制或付費方案 | 提供免費方案;Prime 需額外付費 | 提供免費方案;Premium 需額外付費 | 視產品而定;多數採訂閱制 |
| 不需帳號 | 是 | 否 | 否 | 否 | 否 | 是 | 是 | 是 | 是 | 否 | 否 | 視產品而定 | |
| Platforms | macOS, Windows and Linux desktop apps | Web only | Web, plus self-hosted Server Pro | Web, plus an on-premises plan | Web editor plus open-source CLI | Windows, macOS and Linux | Windows, macOS and Linux | macOS and iOS. Windows coming | Windows, macOS and Linux | Web, Word, Google Docs, Overleaf | Word, Overleaf and web | Mostly web | |
| 可離線使用 | 可離線撰寫、校對、預覽及編譯 | 否,採雲端工作區 | 否,採雲端服務 | 否;網頁應用程式需要網路連線 | 否;編輯器採雲端服務 | 是 | 是 | 是 | 是 | 否 | 否 | 鮮少支援 | |
| Interface languages | 21 interface languages | Not documented | 18 | Not documented | Not documented | 26, varying completeness | About 30 community translations | 8 | 15 | Not documented | Not documented | Varies by product | |
| 檔案保留在本機磁碟 | 由你擁有的一般本機資料夾 | 雲端儲存 | 雲端儲存 | 雲端儲存;編譯器可在本機執行 | 雲端儲存 | 是 | 是 | 本機檔案與檔案服務供應商 | 是 | 雲端服務與編輯器整合 | 檔案保留在 Word 或 Overleaf 中 | 通常採雲端儲存 | |
| Collaboration and sync | 即時協作 | 即將推出。不限人數協作,可自行託管 | 不限協作者人數 | 內建;人數限制依方案而定 | 內建 | 即時編輯與留言 | 不支援即時共同編輯 | 不支援即時共同編輯 | 不支援即時共同編輯 | 透過 Live Share | 使用 Word、Google Docs 或 Overleaf | 使用 Word 或 Overleaf | 視產品而定 |
| Live comments | Threads with replies, @mentions and resolve | Yes | Yes | Yes, owner needs Pro | Yes | No | No | Not documented | Via extensions only | In the host editor only | In the host editor only | Rarely | |
| Your own server | Oleafly Server: one-command install, admin console, SSO | No | Yes | On-premises plan | Not documented | No | Peer-to-peer, one user hosts | Not documented | No. Live Share is Microsoft-hosted | Not documented | Not documented | Rarely | |
| 雲端同步 | 即將推出。檔案保留在你的電腦上,同時可透過瀏覽器存取 | 雲端工作區 | 雲端工作區,另提供付費 Git 與 Dropbox 同步 | 雲端工作區,Pro 方案另提供 Git 同步 | 雲端專案與串連式出版 | 使用 Git 或自選同步服務 | 使用 Git 或自選同步服務 | 透過 Texifier Connect 即時同步 | 使用 Git 或自選同步服務 | 雲端工作區 | 在 Word 或 Overleaf 中運作 | 通常採雲端儲存 | |
| 團隊空間 | 即將推出。共用範本、文獻庫與審閱流程 | 共用專案,協作者人數不限 | 群組與機構方案 | 共用專案,另為組織提供地端部署 | 團隊工作區與存取控制 | 未內建團隊空間 | 未內建團隊空間 | 透過 Texifier Connect 共用專案 | GitHub 組織與 Live Share | 機構儀表板與授權管理 | 機構存取 | 視產品而定 | |
| 版本記錄 | 已儲存的編譯檢查點,另有 Git 提交、差異比較與還原 | 雲端修訂版本 | 付費方案提供完整記錄 | Pro 方案提供 Git 同步 | 內建版本記錄 | Git 與其他版本控制工具 | 手動或 SVN | 使用檔案服務供應商或 Git 工具 | 內建 Git,需自行設定 | 未見文件說明 | 使用宿主應用程式的版本記錄 | 視產品而定 | |
| Git and GitHub | Built-in Git panel. Publish, push and pull to GitHub | Not yet. Planned | Git and GitHub on paid plans | GitHub and GitLab sync on Pro, experimental | GitHub integration and CLI | Basic, local only | Built-in Git panel and SVN | Not documented | Built in | Not documented | Not documented | No | |
| 寫作與出版 | 文件引擎 | 在同一工作區使用 LaTeX、Typst 與 Markdown | 僅支援 LaTeX | 僅支援 LaTeX | 僅支援 Typst | MyST Markdown 與 Jupyter | LaTeX 與 DocBook | 僅支援 LaTeX | LaTeX 與 Markdown | 透過擴充功能 | Word、Google Docs、網頁與 Overleaf | Word 與 Overleaf LaTeX | 僅支援履歷格式 |
| TeX 設定 | 隨附 Tectonic 與 Typst,不需安裝 TeX | 不需安裝;在雲端編譯 | 不需安裝;在雲端編譯 | 不需安裝 TeX | 不需安裝 TeX | 需安裝 TeX 發行版 | 需安裝 TeX 發行版 | 內建排版引擎與套件管理工具 | 需安裝擴充功能與 TeX | 透過 Overleaf 使用 LaTeX | 透過 Overleaf 使用 LaTeX | 不需設定 TeX | |
| 程式碼與視覺化編輯 | 原始碼與視覺化編輯,雙向轉換不失真 | 原始碼與預覽 | 原始碼與富文字模式 | 原始碼與即時預覽 | 支援 LaTeX 數學式的視覺化編輯器 | 結構化視覺編輯器 | 僅限原始碼 | 原始碼與 PDF 預覽 | 僅限原始碼 | 視覺化寫作助理 | 行內寫作建議 | 僅限視覺化編輯 | |
| 全專案程式碼智慧 | 自動完成、定義與參照查找,以及全專案重新命名 | 編輯器與 AI 輔助 | 自動完成與參照搜尋 | 錯誤提示、自動完成與 Assists | 結構化參照與方程式 | 標籤、參照、大綱與自動完成 | 結構與參照檢查工具 | 自動完成、大綱、參照與搜尋 | LaTeX Workshop IntelliSense | 沒有 LaTeX 程式碼工具 | 以 TeXGPT 輔助 LaTeX 程式碼 | 否 | |
| 原始碼與 PDF 同步 | 原始碼與 PDF 可在字詞層級雙向同步 | 即時 PDF 預覽 | 原始碼與 PDF 同步 | 即時預覽 | 不支援原始碼與 PDF 同步 | 原始碼與輸出預覽 | 接近字詞層級 | 原始碼與 PDF 同步 | 正向與反向 SyncTeX | 否 | 使用 Overleaf 預覽 | 否 | |
| PDF 閱讀模式 | 內建檢視器,另有獨立視窗、跨頁、深色與閱讀模式 | 內建預覽 | 內建預覽 | 內建預覽 | 文件預覽 | 使用 PDF 檢視器 | 整合式檢視器 | 整合式 PDF 檢視器 | 擴充功能檢視器,支援反相模式 | 與 PDF 對話 | 無 PDF 閱讀器 | 文件預覽 | |
| 文件範本 | 100 多個入門範本、可重複使用的自訂範本,以及 AI 範本產生 | 未見文件說明 | 豐富的出版社範本庫 | Typst Universe 與 Pro 私人範本 | 付費方案提供專業範本 | 內建文件類別 | 內建範本與使用者範本 | 未見文件說明 | 程式碼片段與社群範本 | 未見文件說明 | 否 | 核心功能 | |
| 專案與文件匯入 | 支援檔案與 ZIP,以及 PDF、DOCX、Markdown、圖片和資料夾 | 資料夾、ZIP 或拖放 | 檔案、ZIP 與付費整合服務 | 可轉換 LaTeX、Word 與 Markdown | Jupyter 內容與參考文獻匯入 | LaTeX 與其他文字格式 | 開啟本機原始碼檔案 | 本機資料夾與雲端檔案 | 開啟本機原始碼檔案 | 上傳 PDF 與文件 | Word 與 Overleaf 文件 | 通常支援 PDF 或 DOCX | |
| 匯出格式 | PDF 與原始碼 ZIP,另支援 DOCX、HTML 和 Markdown | PDF 與專案檔案 | PDF 與原始碼 ZIP | PDF、PNG 與 SVG | PDF、Word、LaTeX、Typst 與 MyST | PDF、HTML、Word、RTF、ePub 等 | PDF 與原始碼檔案 | PDF 與原始碼檔案 | 取決於本機工具 | Word 工作流程 | 具追蹤修訂的 Word 文件 | 通常支援 PDF 與 DOCX | |
| 視覺化與 AI 圖表工具 | 視覺化畫布與 AI 產生的 TikZ,並檢查算繪結果 | 將圖片與語音轉為程式碼 | 手動編寫 TikZ 與 AI 工具 | Typst 套件與原生繪圖 | 互動式圖表與圖形 | 視覺化表格與圖片工具 | 手動編寫 TikZ,搭配編輯器輔助 | 手動編寫 TikZ | 手動編寫或使用擴充功能 | 否 | AI 表格、方程式與圖形 | 否 | |
| Built-in tools | 47 converters plus citation and math tools | Image and voice to LaTeX | No dedicated gallery | Not documented | Not documented | No | Table, figure and quick-start wizards | Not documented | Via extensions | Paraphraser, translator, citations, PDF chat | Paraphraser, academizer, title and abstract generators | ATS checkers and cover letter generators | |
| 研究與 AI | AI 模型選擇 | +4代管供應商、Ollama、自訂端點與已安裝的 CLI 智慧代理 | 內建 OpenAI 模型 | 內建研究 AI;每日額度依方案而異 | 編譯器 Assists | 未見文件說明 | 無 | 無 | 無 | Copilot、自備金鑰或擴充功能 | Paperpal AI | Writefull 模型與 GPT | 內建;模型選擇視產品而定 |
| 編輯器內的 CLI 智慧代理 | +7Claude Code、Codex、Gemini CLI 等 | 未見文件說明 | 未見文件說明 | 未見文件說明 | 未見文件說明 | 未見文件說明 | 未見文件說明 | 未見文件說明 | Copilot、Claude 和 Codex | 未見文件說明 | 未見文件說明 | 依產品而異 | |
| 本機 AI | 本機 Ollama,不需代管供應商 | 否 | 否 | 否 | 否 | 否 | 未內建 AI | 否 | 自備金鑰或擴充功能 | 否 | 否 | 否 | |
| 套用前檢視 AI 編輯內容 | 核准模式、行內編輯預覽,以及可檢視的任務結果 | 保留或復原 | 檢視 AI 建議 | 逐項檢視 Assist | 未見文件說明 | 未內建 AI | 未內建 AI | 未內建 AI | 檢視變更 | 檢視寫作建議 | 追蹤修訂 | 視產品而定 | |
| 由 AI 檢查算繪結果 | 編輯原始碼、編譯,再檢查算繪後的 PDF | 由你重新編譯確認 | 由你重新編譯確認 | 編譯預覽 | 否 | 未內建 AI | 未內建 AI | 未內建 AI | 檢查建置結果,但不審查 PDF | 不審查算繪後的 PDF | 不審查算繪後的 PDF | 否 | |
| AI skills | 36 research skills built in, more to download | Built-in skills such as Paper Review | One built-in claim scan | No AI assistant | Not documented | No AI assistant | Editable prompt and AI macros | No AI assistant | Yes | Preset and custom prompts | Not documented | Custom prompts at most | |
| 文獻與引文搜尋 | 跨 alphaXiv 與 OpenAlex 搜尋文獻,並以 Crossref 驗證 | 內建文獻搜尋 | 參考文獻搜尋與 AI 引文建議 | 未內建搜尋 | DOI 引文查詢 | 未內建搜尋 | 否 | 未內建搜尋 | 透過 AI 或擴充功能 | 搜尋超過 2.5 億篇文章 | Writefull Cite 可找出缺漏的引文 | 否 | |
| 研究工作區與任務 | 研究任務:隔離的工作區、代理程式活動、檔案預覽與選擇性套用 | 未見文件說明 | 未見文件說明 | 否 | 未見文件說明 | 否 | 否 | 否 | 透過 AI 擴充功能 | 否 | 否 | 否 | |
| 參考文獻庫匯入 | 支援 BibTeX、RIS、EndNote 與 Zotero,並在匯入前去除重複項目 | Zotero 同步 | 付費方案提供參考文獻整合 | Pro 方案提供 Zotero 與 Mendeley 同步 | Zotero、Mendeley 與 EndNote | BibTeX 檔案 | 可搭配 BibTeX 檔案使用 | BibTeX 檔案 | 透過擴充功能 | 引文產生器 | 不支援文獻庫匯入 | 否 | |
| 供外部 AI 代理程式使用的 MCP | 將 MCP 工具連接到助理,或將專案工具提供給外部代理程式使用 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | |
| 品質與投稿 | 投稿前檢查 | 編譯檢查,以及投稿場域、ATS、無障礙、參考文獻與隱私檢查 | 提供 AI 審閱,但無完整投稿檢查套件 | 編譯檢查 | 編譯器錯誤與 Assists | SCMS 合規工具 | 編譯器記錄與選用的 ChkTeX | 錯誤與警告 | 清楚的編譯器錯誤訊息 | 透過擴充功能進行程式碼檢查 | 30 多項投稿檢查 | 語言品質審查 | 僅限履歷檢查 |
| 拼字與文法檢查 | 私密的離線拼字與文法檢查,並能理解 LaTeX 語境檢查內文 | AI 校對 | 內建拼字檢查,以及針對研究寫作設計的 AI 回饋 | 未見文件說明 | 未見文件說明 | Hunspell、Aspell 與同義詞庫 | 互動式拼字與文法檢查 | 拼字檢查 | 透過擴充功能或 AI | 學術文法與文體 | 學術語言回饋 | 基本檢查功能視產品而定 | |
| ATS 履歷檢查 | ATS 評分檢查與擷取文字預覽 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 未內建檢查 | 否 | 否 | 視產品而定;評分方式通常不透明 | |
| 無障礙預檢 | 無障礙檢查與標記式匯出準備 | 否 | 否 | 未見文件說明 | 結構化網頁出版 | 結構化文件;無預檢功能 | 否 | 未見文件說明 | 未內建檢查 | 否 | 否 | 視產品而定 | |
| Blind-review checks | Flags author names, acknowledgements, PDF metadata and comments | Not documented | Not documented | Not documented | No | Not documented | Not documented | Not documented | Not documented | Not documented | Not documented | No | |
| Reference and file checks | Undefined refs, missing files, duplicate keys, uncited entries | AI error fixes and Paper Review | AI .bib and claim checks | Compiler errors on missing labels | DOI, link, cross-reference and image checks | Marks broken cross-references | Live reference checking | LaTeX error list only | ChkTeX and LaCheck linting | 30+ checks including references and figures | Flags uncited claims (institutions) | No | |
| Word count and insights | Word count plus headings, figures, tables, citations and TODOs | Not documented | Yes | Not documented | Abstract word-limit check | Yes | Yes | Yes | Yes, via TeXcount | Not documented | Not documented | Resume analysis scores |
隱私,講清楚
預設在本機。連網由你決定。
你的專案保留在你的電腦上。Oleafly 只在你選用的功能中使用網路,並會在傳送當機報告前先讓你查看。不需要 Oleafly 帳號,也沒有遙測。 隱私.
始終在本機
Works with the Wi-Fi off
- 專案檔案、草稿、已儲存的檢查點與 Git 歷史記錄
- 撰寫、編譯、PDF 審閱與預檢
- 離線拼字檢查、文法檢查、圖表,以及選用的 Ollama
僅在你操作時連網
Only when you click
- 代管的 AI 只會收到你選擇傳送的上下文
- GitHub 同步與研究搜尋僅在你要求時執行
- 套件、範本、字型與應用程式更新會視需要下載
\[ v = \frac{V_{\max}[S]}{K_m + [S]} \]\[ p^2 + 2pq + q^2 = 1 \]哲學
你的研究應當比創作它的工具更長久。你的研究應當比創作它的工具更長久。
\[ v = \frac{V_{\max}[S]}{K_m + [S]} \]\[ p^2 + 2pq + q^2 = 1 \]
開源,認真打造
堅持獨立,為社群打造。
Oleafly 公開開發。可靠性是產品的一部分:從可取消的編譯、安全的檔案路徑,到 Git 復原、PDF 備援,以及涵蓋 macOS、Windows 和 Linux 的測試。
查看程式碼、回報問題、貢獻修正或為 Oleafly 按 Star,歡迎前往 GitHub.
常見問題
轉換之前,你該知道的事。
Didn't find your answer? Ask on Discord or GitHub Discussions.
01Oleafly 是什麼?+
Oleafly 是一款免費的桌面工作區,適用於論文、學位論文、履歷與其他技術文件。以 LaTeX、Typst 或 Markdown 撰寫、預覽 PDF、管理參考文獻,並可選用 AI 助理。你的專案以一般檔案的形式,保存在你自己的電腦上。
02真的免費嗎?+
是的。Oleafly 免費且開放原始碼,桌面應用程式不額外加收訂閱費用。若連接付費的 AI 供應商,用量費用依該供應商計收;透過 Ollama 使用本機模型,則不需要付費 API。
03支援哪些 AI 模型?+
可連接代管模型供應商、本機 Ollama,或自訂的 OpenAI 相容端點。你也可以執行支援的 CLI 代理程式(包括 Claude Code 與 Codex),使用它們各自安裝的工具與帳號。在助理中選擇執行環境與模型。
04需要帳號嗎?+
不需要。桌面應用程式沒有 Oleafly 帳號,也無需登入。你的專案保存在一般本機資料夾中;已連接的 AI 與 Git 代管服務,可能需要各自的登入憑證。
05可以取代哪些工具?+
在許多工作流程中,Oleafly 可取代各自獨立的寫作、校對、編譯、引用、PDF、履歷、AI 與 Git 用戶端。它持續以一般檔案與 GitHub 運作,因此你可以放心採用,不必把工作鎖進專有格式。
06可以匯入既有的論文或履歷嗎?+
可以。開啟既有資料夾,或匯入 ZIP 檔(包括線上 LaTeX 編輯器的匯出)。Oleafly 會自動偵測主要文件,可在本機將文字型 PDF 轉換為 LaTeX、透過 Pandoc 處理 DOCX,並使用視覺模型轉錄掃描件或照片。
07PDF 輸出對 ATS 友善嗎?+
ATS 相容程度取決於範本與內容,因此 Oleafly 不保證分數。履歷範本採用可選取的 Unicode 文字、內嵌字體、單欄版面與線性閱讀順序;預檢會在送出 PDF 前,顯示解析器實際擷取到的內容。
08那協作與同步呢?+
目前的協作透過 Git 進行:發布到 GitHub 之後,就能在 Oleafly 裡推送與拉取。即時共同編輯、留言與代管同步已在規劃中,但尚未進到應用程式。
09可以離線寫作,或完全不用 AI 嗎?+
可以。寫作、本機編譯、PDF 審閱與校對都不需要 AI。離線之前,請先下載專案所需的套件、字體與工具。若要本機 AI,請在 Ollama 下載模型,並連上它的本機伺服器。
10我繼續寫作時,代理程式可以同時工作嗎?+
可以。開啟研究任務,給出任務簡述並選擇代理程式。它會在隔離的副本中工作,你則繼續撰寫論文;隨時查看活動進度、預覽變更的檔案,並套用你選擇的結果。
\[ E = h\nu \]下載
免費。開源。屬於你。
從最新版本取得預先建置的安裝程式,或 從原始碼建置。沒有帳戶,沒有遙測。
部分建置版本在首次啟動時可能觸發作業系統警告。安裝指南會說明需要檢查哪些項目以及如何繼續。