После ухода Notion и Trello было много разговоров об импортозамещении с помощью Obsidian. Это оффлайн заметочник, который хранит все файлы в формате Markdown на вашем компьютере. Многие видят Obsidian как приложение для ведения базы знаний, создания заметок по методу Zettelkasten или как инструмент для повышения продуктивности. Однако сегодня я хочу поговорить об Obsidian как о … текстовом редакторе.
Последние пару лет я использую его для создания черновиков писем, постов, README и, конечно же, статей. Благодаря интеграции с Pandoc в Obsidian, очень легко связать его с библиотекой Zotero. А тонкая настройка промптов в Obsidian Copilot (не путать с Microsoft Copilot) вместе с Gemini 2.5 Flash-lite дает бесплатный и быстрый корректор текстов с сохранением разметки Markdown. Таким образом в этом году я уже написал и опубликовал пару статей в научных журналах, можете посмотреть на конечный результат тут и тут. Как по мне схема рабочая 😎
Мой подход
Я начал использовать Obsidian, как и многие на рубеже 2022–2023 гг. Однако причина, по которой я открыл для себя это приложение, был плагин Obsidian Copilot. В то время это был один из немногих способов поиграться с API ChatGPT в формате чата, что я не удержался и попробовал. В итоге, мне настолько понравился Obsidian как редактор текста, что я стал им пользоваться ежедневно, но так и не освоил Zettelkasten или другие способы повышения продуктивности, про которые часто упоминают рядом с Obsidian. Я настолько минималист, что чаще всего использую порядковую систему версионирования при создании названий заметок, типа "Untitled 1", "Untitled 2" и т.д. (это почти шутка 🤗).
Для меня главное преимущество Obsidian над другими текстовыми редакторами оказалась скорость работы, легковесность (у меня он занимает примерно 300 ОЗУ) и режим Live Preview. Последнее это гибридный режим, где Markdown-разметка автоматически рендерится прямо во время ввода в основном окне.
Коррекция текста
Мой основной хлеб – это проведение исследований, написание научных статей, кода и технической документации, так что большую часть рабочего времени я что-то да пишу. Пишу обычно я быстро и с ошибками, так что долгое время я пользовался Grammarly и какими-то текстовыми моделями семейства GPT-2, которые я находил на Hugging Face для исправления грамматики. Потом произошел релиз ChatGPT 3.5 и функцию корректора стал выполнять он.
Но загвоздка в том, что и Grammarly, и его аналоги (вроде Paperpal, Wordtune, Quillbot и других), и ChatGPT не работают с разметкой Markdown и пытаются ее ликвидировать. Еще стоит упомянуть LanguageTool, про который есть отличный текст в клубе, но LT имеет те же проблемы, что и Grammarly. Если ChatGPT еще можно как-то запромптить так, чтобы он сохранял разметку, то с корректорами типа Grammarly это просто невозможно. В этой куче проблем Copilot для Obsidian сверкает жемчужиной.
Расширение Obsidian Copilot стало для меня настоящим геймченджером, потому что оно позволяет применить сохраненный промпт к выделенному тексту и заменить его в пару кликов. Таким образом, ты можешь писать как хочешь с опечатками, потом выделить кусок текста, нажать твою любимую горячую клавишу и текст посылается в LLM, та его исправляет согласно промпту и он заменяется в основном окне. Это невероятно ускоряет работу, так как лишает необходимости либо копировать и вставлять текст в браузерную версию ChatGPT, либо, как в случае Grammarly, последовательно проходить и кликать на принятие исправлений.
В конце статьи я рассказываю подробно про то, как установить и настроить Obsidian Copilot. Но хочу сразу отметить, что я для себя выбрал путь аскета. У меня есть два рабочих промпта: "Исправить текст" для русского и "Correct text" для английского. Этого минимума мне достаточно, чтобы найти опечатки и предложить легкую реструктуризацию. В клубе есть отличный пост о том, как писать тексты, на основании его можно создать идеальный промпт.
Я злостный противник улучшений текста или переписывания (все эти enhance/rewrite) при помощи LLM. Мне кажется, что это уже очень сильно видно и у текста пропадает индивидуальность, он становится слишком шаблонным. Достаточно зайти на LinkedIn, чтобы понять, что я имею ввиду. Не помню, где я услышал эту фразу, но она не покидает мой разум: "Зачем тратить время на чтение того, что кто-то не удосужился потратить время чтобы написать".
Касательно моделей, на данный момент я остановился на практически бесплатном Gemini 2.5 Flash-Lite. Он буквально на прошлой неделе вышел из превью и дает 1000 бесплатных запросов по API в день (потом $0.10/$0.40 за миллион токенов). Но в принципе, Copilot поддерживает модели практически всех провайдеров, в том числе и селф-хостед решения.
Git diff
Коррекция текста не всегда получается удачной при использовании LLM, и порой на больших кусках легко что-то да упустить. Очень выручает в этом случае расширение Obsidian Git (которое я использую для бэкапа всего хранилища, об этом ниже) и его функция Git: Open diff view
. Как вы наверное догадались, оно открывает Diff View:
Интеграция c Zotero
Огромным преимуществом Obsidian Copilot является возможность указать в промпте сохранить разметку Markdown. Это позволяет исправить текст, сохранив выделение жирным, ссылки, разметку кода и прочее. Это очень удобно при написании, например, README.md
файлов для репозитория или статьи для Вастрик.Клуба. Корректура текста таким образом также сохраняет внутристрочные цитаты Pandoc, которые выглядят как [@doe99; @smith2000; @smith2004]
. При написании научных работ цитирование литературы необходимо. Поэтому иметь доступ к своей библиотеке, вставлять цитирования, а затем еще и править грамматические ошибки в одном редакторе очень удобно.
Zotero – это менеджер библиографических ссылок. Pandoc – утилита для работы с текстовыми форматами, в том числе конвертация. Оба приложения кросс-платформенные и с открытым исходным кодом.
Вставлять цитирования в текст можно при помощи интеграции с Zotero через плагин Pandoc Reference List. Zotero – это менеджер библиографических ссылок, в котором вы можете собирать любимые статьи, книги, записи из блогов и многое другое. Важно, что каждой записи в этой базе данных соответствует несколько полей свойств, которые меняются в зависимости от типа публикации. Например, это поля автора, названия статьи, названия журнала, года издания и других выходных данных (те же поля, что и в BibTeX
формате). Чаще всего они получаются автоматически из интернета. Но главное, что Zotero присваивает каждой записи так называемый citation key (тот самый @smith2004
), который в свою очередь распознает Pandoc.
В итоге процесс написания статьи выглядит как полноценная работа со списком литературы, к которой вы могли привыкнуть в MS Word. В любой момент вы можете по нажатию на @
и введению первых трех букв статьи вызвать внутристрочное меню с вашей базой Zotero. Дополнительно в правой части экрана появляется весь список литературы. При наведении на ссылку можно открыть PDF статьи или показать статью в Zotero.
У такого подхода есть преимущество перед классической для многих академиков работой в MS Word с Grammarly и Zotero. Дело в том, что теги Zotero в MS Word вставляются как макросы. Если мы видим поле (Tsyplenkov et al., 2025)
в тексте, то на деле там скрыта большая структура в виде {ADDIN ZOTERO_ITEM CSL_CITATION {"citationID":"zECFogFg","properties":{"unsorted":false,"formattedCitation":"(Tsyplenkov et al., 2025)","plainCitation":"(Tsyplenkov et al., 2025)","noteIndex":0},"citationItems":[{"id":5234,"uris":["http://zotero.org/users/6696073/items/FYQ396GY"],"itemData":{"id":5234,"type":"article-journal","abstract":"To improve……}
. Я так понимаю, что это сбивает Grammarly с толку, и он считает макрос Zotero концом предложения. Возможно, я заблуждаюсь, это лишь моя гипотеза. В итоге Grammarly довольно часто путается и работает не так эффективно, как без менеджера ссылок. Не говоря уже о том, что нет поддержки русского языка.
Экспорт
Если вы подаете статью в журнал или экспортируете ее для совместной работы с коллегами, которые предпочитают MS Word, вам пригодится плагин Pandoc. Он позволяет экспортировать Markdown во множество форматов (все, что поддерживает Pandoc, главное успевать обновлять шаблоны), включая .docx
. А простая настройка дополнительных параметров (для интеграции с Zotero, см. ниже) позволит оформить и список литературы. Таким образом, можно экспортировать в формат .docx
/.tex
вашу статью, написанную в Obsidian и подать сразу в журнал. Библиографические ссылки добавятся автоматически в конец вашего документа.
Резюме
Для Obsidian существует множество плагинов, которые позволяют превратить это приложение во что угодно, от полноценной среды разработки до семейного древа. Однако, мне кажется, что даже его стандартного функционала достаточно для выполнения основной задачи – написания текстов. Расширения, упомянутые в этом посте, значительно упростили мне работу, и, возможно, мой опыт будет полезен и другим.
Я признаю, что мой сетап не идеален, мне не хватает многих вещей. Например, более тесной интеграции с Zotero, чтобы делать заметки к книгам прямо в Obsidian. Я видел одну такую реализацию, описанную на форуме Zettelkasten, но она выглядит ну уж очень сложной. Также, я думаю, что острый глаз может да и заметить, что какие-то ошибки все равно остались в тексте поста, несмотря на корректуру. Еще, когда много работаешь в VS Code или другом IDE, начинаешь думать, а почему бы не сделать то же самое там? Я лично не нашел нормального решения ни для интеграции Zotero, ни для быстрой корректуры текстов при помощи LLM. Если у вас есть что-то на примете, то дайте, пожалуйста, знать. Иначе я очень близок к написанию своего собственного расширения для коррекции грамматики в VS Code.
В VS Code я пробовал Cline, Roo Code, Codeium, Copilot расширения и, конечно же, Cursor IDE и Windsurf IDE. Наиболее близкий опыт к тому, что я получаю в Obsidian, предоставляют Cursor или Windsurf, но я не нашел способов применять сохраненные промпты к выделенному тексту. Насколько я знаю, полноценного Markdown Live Preview в средах разработки на основе Code OSS нет, только двухпанельный режим. Но я давно не проверял, так что может что-то изменилось! Я верю в VS Code.
Ниже я подробно расписал то, как настроить плагины в Obsidian. Помимо упомянутых в статье Copilot, Pandoc и Pandoc Reference List, я еще использую Git для бэкапа. Его я настраивал по этой инструкции (официальная документация тоже отличная), добавить про него мне нечего, работает как часы. Рекомендую поставить Cmd/Ctrl+Shift+S
или F5
как хоткей для команды Git: Commit-and-sync
, чтобы быстро сохранится.
Буду рад услышать любые комментарии и советы по поводу корректуры. Особенно интересны реализации в IDE. Пожалуйста, опишите свой опыт работы с текстами!
Технические детали
Везде указаны ссылки на гитхаб репозитории плагинов, но большинство из них доступны и в магазине в самом Obsidian. Чтобы их установить, перейдите в настройках во вкладку "Community Plugins".
Настройка Obsidian Copilot
После установки плагина Copilot надо добавить API ключи вашего провайдера. Ниже я показываю как это сделать на примере Google Gemini, но вы можете также добавить модел и от OpenAI, Anthropic и xAI и прочее. В настройках Obsidian в Community Plugins
→ Copilot
→ Basic
в разделе General надо нажать на Set Keys
, найти там Gemini и вставить свой ключ. Можно сразу его проверить нажав на кнопку Validate
.
На момент написания поста модели gemini-2.5-flash-lite
пока не было в списке доступных моделей (там представлен gemini-2.5-flash-lite-preview-06-17
, который Google скоро удалят). Поэтому эту модель надо добавить вручную (см. рисунок).
Obsidian Copilot так же поддерживает селф-хостед модели запущенные через Ollama и LM Studio. Добавлять их надо в настройках через меню
Community Plugins
→Copilot
→Model
→Add custom model
.
Следующий шаг это добавление своего кастомного промпта для коррекции текста. Делается это в настройках через меню Community Plugins
→ Copilot
→ Model
→ Command
. Скорее всего вы там увидите уже добавленные разработчиками промпты. По такому же принципу надо добавить и свой, нажав на + Add Command
в конце списка.
Разработчики Obsidian Copilot недавно обновили шаблоны. Теперь они рекомендуют отделять инструкции тегами
<instruction>
</instruction>
, а затем добавлять<text>{copilot-selection}</text>
. По моим ощущениям, подход, показанный на рисунке ниже, пока работает лучше для русского языка. В закрепленных комментариях есть промпт, который я использую для коррекции английского текста по новой инструкции.
Теперь при выделении текста этот промпт доступен в Палитре Команд (Cmd/Ctrl+Shift+P
) как Copilot: Исправить текст
. В настройках горячих клавиш этой команде можно присвоить любую комбинацию, либо закрепить эту команду в верху списка через настройки Core plugins
→ Command Palette
.
Интеграция Zotero и настройка Pandoc
Видео-инструкция на английском — https://www.youtube.com/watch?v=8yMko1m8XSQ
В первую очередь установите Pandoc. Возможно, он уже установлен на вашем устройстве, так как многие программы его используют. Проверить это можно, запустив which pandoc
в терминале или where.exe pandoc
в PowerShell.
Далее надо установить плагин Pandoc Reference List (PRL) и перейти к его настройкам (см. рисунок). В настройках надо указать путь до бинарника Pandoc (достаточно нажать на лупу (1)). Следующим шагом надо выкачать библиографию из Zotero. Для этого надо запустить Zotero и переключить соответствующий тумблер в настройках плагина (2).
Когда Zotero запущен, на localhost работает локальный сервер, который позволяет другим приложениям присоединяться к библиографическому менеджеру. По умолчанию это http://localhost:23119/api/
. Вы можете проверить свой порт или включить Web API в настройках Zotero Edit
-> Settings
-> Advanced
-> Allow other applications on this computer to communicate with Zotero
. Именно через него работает интеграция Zotero в MS Word или браузер, поэтому вы видите сообщение, когда Zotero не запущен, что вы не можете вставить цитату или добавить статью из браузера. Именно этот порт надо указать в настройках PRL (3).
Установка плагина создаст директорию .pandoc
в корне вашего хранилища. В ней будут храниться стили цитирования (.csl
файлы), а также снимок вашей библиотеки Zotero в формате .json
. У меня это файл .pandoc/zotero-library-1.json
. Он будет обновляться автоматически при запуске Obsidian или каждые 15-30 минут. В нижнем правом углу экрана появится значок @. Нажав на него, вы сможете вручную синхронизировать Zotero. Теперь можно вставлять цитаты в текст, начав набирать @abc
или [@abc]
, где abc
– это первые три буквы citation key. Библиографические ссылки будут вставлены в текст и красиво отобразятся (при наведении на них возникнет тултип), а справа появится список литературы. Его можно показать или скрыть командой Pandoc Reference List: Show reference list
.
Дополнительно можно установить плагин Zotero Integration, который добавит нативное окно поиска Zotero. Этот плагин отлично работает в связке с PRL. Для этого нужно добавить новый формат цитирования (2) и выбрать стиль "Pandoc" (4). Имя этого формата цитирования в дальнейшем будет командой, которую можно найти в палитре команд. У меня это "Zotero Integration: Basic". Я, например, сделал хоткей Alt+Z
для его вызова.
Pandoc Reference List отвечает за рендеринг цитат и списка литературы, а также добавляет возможность открывать PDF статьи в Zotero. Zotero Integration, в свою очередь, упрощает вставку цитат из Zotero, добавляя окно поиска.
Настройка Pandoc
Чтобы экспортировать статьи из Obsidian в другие форматы, например в Word, необходимо настроить плагин Pandoc. Рекомендую оставить форматирование вики-ссылок Obsidian как есть (1), выбрать экспорт из формата Markdown (2) для корректного отображения цитат и указать путь экспорта (3). Самое важное – это указать дополнительные аргументы для команды pandoc
(4). Нужно включить модуль обработки цитат Pandoc (citeproc
) и указать абсолютный путь до базы данных Zotero, созданной PRL. Этот путь должен вести к файлу .pandoc/zotero-library-1.json
в вашем хранилище, который автоматически обновляется плагином PRL.
Бонус: Hemingway mode
Идея режима письма Hemingway заключается в том, что вы должны сесть и писать черновик без исправлений. Представьте, что перед вами только блокнот и ручка, и нет возможности вернуться назад и заменить одну фразу на другую. Это катализатор полета мысли: пишите, как чувствуется, исправьте потом при повторном прочтении. Реализация для компьютеров обычно заключается в блокировании возможности перемещать курсор стрелками или удалять текст с помощью Backspace
или Delete
.
Я нашел только несколько способов активировать этот режим в Obsidian: один с помощью плагина Digital Paper и другой с помощью плагина Hemingway-mode. Первый я не рекомендую, в нем нет настроек и он позволяет печатать текст только на последних строках. Это не совсем интуитивно, так как положение курсора ты можешь менять, но текст будет вставляться только вниз страницы.
Второй плагин, к сожалению, кажется заброшенным и не работает на новых версиях Obsidian (когда разработчики переехали на CodeMirror 6.0). Я могу лишь предложить свой форк, в котором починена совместимость с современной версией Obsidian. PR создан, и у меня есть надежда, что его объединят с мастером когда-нибудь. Тогда плагин можно будет установить из официального магазина Obsidian. Пока же единственный способ установить его – это вручную скопировать файлы из релиза в папку .obsidian/plugins/obsidian-hemingway-mode
, которая создалась (если нет – создайте вручную) в корне вашего хранилища. После этого плагин нужно активировать в настройках. Я добавил хоткей F4
на вкл/откл режима Хэма.
Потрясающе, это именно то, что мне нужно! Экспериментировал пару месяцев назад в направлении "скрестить Obsidian и AI, чтобы упросить ведение заметок", но всё казалось сырым и неинтуитивным. Плагин Copilot мне тогда не попался на глаза. То, что ты описываешь, выглядит очень многообещающе, обязательно попробую внедрить в свою практику. Спасибо!
В моей модификации это скорее всего будет "разверни outline в связный текст". Для меня интуитивно набрасывать заметки в Workflowy в формате бесконечно вложенных списков, но до того, чтобы превратить их в связный текст, руки обычно не доходят.
Плагин, специально предназначенный для написания больших текстов - https://github.com/kevboh/longform
Там есть Project Rules, который можно применить к промпту. А чтобы речь шла о выделенном тексте, надо просто его выделить нажать Ctrl +L и в окне агента запустить процесс
Прилинкую тут плагин для совместного редактирования: https://vas3k.club/link/28521/
В организации закрыли доступ к Obsidian (наверное из-за платной sync функциональности), так что решение для VS Code было бы супер полезно.