pimenov.ai

Obsidian + Claude + n8n — база знаний, которая умнеет каждый день

Обновлено

🌐
Это перевод и редакционная адаптация руководства @cyrilXBTоригинал на X. Технические детали n8n актуализированы по официальной документации на 5 сентября 2026 года.

Практическая схема персональной базы знаний: материалы сохраняются в Obsidian, n8n автоматизирует сбор и расписание, а Claude анализирует выбранные заметки и готовит регулярные сводки.

Материал основан на документации и описывает целевую архитектуру. Конкретную связку сервисов нужно проверить в своём окружении: доступ к локальным файлам зависит от способа развёртывания n8n, а допустимый объём контекста Claude — от выбранного клиента или программного интерфейса (API).

Целевая архитектура

Notion image
flowchart LR
    A[Источники: статьи, Telegram, аудио] --> B[n8n: получение и форматирование]
    B --> C[Obsidian: Markdown-хранилище]
    C --> D[Отбор заметок по периоду и проекту]
    D --> E[Claude: связи, паттерны, вопросы]
    E --> F[Брифинг в Inbox]

Система состоит из четырёх слоёв:

  1. Сбор. Readwise, Telegram-бот, транскрипция аудио или другой удобный источник принимают сырой материал.
  2. Пайплайн. n8n получает событие, приводит данные к единому шаблону в формате Markdown и передаёт их в хранилище.
  3. Obsidian. Заметки остаются обычными файлами в локальном vault, то есть в папке хранилища Obsidian.
  4. Claude. Модель получает явно выбранные файлы или их содержимое, ищет связи и формирует результат.
⚠️
Не рассчитывайте, что любая интеграция Claude автоматически прочитает весь vault. Способ доступа зависит от клиента и настроенного сценария автоматизации. Безопаснее явно определять папки, период, допустимый объём и файлы, которые передаются модели.

Что понадобится

КомпонентНазначениеСсылка
ObsidianХранение Markdown-заметокobsidian.md
n8nПолучение событий, расписание и обработка файловn8n.io
ClaudeАнализ переданного контекста и подготовка сводокclaude.ai
Telegram Bot APIБыстрый захват заметок с телефонаcore.telegram.org/bots

Readwise, сервис транскрипции и другие каналы сбора опциональны. Сначала соберите минимальный контур из Telegram, n8n и Obsidian, проверьте его, затем подключайте дополнительные источники.

Структура хранилища

Достаточно четырёх папок и одного файла в корне:

vault/
├── inbox/
├── notes/
├── ideas/
├── projects/
└── CLAUDE.md
  • inbox — новые и ещё не разобранные материалы;
  • notes — обработанные статьи, выделения и исследования;
  • ideas — собственные наблюдения и транскрибированные мысли;
  • projects — контекст активной работы;
  • CLAUDE.md — правила работы с хранилищем и актуальный пользовательский контекст.

CLAUDE.md — отдельный файл в корне с правилами работы с хранилищем и актуальным пользовательским контекстом. Некоторые клиенты могут использовать его как файл инструкций, но автоматическое чтение зависит от конкретного инструмента. В сценарии через API передавайте его содержимое явно, если оно должно влиять на ответ.

Шаблон CLAUDE.md

# Контекст
- Роль: [чем вы занимаетесь]
- Текущий фокус: [одна главная тема]
- Цели: [конкретные результаты]

# Активные проекты
- Проект: [название и краткое описание]
- Текущая задача: [что нужно решить]
- Следующая проверяемая веха: [ожидаемый результат]

# Структура хранилища
- inbox: новые необработанные материалы
- notes: обработанные источники
- ideas: собственные мысли
- projects: материалы активных проектов

# Правила анализа
- Ссылайся на имена исходных файлов
- Отделяй цитаты из заметок от выводов
- Не додумывай отсутствующие факты
- Показывай противоречия между заметками
- Если контекста недостаточно, перечисляй недостающие данные

# Текущие вопросы
- [вопрос 1]
- [вопрос 2]

Обновляйте активные проекты и текущие вопросы по расписанию, например раз в неделю. Устаревший контекст будет направлять анализ к уже неактуальным задачам.

Telegram → Obsidian через n8n

Telegram Trigger в n8n умеет реагировать на событие Message. Для приватного контура ограничьте запуск конкретными идентификаторами чатов или пользователей через Restrict to Chat IDs и Restrict to User IDs.

⚠️
Идентификатор бота и идентификатор чата — разные значения. Не используйте your_bot_id как chat_id. Токен бота храните в учётных данных n8n (credentials) и не вставляйте в Code node или текст заметки.

Минимальная последовательность узлов:

1. Telegram Trigger
   Event: Message
   Restrict to User IDs: <ваш Telegram user ID>

2. Edit Fields или Code
   Сформировать:
   - безопасное имя файла
   - дату
   - содержимое в формате Markdown

3. Convert to File
   Преобразовать текст в бинарный файл

4. Read/Write Files from Disk
   Operation: Write File to Disk
   File Path and Name: <абсолютный путь>/inbox/<имя>.md
   Input Binary Field: <поле из Convert to File>

Пример шаблона для текстового сообщения:

# Быстрая запись

<текст из поля message.text>

- Источник: Telegram
- Дата: <дата запуска>
- Chat ID: <значение поля message.chat.id>

Имена полей и выражения подставьте по данным тестового события. Событие Message также может содержать фото, стикер или файл; для таких сообщений нужен отдельный маршрут обработки.

Имя файла должно быть уникальным. Добавьте дату, время или message_id, иначе новая запись может попасть в уже существующий путь.

Где n8n сможет записать файл

