Перейти до вмісту
Oleaflyv0.4.8

Встановіть команду oleafly у Windows, macOS чи Linux, збирайте й перевіряйте проєкти з термінала чи CI, синхронізуйтеся з онлайн-сервісом LaTeX і підключайте агентів програмування через її сервер MCP і навичку.

Разом з Oleafly постачається oleafly, інструмент командного рядка, що працює з тими самими проєктами, що й застосунок. Збирайте чи перевіряйте статтю з термінала, скрипта або CI. Дайте агентові програмування надійний шлях у ваш проєкт. Синхронізуйтеся з онлайн-сервісом LaTeX або сервером Oleafly чи запускайте агента Oleafly, не відкриваючи застосунок.

Він постачається всередині застосунку на кожній платформі. Ця сторінка описує команди в Oleafly 0.4.8 і новіших. У ранніх версіях їх було менше, тож закріпіть версію Oleafly у скриптах, які від них залежать.

СистемаДе застосунок його зберігаєДодайте oleafly до PATH
Windowsoleafly-cli.exe поруч із застосунком: у %LOCALAPPDATA%\Oleafly для програми встановлення або в C:\Program Files\Oleafly для пакета MSIВстановити в рядку Команда для термінала в Налаштування → Загальні копіює її до %LOCALAPPDATA%\Oleafly\bin\oleafly.exe і додає цю теку до вашого PATH
macOSOleafly.app/Contents/MacOS/oleafly-cliВстановити в рядку Команда для термінала підключає oleafly через посилання в /usr/local/bin, якщо ви можете туди записувати, а інакше в ~/.local/bin
Пакунки Linux (.deb, .rpm)/usr/bin/oleafly-cliНічого робити не треба: пакунок встановлює /usr/bin/oleafly
AppImage для LinuxУсередині AppImageВстановити копіює її до ~/.local/bin/oleafly

Програми, які запускає Oleafly, як-от його власний термінал і агенти командного рядка, завжди знаходять oleafly у своєму PATH, навіть до того, як ви його встановите. Змінна OLEAFLY_CLI містить його повний шлях.

  1. Відкрийте Налаштування → Загальні і виберіть Встановити в рядку Команда для термінала.
  2. Відкрийте нове вікно PowerShell або Командного рядка. Вікна, які вже були відкриті, зберігають старий PATH.
  3. Перевірте, що це працює:
Вікно термінала
Get-Command oleafly
oleafly version

Вилучити в тому самому рядку видаляє копію й знову прибирає теку з вашого PATH. Коли Oleafly оновлюється, він оновлює копію під час наступного запуску.

Спершу перемістіть Oleafly до теки «Програми». Копія, що запущена з образу диска, показує «Спершу перемістіть Oleafly до теки „Програми“» замість Встановити.

Команда є посиланням на застосунок, тож оновлення Oleafly оновлює й команду. Якщо теки немає у вашому PATH, налаштування покажуть, який рядок додати до профілю оболонки. Перевірте це командою command -v oleafly.

Пакунки .deb і .rpm додають oleafly до вашого PATH під час встановлення. oleafly без нічого після нього відкриває застосунок.

AppImage потребує копії, бо файли всередині AppImage зникають, коли він закривається. Коли ви заміните AppImage новішим, рядок пропонує Оновити. Якщо ~/.local/bin немає у вашому PATH, налаштування покажуть, який рядок додати.

Перевірте, що це працює

Розділ «Перевірте, що це працює»

oleafly version виводить версію застосунку та рушії, які використає команда. oleafly doctor перевіряє рушії, застосунок, Git, команду для термінала й ваші клієнти MCP та виводить виправлення для всього, чого бракує. Вона працює і поза проєктом.

oleafly . відкриває поточну теку в застосунку. Кожна інша команда працює з текою, у якій ви перебуваєте; -C зі шляхом після нього спрямовує її кудись інде.

