Интеграция Obsidian, GitLab и n8n с использованием ChatGPT API
Цель: автоматизировать создание статей в базе знаний obsidian, с помощью AI, без лишнего взаимодействия пользователя с другими системами.
Для эффективной автоматизации и управления контентом нам понадобится следующий стек технологий:
Стек технологий
- Obsidian
- Установленный плагин Git.
- GitLab
- Созданный репозиторий.
- n8n
- Созданный воркфлоу с триггером для получения комментариев.
- Токен ChatGPT
- API ключ от OpenAI или ключ от другого провайдера GPT, рекомендую своих друзей https://vsegpt.ru/ .
Шаг 1: Интеграция Obsidian с GitLab
Для начала необходимо связать Obsidian с GitLab. Отличной инструкцией для этого является статья на Хабре: Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1). Выполняйте все шаги, описанные в статье, и вы успешно настроите синхронизацию.
После успешной настройки и загрузки файлов в репозиторий, с этими данными можно начинать работать.
Шаг 2: Создание воркфлоу в n8n
Создание воркфлоу в n8n также имеет множество статей и видеоуроков. Основные действия, которые нам нужно выполнить:
- Настройка триггера GitLab:
- Выберите триггер, который запускается при создании нового коммита.
- Скопируйте вебхук из настроек триггера.
- Добавьте вебхук в настройках репозитория GitLab. Теперь триггер будет срабатывать при каждом новом коммите и отправлять данные в n8n.
- Получение файла в формате Markdown:
- После срабатывания триггера, файл в формате
.mdбудет передан в воркфлоу. - Переведите его содержимое в текстовый формат для дальнейшей обработки.
- После срабатывания триггера, файл в формате
Шаг 3: Обработка файла в n8n
Разделение содержимого на части
Файл .md разделяется на две основные части:
- Спецификация (метаданные, такие как теги).
- Контент (основной текст статьи).
Проверка тегов
- Из блока спецификации извлекаются теги.
- Если среди тегов присутствует тег
up, воркфлоу продолжается. Если нет, воркфлоу завершается.
Работа с контентом
- Из блока контента извлекается основной текст.
- Текст отправляется в GPT для генерации статьи.
Шаг 4: Генерация статьи с помощью GPT
Используйте узел GPT в n8n для отправки запроса. Пример системного промта:
Ты реактор базы знаний. Напиши развернутую статью на основании материала, в конце проставь основные теги на основании текста (не больше 4 штук). Если возможно, обязательно напиши примеры. Форматирование текста делай на основании markdown.
После обработки GPT возвращает сгенерированный текст статьи.
Шаг 5: Объединение и загрузка обратно в GitLab
- Сгенерированный текст объединяется с блоком спецификации.
- Тег
upзаменяется наdone, чтобы избежать повторной обработки. - Обновленный файл загружается обратно в репозиторий GitLab.
Схема mermaid
Сам ворк флоу

Прикладываю файл для n8n
https://disk.yandex.ru/d/7Gfs5KtJoRt8kA
