Интеграция с Bear: автоматическое сохранение одобренных планов
Чему вы научитесь
После включения интеграции с Bear каждый раз при одобрении плана Plannotator автоматически сохраняет его в ваши заметки Bear, включая:
- Автоматически сгенерированный заголовок (извлечённый из плана)
- Интеллектуальные теги (название проекта, ключевые слова, язык программирования)
- Полное содержимое плана
Таким образом вы сможете управлять всеми одобренными планами в одном месте для удобного последующего просмотра и накопления знаний.
Текущие трудности
Возможно, вы сталкивались с такими ситуациями:
- ИИ сгенерировал отличный план, но хочется сохранить его для будущего использования
- Ручное копирование планов в Bear слишком утомительно
- Планы разных проектов смешиваются без системы тегов
С интеграцией Bear все эти проблемы решаются автоматически.
Когда использовать этот подход
- Вы используете Bear как основное приложение для заметок
- Нужно архивировать одобренные планы для базы знаний
- Хотите быстро находить исторические планы по тегам
О Bear
Bear — это приложение для Markdown-заметок на macOS с поддержкой тегов, шифрования, синхронизации и других функций. Если вы ещё не установили его, посетите bear.app для получения информации.
🎒 Подготовка
- Установлен Plannotator (см. руководство по установке)
- Установлен Bear и работает корректно
- Знакомы с базовым процессом рецензирования планов (см. Основы рецензирования планов)
Основная идея
Ядро интеграции с Bear — протокол x-callback-url:
- Включите интеграцию с Bear в UI Plannotator (сохраняется в localStorage браузера)
- При одобрении плана Plannotator отправляет URL
bear://x-callback-url/create - Система использует команду
openдля автоматического открытия Bear и создания заметки - Содержимое плана, заголовок и теги заполняются автоматически
Ключевые особенности:
- Не требуется настройка пути к vault (в отличие от Obsidian)
- Интеллектуальная генерация тегов (максимум 7)
- Автоматическое сохранение при одобрении плана
Отличие от Obsidian
Интеграция с Bear проще — не нужно настраивать путь к vault, достаточно одного переключателя. Но Obsidian позволяет указать папку для сохранения и предлагает больше возможностей настройки.
Пошаговое руководство
Шаг 1: Откройте настройки Plannotator
Когда AI Agent сгенерирует план и откроет UI Plannotator, нажмите кнопку ⚙️ Settings в правом верхнем углу.
Ожидаемый результат: Откроется панель настроек с несколькими параметрами конфигурации
Шаг 2: Включите интеграцию с Bear
В панели настроек найдите раздел Bear Notes и нажмите переключатель.
Почему Переключатель изменится с серого (отключено) на синий (включено), и настройка сохранится в localStorage браузера.
Ожидаемый результат:
- Переключатель Bear Notes станет синим
- Описание: "Auto-save approved plans to Bear"
Шаг 3: Одобрите план
После завершения рецензирования плана нажмите кнопку Approve внизу.
Почему Plannotator прочитает настройки Bear, и если интеграция включена, одновременно с одобрением вызовет x-callback-url Bear.
Ожидаемый результат:
- Bear автоматически откроется
- Появится окно новой заметки
- Заголовок и содержимое уже заполнены
- Теги автоматически сгенерированы (начинаются с
#)
Шаг 4: Проверьте сохранённую заметку
В Bear проверьте новую заметку:
- Правильный ли заголовок (из H1 плана)
- Полное ли содержимое (весь текст плана)
- Корректны ли теги (название проекта, ключевые слова, язык программирования)
Ожидаемый результат: Структура заметки примерно такая:
## User Authentication
[Полное содержимое плана...]
#plannotator #myproject #authentication #typescript #apiКонтрольный список ✅
- [ ] Переключатель Bear Notes в Settings включён
- [ ] После одобрения плана Bear открывается автоматически
- [ ] Заголовок заметки соответствует H1 плана
- [ ] Заметка содержит полное содержимое плана
- [ ] Теги включают
#plannotatorи название проекта
Типичные проблемы
Bear не открывается автоматически
Причина: Команда open не выполнилась, возможно:
- Bear не установлен или не загружен из App Store
- URL-схема Bear перехвачена другим приложением
Решение:
- Убедитесь, что Bear установлен корректно
- Проверьте вручную в терминале:
open "bear://x-callback-url/create?title=test"
Теги не соответствуют ожиданиям
Причина: Теги генерируются автоматически по следующим правилам:
- Обязательный:
#plannotator - Обязательный: название проекта (из имени git-репозитория или директории)
- Опционально: до 3 ключевых слов из заголовка H1 (исключая стоп-слова)
- Опционально: теги языков программирования из блоков кода (исключая json/yaml/markdown)
- Максимум 7 тегов
Решение:
- Если теги не подходят, отредактируйте их вручную в Bear
- Если название проекта неверное, проверьте конфигурацию git-репозитория или имя директории
План одобрен, но не сохранён
Причина:
- Переключатель Bear не включён (проверьте Settings)
- Сетевая ошибка или таймаут Bear
- Содержимое плана пустое
Решение:
- Убедитесь, что переключатель в Settings синий (включён)
- Проверьте терминал на наличие ошибок (
[Bear] Save failed:) - Повторно одобрите план
Подробности механизма генерации тегов
Plannotator интеллектуально генерирует теги для быстрого поиска планов в Bear. Правила генерации:
| Источник тега | Пример | Приоритет |
|---|---|---|
| Фиксированный тег | #plannotator | Обязательный |
| Название проекта | #myproject, #plannotator | Обязательный |
| Ключевые слова H1 | #authentication, #api | Опционально (макс. 3) |
| Язык программирования | #typescript, #python | Опционально |
Список стоп-слов (не становятся тегами):
the,and,for,with,this,that,from,intoplan,implementation,overview,phase,step,steps
Исключённые языки программирования (не становятся тегами):
json,yaml,yml,text,txt,markdown,md
Пример: процесс генерации тегов
Допустим, заголовок плана "Implementation Plan: User Authentication System in TypeScript", блоки кода содержат Python и JSON:
- Фиксированный тег:
#plannotator - Название проекта:
#myproject(предположим, имя git-репозитория) - Ключевые слова H1:
implementation→ исключено (стоп-слово)plan→ исключено (стоп-слово)user→ сохранено →#userauthentication→ сохранено →#authenticationsystem→ сохранено →#systemtypescript→ сохранено →#typescript
- Языки программирования:
python→ сохранено →#pythonjson→ исключено (в списке исключений)
Итоговые теги: #plannotator #myproject #user #authentication #system #typescript #python (7 — достигнут лимит)
Сравнение с интеграцией Obsidian
| Характеристика | Интеграция Bear | Интеграция Obsidian |
|---|---|---|
| Сложность настройки | Простая (только переключатель) | Средняя (нужно выбрать vault и папку) |
| Хранение | Внутри приложения Bear | По указанному пути vault |
| Имя файла | Управляется Bear автоматически | Title - Mon D, YYYY H-MMam.md |
| Frontmatter | Нет (Bear не поддерживает) | Есть (created, source, tags) |
| Кроссплатформенность | Только macOS | macOS/Windows/Linux |
| x-callback-url | ✅ Используется | ❌ Прямая запись файла |
Как выбрать
- Если вы используете только macOS и предпочитаете Bear: интеграция с Bear проще
- Если нужна кроссплатформенность или настраиваемый путь хранения: интеграция с Obsidian гибче
- Если хотите использовать оба: можно включить обе интеграции (при одобрении план сохранится в оба места)
Итоги урока
- Интеграция с Bear работает через протокол x-callback-url, настройка проста
- Достаточно включить переключатель в Settings, указывать путь не нужно
- При одобрении плана он автоматически сохраняется в Bear
- Теги генерируются интеллектуально: название проекта, ключевые слова, язык программирования (максимум 7)
- По сравнению с Obsidian, Bear проще, но менее функционален
Анонс следующего урока
В следующем уроке мы изучим Удалённый режим / Devcontainer.
Вы узнаете:
- Как использовать Plannotator в удалённых средах (SSH, devcontainer, WSL)
- Настройка фиксированного порта и проброса портов
- Открытие страницы рецензирования в браузере из удалённой среды
Приложение: справочник по исходному коду
Нажмите, чтобы развернуть расположение исходного кода
Дата обновления: 2026-01-24
| Функция | Путь к файлу | Строки |
|---|---|---|
| Интерфейс конфигурации Bear | packages/server/integrations.ts | 18-20 |
| Сохранение в Bear | packages/server/integrations.ts | 234-257 |
| Извлечение тегов | packages/server/integrations.ts | 34-74 |
| Извлечение заголовка | packages/server/integrations.ts | 94-105 |
| Интерфейс настроек Bear | packages/ui/utils/bear.ts | 15-17 |
| Чтение настроек Bear | packages/ui/utils/bear.ts | 22-26 |
| Сохранение настроек Bear | packages/ui/utils/bear.ts | 31-33 |
| UI-компонент настроек | packages/ui/components/Settings.tsx | 496-518 |
| Вызов Bear при одобрении | packages/editor/App.tsx | 512-514 |
| Обработка Bear на сервере | packages/server/index.ts | 250-257 |
Ключевые функции:
saveToBear(config: BearConfig): сохраняет план в Bear через x-callback-urlextractTags(markdown: string): интеллектуально извлекает теги из содержимого плана (максимум 7)extractTitle(markdown: string): извлекает заголовок заметки из H1 планаgetBearSettings(): читает настройки интеграции Bear из localStoragesaveBearSettings(settings): сохраняет настройки интеграции Bear в localStorage
Ключевые константы:
STORAGE_KEY_ENABLED = 'plannotator-bear-enabled': ключ настроек Bear в localStorage
Формат URL Bear:
bear://x-callback-url/create?title={title}&text={content}&open_note=no