Узел Read/Write Files from Disk работает с файловой системой машины, на которой запущен n8n.

  • n8n Cloud: доступны только пути внутри /home/node/; файловая система временная, поэтому её нельзя считать постоянным хранилищем vault.
  • Самостоятельно размещённый n8n (self-hosted): начиная с n8n 2.0 доступ по умолчанию ограничен каталогом ~/.n8n-files; для других путей требуется настройка N8N_RESTRICT_FILE_ACCESS_TO.
  • Docker: путь относится к контейнеру. Каталог vault на хосте нужно смонтировать как volume.

Для постоянного локального vault практичнее использовать self-hosted n8n на той же машине или сервере, где процесс имеет доступ к vault. Используйте абсолютные пути.

Ежедневный брифинг

Сценарий автоматизации по расписанию (workflow) должен выполнить пять действий:

  1. Запуститься в нужный день и час.
  2. Прочитать выбранные Markdown-файлы.
  3. Ограничить объём по периоду, проекту или числу файлов.
  4. Передать содержимое и инструкцию Claude.
  5. Преобразовать ответ в файл и сохранить его в inbox.

Для запуска в 06:00 по будням можно использовать выражение:

0 6 * * 1-5

Schedule Trigger учитывает часовой пояс workflow, заданный в его настройках, а при его отсутствии — часовой пояс экземпляра n8n. Сохраните и опубликуйте workflow. Непубликованный workflow по расписанию не запускается. Перед включением проверьте часовой пояс отдельно, особенно в self-hosted-инсталляции.

Промпт ежедневного анализа

Ты анализируешь набор заметок из моего хранилища Obsidian.
Используй только переданное содержимое.

Подготовь Markdown-документ из трёх разделов.

## Связи
Найди до трёх содержательных связей между недавними и более старыми
заметками. Для каждой укажи имена файлов и короткие цитаты.

## Паттерн
Опиши один повторяющийся мотив. Отдели наблюдения из заметок
от собственного вывода.

## Вопрос
Сформулируй один вопрос для размышления на сегодня.
Не превращай его в задачу или общий совет.

Если данных недостаточно, прямо сообщи об этом.
Не утверждай, что прочитал файлы, которых нет во входном контексте.

Не поручайте модели самостоятельно сохранять файл, если используемый инструмент не предоставляет ей файлового доступа. Надёжнее получить текст ответа в n8n, преобразовать его через Convert to File и записать отдельным узлом.

Еженедельный синтез

Еженедельный сценарий автоматизации использует больший период и контекст активных проектов. Для крупного vault не отправляйте все файлы одним запросом. Сначала отберите заметки по дате и проекту либо подготовьте промежуточные сводки.

Используй только переданные заметки и файл контекста.

## Формирующийся тезис
Какую позицию поддерживают недавние записи? Приведи основания
и названия файлов.

## Противоречия
Покажи несовместимые утверждения или изменение позиции.
Не называй различием то, что относится к разным условиям.

## Пробелы
Каких данных или точек зрения не хватает для обоснованного вывода?

## Следующее действие
Предложи одно проверяемое действие на неделю и объясни,
на каких заметках основана рекомендация.

Не приписывай мне убеждения, которых нет в переданном контексте.

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

Проверка результата

Проведите минимальный сквозной тест:

  1. Отправьте боту сообщение с уникальной фразой.
  2. Убедитесь, что Telegram Trigger получил событие Message.
  3. Проверьте, что сценарий завершился без ошибки.
  4. Откройте созданный .md-файл в Obsidian.
  5. Сверьте текст, дату и источник.
  6. Запустите анализ на нескольких тестовых заметках.
  7. Проверьте, что ответ ссылается только на переданные файлы.
  8. Убедитесь, что брифинг появился в inbox под уникальным именем.

Наблюдаемый признак успеха: сообщение из разрешённого Telegram-аккаунта появляется в Obsidian как Markdown-файл, а плановый запуск создаёт отдельный брифинг без ручного копирования.

Чеклист быстрой проверки

Vault содержит inbox, notes, ideas и projects
CLAUDE.md лежит в корне и содержит актуальный контекст
Telegram Trigger реагирует на событие Message
Trigger ограничен нужными User ID или Chat ID
Токен бота хранится в credentials n8n
Имена файлов уникальны и не содержат опасных фрагментов пути
Текст преобразуется в бинарный файл перед записью
n8n имеет доступ к каталогу vault
Для Docker каталог смонтирован внутрь контейнера
Workflow расписания опубликован
Часовой пояс workflow проверен
Анализ получает явно отобранные файлы
Ответы содержат ссылки на исходные имена файлов
Сквозной тест Telegram → файл → брифинг пройден

Ограничения и безопасные границы

  • Не передавайте модели секреты, токены и приватные данные без необходимости.
  • Ограничивайте Telegram Trigger разрешёнными пользователями или чатами.
  • Очищайте имена файлов от /, .. и других фрагментов, способных изменить путь записи.
  • Не используйте временную файловую систему n8n Cloud как постоянное хранилище заметок.
  • Заранее определите поведение при совпадении имён: ошибка, новое уникальное имя или осознанное добавление в файл.
  • Храните исходные заметки отдельно от автоматически созданных сводок, чтобы вывод модели не выдавался за первичный источник.

Официальные источники

Следующий шаг

База заметок становится полезнее, когда связи между файлами представлены явно. Следующий материал показывает, как превратить папку документов в граф: Graphify — превращаем папку с файлами в граф знаний для ИИ-агентов

Связанные материалы

Если вы проектируете контур, в котором ИИ работает с внутренними знаниями, можно обсудить файловую архитектуру, границы доступа и автоматизацию.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov