Интеграция с Obsidian: Автоматическое сохранение планов в хранилище заметок
Что вы сможете сделать после обучения
- Автоматически сохранять одобренные или отклонённые планы в Obsidian vault
- Понимать механизм генерации frontmatter и тегов
- Настраивать пути и папки для сохранения
- Использовать backlink для построения графа знаний
Ваша текущая проблема
Вы проверяете планы, сгенерированные ИИ, в Plannotator, и после одобрения эти планы "исчезают". Вы хотите сохранить эти ценные планы в Obsidian для последующего просмотра и поиска, но ручное копирование-вставка слишком утомительно, и форматирование нарушается.
Когда использовать этот метод
- Вы используете Obsidian в качестве инструмента управления знаниями
- Вы хотите долгосрочно сохранять и просматривать планы реализации, сгенерированные ИИ
- Вы хотите использовать graph view и систему тегов Obsidian для организации планов
Основная концепция
Функция интеграции Plannotator с Obsidian автоматически сохраняет содержимое плана в ваш Obsidian vault при одобрении или отклонении плана. Система будет:
- Обнаруживать vaults: автоматически читать все vault из конфигурационного файла Obsidian
- Генерировать frontmatter: включая время создания, источник и теги
- Извлекать теги: автоматически извлекать теги из заголовка плана и языков кодовых блоков
- Добавлять backlink: вставлять ссылку
[[Plannotator Plans]]для удобного построения графа знаний
Что такое Obsidian?
Obsidian — это приложение для заметок с двунаправленными ссылками, ориентированное на локальное хранение, поддерживающее формат Markdown и визуализацию связей между заметками через graph view.
🎒 Подготовка перед началом
Убедитесь, что Obsidian установлен и настроен. Plannotator автоматически обнаружит vaults в системе, но для использования этой функции необходимо иметь хотя бы один vault.
Пошаговое руководство
Шаг 1: Откройте панель настроек
В интерфейсе Plannotator нажмите на иконку шестерёнки в правом верхнем углу, чтобы открыть панель настроек.
Вы должны увидеть диалоговое окно настроек с несколькими параметрами конфигурации.
Шаг 2: Включите интеграцию с Obsidian
В панели настроек найдите раздел "Obsidian Integration" и нажмите переключатель, чтобы включить эту функцию.
После включения Plannotator автоматически обнаружит Obsidian vaults в системе.
Вы должны увидеть в выпадающем меню список обнаруженных vaults (например, My Vault, Work Notes).
Шаг 3: Выберите vault и папку
Из выпадающего меню выберите vault, в который вы хотите сохранять планы. Если vault не обнаружен, вы можете:
- Выбрать опцию "Custom path..."
- Ввести полный путь к vault в текстовое поле
Затем в поле "Folder" установите имя папки для сохранения (по умолчанию plannotator).
Вы должны увидеть предварительный просмотр пути ниже, показывающий, где будут сохранены планы.
Шаг 4: Одобрите или отклоните план
После завершения настройки проверяйте планы, сгенерированные ИИ, как обычно. Когда вы нажимаете "Approve" или "Send Feedback", план автоматически сохраняется в настроенный vault.
Вы должны увидеть в Obsidian новый созданный файл с именем в формате Title - Jan 2, 2026 2-30pm.md.
Шаг 5: Просмотрите сохранённый файл
Откройте сохранённый файл в Obsidian, вы увидите следующее содержимое:
---
created: 2026-01-24T14:30:00.000Z
source: plannotator
tags: [plan, authentication, typescript, sql]
---
[[Plannotator Plans]]
## Implementation Plan: User Authentication
...Вы должны заметить, что в верхней части файла есть YAML frontmatter, содержащий время создания, источник и теги.
Контрольная точка ✅
- [ ] В панели настроек Obsidian Integration включена
- [ ] Выбран vault (или введён пользовательский путь)
- [ ] Установлено имя папки
- [ ] После одобрения или отклонения плана в Obsidian появляется новый файл
- [ ] Файл содержит frontmatter и backlink
[[Plannotator Plans]]
Подробности о Frontmatter и тегах
Структура Frontmatter
Каждый сохранённый план содержит следующие поля frontmatter:
| Поле | Пример значения | Описание |
|---|---|---|
created | 2026-01-24T14:30:00.000Z | Временная метка создания в формате ISO 8601 |
source | plannotator | Фиксированное значение, идентифицирующее источник |
tags | [plan, authentication, typescript] | Массив автоматически извлечённых тегов |
Правила генерации тегов
Plannotator использует следующие правила для автоматического извлечения тегов:
- Тег по умолчанию: всегда включает тег
plannotator - Тег имени проекта: автоматически извлекается из имени git-репозитория или имени каталога
- Ключевые слова заголовка: извлекаются значимые слова из первого заголовка H1 (исключая общие стоп-слова)
- Теги языков кода: извлекаются из идентификаторов языков кодовых блоков (например,
typescript,sql). Общие языки конфигурации (такие какjson,yaml,markdown) автоматически фильтруются.
Список стоп-слов (не будут использоваться как теги):
the,and,for,with,this,that,from,intoplan,implementation,overview,phase,step,steps
Ограничение количества тегов: максимум 7 тегов, упорядоченных по порядку извлечения.
Формат имени файла
Имя файла использует легко читаемый формат: Title - Jan 2, 2026 2-30pm.md
| Часть | Пример | Описание |
|---|---|---|
| Заголовок | User Authentication | Извлечён из H1, ограничен 50 символами |
| Дата | Jan 2, 2026 | Текущая дата |
| Время | 2-30pm | Текущее время (12-часовой формат) |
Механизм Backlink
В нижней части каждого файла плана вставляется ссылка [[Plannotator Plans]]. Назначение этого backlink:
- Связь в графе знаний: в graph view Obsidian все планы связаны с одним узлом
- Быстрая навигация: нажатие на
[[Plannotator Plans]]позволяет создать индексную страницу, объединяющую все сохранённые планы - Двунаправленные ссылки: использование обратных ссылок на индексной странице для просмотра всех планов
Кроссплатформенная поддержка
Plannotator автоматически определяет расположение конфигурационного файла Obsidian для разных операционных систем:
| Операционная система | Путь к конфигурационному файлу |
|---|---|
| macOS | ~/Library/Application Support/obsidian/obsidian.json |
| Windows | %APPDATA%\obsidian/obsidian.json |
| Linux | ~/.config/obsidian/obsidian.json |
Если автоматическое обнаружение не удалось, вы можете вручную ввести путь к vault.
Предупреждения о проблемах
Проблема 1: Vaults не обнаружены
Симптом: выпадающее меню показывает "Detecting...", но результатов нет
Причина: конфигурационный файл Obsidian не существует или имеет неправильный формат
Решение:
- Убедитесь, что Obsidian установлен и открывался хотя бы один раз
- Проверьте, существует ли конфигурационный файл (см. таблицу путей выше)
- Используйте "Custom path..." для ручного ввода пути к vault
Проблема 2: Файл не найден после сохранения
Симптом: после одобрения плана в Obsidian нет нового файла
Причина: неправильный путь к vault или Obsidian не обновлён
Решение:
- Проверьте, правильный ли предварительный просмотр пути в панели настроек
- В Obsidian нажмите "Reload vault" или нажмите
Cmd+R(macOS) /Ctrl+R(Windows/Linux) - Проверьте, выбран ли правильный vault
Проблема 3: Имя файла содержит специальные символы
Симптом: в имени файла появляются _ или другие заменяющие символы
Причина: заголовок содержит символы, не поддерживаемые файловой системой (< > : " / \ | ? *)
Решение: это ожидаемое поведение, Plannotator автоматически заменяет эти символы, чтобы избежать ошибок файловой системы.
Итоги урока
Функция интеграции с Obsidian обеспечивает бесшовное соединение вашего процесса проверки планов с управлением знаниями:
- ✅ Автоматическое сохранение одобренных или отклонённых планов
- ✅ Интеллектуальное извлечение тегов для удобного последующего поиска
- ✅ Генерация frontmatter, унифицированный формат метаданных
- ✅ Добавление backlink, построение графа знаний
После однократной настройки каждая проверка будет автоматически архивироваться, больше не нужно вручную копировать и вставлять.
Предварительный просмотр следующего урока
В следующем уроке мы изучим Интеграцию с Bear.
Вы узнаете:
- Как сохранять планы в приложение для заметок Bear
- Различия между интеграцией Bear и интеграцией Obsidian
- Использование x-callback-url для автоматического создания заметок
Приложение: Справочник по исходному коду
Нажмите, чтобы раскрыть расположение исходного кода
Время обновления: 2026-01-24
| Функция | Путь к файлу | Строки |
|---|---|---|
| Обнаружение Obsidian vaults | packages/server/integrations.ts | 135-175 |
| Сохранение плана в Obsidian | packages/server/integrations.ts | 180-227 |
| Извлечение тегов | packages/server/integrations.ts | 34-74 |
| Генерация frontmatter | packages/server/integrations.ts | 81-89 |
| Генерация имени файла | packages/server/integrations.ts | 111-127 |
| Хранение настроек Obsidian | packages/ui/utils/obsidian.ts | 36-43 |
| Компонент Settings UI | packages/ui/components/Settings.tsx | 387-491 |
Ключевые функции:
detectObsidianVaults(): читает конфигурационный файл Obsidian, возвращает список доступных путей к vaultsaveToObsidian(config): сохраняет план в указанный vault, включая frontmatter и backlinkextractTags(markdown): извлекает теги из содержимого плана (ключевые слова заголовка, языки кода, имя проекта)generateFrontmatter(tags): генерирует строку YAML frontmattergenerateFilename(markdown): генерирует читаемое имя файла
Бизнес-правила:
- Максимум 7 тегов (L73)
- Имя файла ограничено 50 символами (L102)
- Поддержка обнаружения путей к конфигурационным файлам на разных платформах (L141-149)
- Автоматическое создание несуществующих папок (L208)