Автоматизация obsidian gitlab chatGPT n8n

Интеграция Obsidian, GitLab и n8n с использованием ChatGPT API

Цель: автоматизировать создание статей в базе знаний obsidian, с помощью AI, без лишнего взаимодействия пользователя с другими системами.

Для эффективной автоматизации и управления контентом нам понадобится следующий стек технологий:

Стек технологий

  1. Obsidian
    • Установленный плагин Git.
  2. GitLab
    • Созданный репозиторий.
  3. n8n
    • Созданный воркфлоу с триггером для получения комментариев.
  4. Токен ChatGPT
    • API ключ от OpenAI или ключ от другого провайдера GPT, рекомендую своих друзей https://vsegpt.ru/ .

Шаг 1: Интеграция Obsidian с GitLab

Для начала необходимо связать Obsidian с GitLab. Отличной инструкцией для этого является статья на Хабре: Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1). Выполняйте все шаги, описанные в статье, и вы успешно настроите синхронизацию.

После успешной настройки и загрузки файлов в репозиторий, с этими данными можно начинать работать.


Шаг 2: Создание воркфлоу в n8n

Создание воркфлоу в n8n также имеет множество статей и видеоуроков. Основные действия, которые нам нужно выполнить:

  1. Настройка триггера GitLab:
    • Выберите триггер, который запускается при создании нового коммита.
    • Скопируйте вебхук из настроек триггера.
    • Добавьте вебхук в настройках репозитория GitLab. Теперь триггер будет срабатывать при каждом новом коммите и отправлять данные в n8n.
  2. Получение файла в формате Markdown:
    • После срабатывания триггера, файл в формате .md будет передан в воркфлоу.
    • Переведите его содержимое в текстовый формат для дальнейшей обработки.

Шаг 3: Обработка файла в n8n

Разделение содержимого на части

Файл .md разделяется на две основные части:

  • Спецификация (метаданные, такие как теги).
  • Контент (основной текст статьи).

Проверка тегов

  1. Из блока спецификации извлекаются теги.
  2. Если среди тегов присутствует тег up, воркфлоу продолжается. Если нет, воркфлоу завершается.

Работа с контентом

  1. Из блока контента извлекается основной текст.
  2. Текст отправляется в GPT для генерации статьи.

Шаг 4: Генерация статьи с помощью GPT

Используйте узел GPT в n8n для отправки запроса. Пример системного промта:

Ты реактор базы знаний. Напиши развернутую статью на основании материала, в конце проставь основные теги на основании текста (не больше 4 штук). Если возможно, обязательно напиши примеры. Форматирование текста делай на основании markdown.

После обработки GPT возвращает сгенерированный текст статьи.


Шаг 5: Объединение и загрузка обратно в GitLab

  1. Сгенерированный текст объединяется с блоком спецификации.
  2. Тег up заменяется на done, чтобы избежать повторной обработки.
  3. Обновленный файл загружается обратно в репозиторий GitLab.

Схема mermaid

Сам ворк флоу

Pasted image 20250103133445.png

Прикладываю файл для n8n

https://disk.yandex.ru/d/7Gfs5KtJoRt8kA