Вікно термінала
cd ~/papers/thesis
oleafly init --engine typst
oleafly build
oleafly log --diagnostics
oleafly -C ~/papers/review --json build
  • oleafly init робить поточну теку проєктом. --engine приймає tectonic, latexmk, typst або markdown.
  • oleafly new з текою, --template і ідентифікатором шаблона створює проєкт із шаблона. oleafly templates list --all перелічує шаблони.
  • oleafly build використовує рушій і налаштування проєкту так само, як застосунок: Tectonic, Typst і Pandoc, що постачаються з Oleafly, або LaTeX, який ви встановили. --main збирає інший документ проєкту, --compiler вибирає компілятор LaTeX для проєктів latexmk, -o копіює PDF кудись інде, а --timeout задає ліміт у секундах.
  • Тека, відкрита в застосунку на місці, збирається з рушієм і головним документом, які ви там вибрали, у власну теку збирання застосунку.
  • Застосунок і команда ніколи не збирають один проєкт одночасно: другий чекає на перший. Невдале збирання зберігає останній справний PDF.
  • oleafly watch перезбирає щоразу, коли ви зберігаєте. oleafly log --diagnostics перелічує помилки й попередження з файлом і рядком, а oleafly clean видаляє результат збирання.

Про особливості Typst див. Проєкти Typst.

Користуйтеся ним з агента програмування

Розділ «Користуйтеся ним з агента програмування»

Агенти програмування працюють найкраще з трьома речами, які дає їм команда: oleafly context для карти проєкту, --json для результатів, які вони можуть прочитати, і коди завершення, що кажуть, що пішло не так. Є три способи підключити агента.

Oleafly постачає навичку під назвою oleafly-cli. Вона навчає агента команд, виводу JSON і кодів завершення, а також циклу, що працює найкраще: прочитати контекст, відредагувати, зібрати, прочитати діагностику, виправити першу помилку.

У терміналі Oleafly і в агентах командного рядка, які він запускає, вибирайте навичку, як і будь-яку іншу. Для агента, якого ви запускаєте самостійно, увімкніть Налаштування → Асистент ШІ → Навички → Ділитися навичками з іншими агентами на цьому комп’ютері. Тоді Oleafly підключає свої навички, зокрема oleafly-cli, до тек, які читають інші агенти програмування, як-от ~/.claude/skills, ~/.codex/skills і ~/.agents/skills. oleafly skills path виводить, де лежать навички, для агентів, що читають іншу теку.

Підключіть агента через MCP

Розділ «Підключіть агента через MCP»

oleafly mcp є сервером MCP, що працює через стандартний ввід і вивід. Коли в застосунку відкрито ваш проєкт, він передає виклики власному серверу MCP застосунку, тож агент отримує кожен інструмент застосунку та ваші запити на підтвердження. Інакше він працює сам, з інструментами читання (стан проєкту, карта проєкту, файли, пошук, журнали, звіт doctor, пошук цитувань) і compile. Копіювати URL-адресу чи токен не потрібно, і встановлювати Node.js теж.

Найшвидше налаштувати так: oleafly mcp config --client і далі claude-code, claude-desktop, codex, cursor або gemini. Команда виводить запис для цього клієнта; додайте --write, щоб запис додали за вас, зробивши резервну копію файла клієнта. Після цього перезапустіть клієнт або підключіть його знову. У проєкті вона записує налаштування проєкту; а деінде ваші налаштування користувача, з повним шляхом до команди, бо застосунки, які ви запускаєте з робочого стола, можуть не бачити вашого PATH.

Вікно термінала
claude mcp add --scope user oleafly -- oleafly mcp

У проєкті oleafly mcp config --client claude-code --write натомість додає сервер до .mcp.json проєкту.

Claude Desktop запускає сервери без теки проєкту, тож його запис завжди працює через застосунок: тримайте Oleafly відкритим із вашим проєктом. Використовуйте повний шлях до oleafly. У Windows подвоюйте кожну зворотну скісну риску в шляху.

claude_desktop_config.json
{
"mcpServers": {
"oleafly": {
"command": "/usr/local/bin/oleafly",
"args": ["mcp", "--bridge", "always"]
}
}
}

Файл лежить у ~/Library/Application Support/Claude на macOS і в %APPDATA%\Claude у Windows.

~/.codex/config.toml
[mcp_servers.oleafly]
command = "oleafly"
args = ["mcp"]
tool_timeout_sec = 300

Використовуйте ~/.cursor/mcp.json для всіх проєктів або .cursor/mcp.json усередині одного проєкту.

~/.cursor/mcp.json
{
"mcpServers": {
"oleafly": {
"command": "oleafly",
"args": ["mcp"]
}
}
}
~/.gemini/settings.json
{
"mcpServers": {
"oleafly": {
"command": "oleafly",
"args": ["mcp"],
"timeout": 300000
}
}
}

Дайте агентові весь проєкт

Розділ «Дайте агентові весь проєкт»

oleafly context складає карту проєкту: його файли, структуру, мітки, цитування, відсутні файли, нерозв’язані посилання та проблеми останнього збирання. --format md дає текст, який можна вставити в запит; --format json дає ту саму карту для програми.

