Skip to content

Интеграция с Bear: автоматическое сохранение одобренных планов

Чему вы научитесь

После включения интеграции с Bear каждый раз при одобрении плана Plannotator автоматически сохраняет его в ваши заметки Bear, включая:

  • Автоматически сгенерированный заголовок (извлечённый из плана)
  • Интеллектуальные теги (название проекта, ключевые слова, язык программирования)
  • Полное содержимое плана

Таким образом вы сможете управлять всеми одобренными планами в одном месте для удобного последующего просмотра и накопления знаний.

Текущие трудности

Возможно, вы сталкивались с такими ситуациями:

  • ИИ сгенерировал отличный план, но хочется сохранить его для будущего использования
  • Ручное копирование планов в Bear слишком утомительно
  • Планы разных проектов смешиваются без системы тегов

С интеграцией Bear все эти проблемы решаются автоматически.

Когда использовать этот подход

  • Вы используете Bear как основное приложение для заметок
  • Нужно архивировать одобренные планы для базы знаний
  • Хотите быстро находить исторические планы по тегам

О Bear

Bear — это приложение для Markdown-заметок на macOS с поддержкой тегов, шифрования, синхронизации и других функций. Если вы ещё не установили его, посетите bear.app для получения информации.

🎒 Подготовка

Основная идея

Ядро интеграции с Bear — протокол x-callback-url:

  1. Включите интеграцию с Bear в UI Plannotator (сохраняется в localStorage браузера)
  2. При одобрении плана Plannotator отправляет URL bear://x-callback-url/create
  3. Система использует команду open для автоматического открытия Bear и создания заметки
  4. Содержимое плана, заголовок и теги заполняются автоматически

Ключевые особенности:

  • Не требуется настройка пути к 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 плана)
  • Полное ли содержимое (весь текст плана)
  • Корректны ли теги (название проекта, ключевые слова, язык программирования)

Ожидаемый результат: Структура заметки примерно такая:

markdown
## User Authentication

[Полное содержимое плана...]

#plannotator #myproject #authentication #typescript #api

Контрольный список ✅

  • [ ] Переключатель Bear Notes в Settings включён
  • [ ] После одобрения плана Bear открывается автоматически
  • [ ] Заголовок заметки соответствует H1 плана
  • [ ] Заметка содержит полное содержимое плана
  • [ ] Теги включают #plannotator и название проекта

Типичные проблемы

Bear не открывается автоматически

Причина: Команда open не выполнилась, возможно:

  • Bear не установлен или не загружен из App Store
  • URL-схема Bear перехвачена другим приложением

Решение:

  1. Убедитесь, что Bear установлен корректно
  2. Проверьте вручную в терминале: open "bear://x-callback-url/create?title=test"

Теги не соответствуют ожиданиям

Причина: Теги генерируются автоматически по следующим правилам:

  • Обязательный: #plannotator
  • Обязательный: название проекта (из имени git-репозитория или директории)
  • Опционально: до 3 ключевых слов из заголовка H1 (исключая стоп-слова)
  • Опционально: теги языков программирования из блоков кода (исключая json/yaml/markdown)
  • Максимум 7 тегов

Решение:

  • Если теги не подходят, отредактируйте их вручную в Bear
  • Если название проекта неверное, проверьте конфигурацию git-репозитория или имя директории

План одобрен, но не сохранён

Причина:

  • Переключатель Bear не включён (проверьте Settings)
  • Сетевая ошибка или таймаут Bear
  • Содержимое плана пустое

Решение:

  1. Убедитесь, что переключатель в Settings синий (включён)
  2. Проверьте терминал на наличие ошибок ([Bear] Save failed:)
  3. Повторно одобрите план

Подробности механизма генерации тегов

Plannotator интеллектуально генерирует теги для быстрого поиска планов в Bear. Правила генерации:

Источник тегаПримерПриоритет
Фиксированный тег#plannotatorОбязательный
Название проекта#myproject, #plannotatorОбязательный
Ключевые слова H1#authentication, #apiОпционально (макс. 3)
Язык программирования#typescript, #pythonОпционально

Список стоп-слов (не становятся тегами):

  • the, and, for, with, this, that, from, into
  • plan, implementation, overview, phase, step, steps

Исключённые языки программирования (не становятся тегами):

  • json, yaml, yml, text, txt, markdown, md
Пример: процесс генерации тегов

Допустим, заголовок плана "Implementation Plan: User Authentication System in TypeScript", блоки кода содержат Python и JSON:

  1. Фиксированный тег: #plannotator
  2. Название проекта: #myproject (предположим, имя git-репозитория)
  3. Ключевые слова H1:
    • implementation → исключено (стоп-слово)
    • plan → исключено (стоп-слово)
    • user → сохранено → #user
    • authentication → сохранено → #authentication
    • system → сохранено → #system
    • typescript → сохранено → #typescript
  4. Языки программирования:
    • python → сохранено → #python
    • json → исключено (в списке исключений)

Итоговые теги: #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)
КроссплатформенностьТолько macOSmacOS/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

ФункцияПуть к файлуСтроки
Интерфейс конфигурации Bearpackages/server/integrations.ts18-20
Сохранение в Bearpackages/server/integrations.ts234-257
Извлечение теговpackages/server/integrations.ts34-74
Извлечение заголовкаpackages/server/integrations.ts94-105
Интерфейс настроек Bearpackages/ui/utils/bear.ts15-17
Чтение настроек Bearpackages/ui/utils/bear.ts22-26
Сохранение настроек Bearpackages/ui/utils/bear.ts31-33
UI-компонент настроекpackages/ui/components/Settings.tsx496-518
Вызов Bear при одобренииpackages/editor/App.tsx512-514
Обработка Bear на сервереpackages/server/index.ts250-257

Ключевые функции:

  • saveToBear(config: BearConfig): сохраняет план в Bear через x-callback-url
  • extractTags(markdown: string): интеллектуально извлекает теги из содержимого плана (максимум 7)
  • extractTitle(markdown: string): извлекает заголовок заметки из H1 плана
  • getBearSettings(): читает настройки интеграции Bear из localStorage
  • saveBearSettings(settings): сохраняет настройки интеграции Bear в localStorage

Ключевые константы:

  • STORAGE_KEY_ENABLED = 'plannotator-bear-enabled': ключ настроек Bear в localStorage

Формат URL Bear:

typescript
bear://x-callback-url/create?title={title}&text={content}&open_note=no