Перевірте статтю перед поданням

Розділ «Перевірте статтю перед поданням»

oleafly check запускає для проєкту передперевірки з тими самими результатами, що й панель «Передперевірка»: посилання, цитування, мітки, відсутні файли, поля бібліографії, рисунки та анонімність для сліпого рецензування. Перевірки, яким потрібен скомпільований PDF, використовують останнє збирання.

oleafly lint запускає перевірки LaTeX і BibTeX та, у збірках, що їх містять, орфографію й граматику. --fix застосовує виправлення, які безпечно застосовувати.

Обидві приймають --format human, json або sarif, а --exit-code змушує їх завершуватися з кодом 9, коли вони знаходять проблеми. SARIF працює з сервісами сканування коду, як-от GitHub: запишіть звіт командою oleafly check --format sarif -o preflight.sarif, завантажте його дією upload-sarif, і кожна знахідка з’явиться на своєму рядку в pull request.

Синхронізація з онлайн-сервісом LaTeX

Розділ «Синхронізація з онлайн-сервісом LaTeX»

oleafly remote завантажує проєкти з вашого облікового запису онлайн-сервісу LaTeX і підтримує синхронізацію теки з одним із них, з тим самим злиттям, що й застосунок.

Входи зберігаються в зашифрованому сховищі застосунку, тож вхід, виконаний у застосунку, працює в командному рядку і навпаки.

  • oleafly auth login online --with-token зберігає токен Git з налаштувань облікового запису сервісу. Для зв’язування й синхронізації він потрібен.
  • oleafly auth login online --from-browser firefox копіює ваш вхід із браузера на цьому комп’ютері для перегляду списку й завантаження проєктів. Firefox працює в кожній системі; Chrome, Edge і Brave працюють на macOS. --cookie-stdin натомість читає cookie сеансу.
  • oleafly auth login git --host https://gitlab.com зберігає токен для хоста Git.
  • oleafly auth status перелічує кожен вхід і звідки він узявся, не показуючи жодного секрету.
  • oleafly auth logout вилучає вхід.

Імпорт і синхронізація проєктів

Розділ «Імпорт і синхронізація проєктів»
Вікно термінала
oleafly remote list
oleafly remote import 64a1f0c2e5b7 --into ~/papers
cd ~/papers/thesis
oleafly remote link
oleafly remote sync
  • oleafly remote import завантажує проєкти в нові теки. Працює з будь-яким обліковим записом.
  • oleafly remote link з’єднує теку з її онлайн-проєктом через інтеграцію Git сервісу, якій потрібен токен Git.
  • oleafly remote sync зливає онлайн-зміни в теку й надсилає ваші. --dry-run показує, що зміниться, а --no-push зливає без надсилання.
  • Коли файл змінено з обох боків, синхронізація нічого не записує й завершується з кодом 8. Запустіть її знову з --resolve і шляхом до файла, за яким іде =local або =remote, для кожного файла.
  • oleafly remote diff показує відмінності; з --exit-code завершується з кодом 9, коли файли відрізняються, і 8, коли вони конфліктують. --latexdiff --pdf будує PDF із позначеними вашими змінами за допомогою latexdiff із вашого дистрибутива TeX.
  • oleafly remote status, oleafly remote unlink і oleafly remote open показують зв’язок, вилучають його й відкривають проєкт у вашому браузері.

Робота із сервером Oleafly

Розділ «Робота із сервером Oleafly»

oleafly server sign-in з адресою сервера після нього виконує вхід у командному рядку за кодом, який ви підтверджуєте в браузері. Командний рядок є окремим пристроєм на сервері, окремо від застосунку.

  • oleafly server status і oleafly server projects показують ваші сервери та спільні проєкти.
  • oleafly server share показує посилання проєкту й вмикає або вимикає спільний доступ за посиланням та коментарі.
  • oleafly server members перелічує людей у проєкті та додає, вилучає чи змінює їх. Лише власник може змінювати спільний доступ і учасників.
  • oleafly server comments перелічує коментарі, додає їх, відповідає на них і розв’язує. Коментар, який не вдається надіслати одразу, зберігається й надсилається наступного разу.

Перше надання спільного доступу до проєкту відбувається в застосунку. Див. Співпраця в реальному часі.

Запуск агента Oleafly з термінала

Розділ «Запуск агента Oleafly з термінала»

oleafly ask відповідає на запитання про проєкт, нічого не змінюючи. oleafly agent run виконує завдання.

Вікно термінала
oleafly ask "Which sections cite Smith 2021?"
oleafly agent run --allow write "Fix the overfull boxes in chapter 3"
  • Агент завжди може читати проєкт. --allow додає write, commands або network, а все, чого ви не дозволили, він відхиляє. Він ніколи не зупиняється, щоб поставити запитання.
  • Спершу зміни потрапляють до теки перегляду в .oleafly/agent-runs/. oleafly agent apply з цією текою після нього записує їх у проєкт, а --apply під час запуску записує їх одразу.
  • Постачальник, модель і зусилля беруться з налаштувань застосунку або з --provider, --model і --effort. Ключ береться зі змінної середовища самого постачальника, як-от ANTHROPIC_API_KEY, або із зашифрованого сховища застосунку.
  • --json виводить один результат, коли запуск завершується, а --events додає рядок JSON для кожної події під час роботи.

Залишайте дослідницькі завдання запущеними після виходу

Розділ «Залишайте дослідницькі завдання запущеними після виходу»

Позначте дослідницьке завдання як Продовжувати роботу, коли Oleafly закрито. Коли ви виходите, невеликий фоновий помічник перебирає ці завдання, і їхні запуски експериментів тривають далі. Крок, що потребує вашого підтвердження, призупиняє завдання й надсилає сповіщення. Коли ви знову відкриваєте Oleafly, він забирає завдання назад і показує, що сталося. Вимкніть це або запускайте помічника під час входу в систему в Налаштування → Дослідження → Фонові завдання. oleafly daemon status показує, що робить помічник.

Кожна команда пояснює свої параметри через --help. Повний довідник лежить у репозиторії: docs/cli.md (відкривається в новій вкладці).

Проєкти та збирання

Розділ «Проєкти та збирання»
КомандаЩо робить
oleafly openВідкриває теку в застосунку (oleafly . для поточної)
oleafly initРобить поточну теку проєктом
oleafly newСтворює проєкт, із шаблона, якщо ви його назвете
oleafly templatesПерелічує шаблони й показує один із них
oleafly buildЗбирає проєкт
oleafly watchПерезбирає під час кожного збереження
oleafly cleanВидаляє результат збирання
oleafly logПоказує журнал останнього збирання або його проблеми
oleafly doctorПеревіряє рушії, застосунок і ваше налаштування
oleafly versionПоказує версію та рушії, що використовуються
oleafly project infoПоказує налаштування проєкту
oleafly projects listПерелічує проєкти застосунку
oleafly configЧитає й задає налаштування проєкту та застосунку

Письмо та посилання

Розділ «Письмо та посилання»
КомандаЩо робить
oleafly citeВиводить BibTeX для DOI, ідентифікатора arXiv, ISBN або ідентифікатора PubMed; --add додає його до бібліографії
oleafly literatureШукає в OpenAlex, Semantic Scholar, Crossref, arXiv і PubMed
oleafly bib checkЗнаходить записи, яким не відповідає жоден справжній запис
oleafly bib cleanВиправляє ключі цитування й вилучає дублікати; --apply записує зміни
oleafly statsРахує слова, заголовки, рисунки та формули
oleafly synctexЗіставляє рядок коду з PDF і навпаки
oleafly exportЕкспортує документ у Word, HTML, Markdown, EPUB тощо
oleafly convertПеретворює один файл в інший формат
oleafly typstПерелічує, встановлює й вилучає версії Typst
oleafly checkpointПерелічує, порівнює й копіює контрольні точки застосунку

Агенти та автоматизація

Розділ «Агенти та автоматизація»
КомандаЩо робить
oleafly contextСкладає карту проєкту для людини чи агента
oleafly mcpЗапускає сервер MCP; mcp config налаштовує клієнт
oleafly skillsПерелічує навички й виводить, де вони лежать
oleafly askВідповідає на запитання про проєкт
oleafly agentЗапускає агента Oleafly на завдання
oleafly daemonЗапускає й контролює помічника, що підтримує роботу завдань
КомандаЩо робить
oleafly checkЗапускає передперевірки
oleafly lintЗапускає перевірки LaTeX, BibTeX, орфографії та граматики

Облікові записи та синхронізація

Розділ «Облікові записи та синхронізація»
КомандаЩо робить
oleafly authВиконує вхід в онлайн-сервіси LaTeX, сервери Oleafly і хости Git
oleafly remoteІмпортує, зв’язує й синхронізує онлайн-проєкти
oleafly serverПрацює із серверами Oleafly: проєкти, спільний доступ, учасники, коментарі

Оболонка та довідка

Розділ «Оболонка та довідка»
КомандаЩо робить
oleafly completionsВиводить доповнення оболонки для bash, zsh, fish, PowerShell або elvish
oleafly manВиводить сторінку посібника
oleafly help exit-codesПояснює коди завершення

Параметри для кожної команди

Розділ «Параметри для кожної команди»
ПараметрЩо робить
-C зі шляхом після ньогоЗапускає команду для іншої теки проєкту
--jsonВиводить один результат JSON
--eventsВиводить перебіг як рядки JSON перед результатом
--quietВиводить лише результат
--logПоказує журнал компілятора: none, tail або full
--no-inputНіколи не ставить запитань
--colorВикористовує колір auto, always або never

Вивід для скриптів

Розділ «Вивід для скриптів»

З --json кожна команда виводить один об’єкт JSON: schema_version, ok, command, власні поля команди та warnings. Коли команда завершується невдало, error містить kind, стабільний code і message. Коли це допомагає, він також має hint, details і "retryable": true, якщо повторна спроба може спрацювати. Перевіряйте schema_version, перш ніж покладатися на поле.

{
"schema_version": 1,
"type": "result",
"ok": false,
"command": "remote sync",
"error": {
"kind": "conflict",
"code": "remote.conflicts",
"message": "2 files changed both here and online.",
"hint": "Pick a side with --resolve PATH=local or --resolve PATH=remote, then sync again.",
"details": { "conflicts": ["main.tex", "refs.bib"] }
},
"warnings": []
}

--events додає один рядок JSON на кожну подію перебігу перед результатом.

oleafly help exit-codes виводить ту саму таблицю.

КодЗначення
0Спрацювало
1Щось у самому Oleafly пішло не так
2Команду використано неправильно, або їй потрібен --yes, щоб продовжити
3Проєкту немає або він недійсний, або шлях веде за його межі
4Потрібний інструмент або застосунок Oleafly не встановлено
5Збирання не вдалося
6Потрібно увійти
7Збій мережі
8Проєкт утримує щось інше, або синхронізація має конфлікти
9Перевірка знайшла проблеми
130Ви натиснули Ctrl+C

Запитання, колір і журнали

Розділ «Запитання, колір і журнали»

Без термінала команда ніколи не ставить запитань. --no-input теж вимикає запитання, так само діє змінна CI; команда, якій потрібне «так», тоді завершується невдало з кодом 2 і просить --yes. NO_COLOR або --color never вимикає колір. Шляхи, що вели б за межі проєкту, відхиляються.

ЗміннаПризначення
OLEAFLY_DATA_DIRТека даних Oleafly, якщо це не ~/.oleafly
OLEAFLY_TECTONIC, OLEAFLY_LATEXMK, OLEAFLY_TYPST, OLEAFLY_PANDOCКомпілятор, який слід використати замість знайденого Oleafly
OLEAFLY_APPЗастосунок Oleafly, який запускає oleafly open
OLEAFLY_ONLINE_GIT_TOKENТокен Git для онлайн-сервісу LaTeX, що використовується замість збереженого
OLEAFLY_CLIЗадається Oleafly для програм, які він запускає: повний шлях до команди
CIЯкщо задано, команда ніколи не ставить запитань
NO_COLORЯкщо задано, вивід не має кольору

Усунення несправностей

Розділ «Усунення несправностей»
Що ви бачитеЩо спробувати
oleafly не знайденоВідкрийте новий термінал. Потім перевірте командою Get-Command oleafly у Windows або command -v oleafly на macOS і Linux та додайте до профілю оболонки рядок, який показують Налаштування
oleafly doctor повідомляє про відсутній рушійВстановіть його командою, яку виводить doctor, або один раз відкрийте проєкт у застосунку
Клієнт MCP не може запустити серверВиконайте налаштовану команду в терміналі, використайте повний шлях з oleafly mcp config і запустіть oleafly doctor
Код завершення 6Виконайте oleafly auth status, потім увійдіть знову
Код завершення 8 під час синхронізаціїЗапустіть синхронізацію знову з --resolve для кожного файла, який вона перелічує
На macOS Налаштування кажуть «Спершу перемістіть Oleafly до теки „Програми“»Перемістіть застосунок, відкрийте його з теки «Програми», потім виберіть Встановити
Перегляд зображення

Не вдалося завантажити відповіді ШІ

Спробуйте ще раз або скористайтеся пошуком у документації.