Для экспертов с ценными знаниями

Сайт начинается с контента, не с макета

Пишите заметки в Obsidian. Связывайте между собой. Когда будет что показать — публикуйте. Дизайн подберётся.

trip2g — контент-инфраструктура. Люди и AI-агенты работают с одним и тем же контентом на равных. Контент не лежит мёртвым грузом — он течёт между участниками и трансформируется на каждом шаге.

Не CMS, где "создал и опубликовал". Не wiki, где только люди редактируют. Не генератор статических сайтов, где "собрал и выложил". Это программируемая платформа, где контент течёт между людьми, ботами, AI-агентами, Telegram, Obsidian — и меняется на каждом переходе.


Почему "контент-инфраструктура"

Инфраструктура — потому что это не конечный продукт, а фундамент. Электросеть — инфраструктура для домов. Дорожная сеть — инфраструктура для транспорта. trip2g — инфраструктура для контента. Поверх неё строятся конкретные вещи: блоги, базы знаний, AI-пайплайны, inbox-системы.

Контент — потому что единица работы — markdown-заметка. Всё остальное (версии, метаданные, вебхуки) крутится вокруг заметок. Markdown — универсальный интерфейс: человек пишет в Obsidian, AI-агент генерирует через API, бот пушит из Telegram.

Совместная работа людей и AI — потому что AI — не инструмент, а участник. AI-агент умеет то же, что и человек: читать заметки, менять заметки, реагировать на изменения. Разница в том, что AI видит только то, что ему разрешили, и не может зациклиться. Об этом ниже.


Контент как живой поток

Главная метафора: контент не лежит — он течёт. Каждая заметка — точка в потоке, через которую проходят трансформации.

Представьте цепочку:

Человек пишет заметку в Obsidian
  -> синхронизация -> trip2g сохраняет версию
    -> вебхук "заметка изменилась" -> AI-линтер проверяет грамматику
      -> AI пушит исправления -> новая версия
        -> синхронизация -> Obsidian показывает изменения
          -> человек проверяет и принимает
            -> правила автоматически добавляют метаданные
              -> шаблон рендерит HTML
                -> читатель видит страницу

Каждый шаг — трансформация. Каждый участник (человек, бот, AI, шаблонизатор) — звено в цепочке. trip2g — труба, через которую контент проходит.


Ключевые свойства

Markdown — универсальный интерфейс

Одна заметка. Один формат. Все работают с ним:

  • Человек — через Obsidian, браузерный редактор, Telegram
  • AI-агент — через API платформы или вебхуки
  • Система — через правила метаданных, шаблоны, связи между заметками

Markdown выбран не потому что он лучший формат. А потому что он единственный формат, который одинаково читаем для людей и машин. JSON хорош для машин, визуальные редакторы хороши для людей. Markdown — компромисс, который работает для обоих.

Версионирование всего

Каждое изменение — новая версия. Модель как в git: сохранил — зафиксировалось. Это даёт три вещи:

  • История. Что менялось, когда, кем — человеком или AI. Всегда видно, кто автор.
  • Откат. AI нагенерировал мусор — откат к предыдущей версии одной командой.
  • Безопасность при одновременной работе. Если два агента правят одну заметку одновременно, ничего не сломается — система разберётся, кто был первым, и не затрёт чужие изменения.

Вебхуки — система уведомлений

Вебхуки — это способ, которым trip2g говорит внешнему миру "что-то произошло":

  • Вебхук на изменение. "Заметка изменилась" — реагируй. Линтер проверяет грамматику, индексатор обновляет поиск, AI-ревьюер предлагает правки.
  • Вебхук по расписанию. "Пришло время" — действуй. Еженедельный дайджест, очистка inbox, генерация контента.

Агент может вернуть изменения прямо в ответе на вебхук (синхронно) или работать через API (асинхронно). Система применяет изменения — а они могут вызвать следующие вебхуки. Получается конвейер трансформаций.

Глубина — безопасные AI-цепочки

Главная проблема AI-агентов: бесконечные циклы. Агент А меняет заметку. Это вызывает агента Б. Тот тоже меняет заметку. Это снова вызывает агента А. И так навсегда.

trip2g решает это через счётчик глубины:

  • Человек правит заметку (глубина 0) — вызываются все вебхуки
  • AI-агент правит (глубина 1) — вызываются только вебхуки, которым разрешена глубина 2+
  • Второй AI-агент (глубина 2) — вебхуки с ограничением на глубину 2 уже не вызовутся

Цепочки агентов работают. Циклы блокируются. Для каждого вебхука настраивается отдельно — один может работать на любой глубине, другой только при ручных правках.

Ограниченный доступ для агентов

Каждый AI-агент получает ровно столько доступа, сколько ему нужно. Не больше.

  • Что может читать: например, только заметки из папки blog/
  • Что может менять: например, только заметки из той же папки
  • Срок жизни токена: по умолчанию 60 минут, потом доступ пропадает

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

Obsidian — человек контролирует AI

Obsidian синхронизируется с trip2g. Когда AI-агент меняет заметку, вот что происходит:

  1. AI вносит изменения через вебхук или API
  2. Синхронизация доставляет изменения в ваш Obsidian vault
  3. Вы видите, что именно изменилось, в привычном редакторе
  4. Принимаете, редактируете или откатываете

Obsidian становится экраном модерации AI-контента. Вы не теряете контроль — всегда видите что AI сделал и решаете, принять ли это. AI предлагает, человек решает.

Правила метаданных — декларативные трансформации

Простые правила на основе путей. Автоматически добавляют или меняют метаданные заметок. Применяются по приоритету, от общего к частному:

Правило: blog/*     -> { free: true }
Правило: premium/** -> { free: false }
Правило: *          -> дописать " — Site" к заголовку

Описываешь правила один раз — система применяет их ко всем заметкам автоматически. Без написания кода, без ручной работы. Декларативность в чистом виде: описал что хочешь — получил результат.

Атомарные операции с контентом

Операция "найти строку в заметке, заменить на другую" — атомарна. Без конфликтов при одновременном редактировании, всё происходит в одной транзакции.

На этом построен паттерн "маркер-якорь". Вы ставите в заметке маркер — любую строку. Агенты вставляют контент на это место. Маркер остаётся, и следующая вставка будет после предыдущей:

найти:    "$INBOX$"
заменить: "## Новое сообщение\nТекст\n\n$INBOX$"

Контент накапливается. Агент не знает полное содержимое заметки — он знает только маркер и что вставить. Простой и надёжный способ для AI добавлять контент в нужное место.

Гибкий шаблонизатор — контент как конструктор

Шаблонизатор trip2g видит не просто текст, а структуру документа. Он разбирает markdown на логические блоки: вступление, заголовки, секции под каждым заголовком. Это называется доступ к AST — абстрактному дереву документа.

Что это даёт на практике. Вы пишете обычный markdown:

Часто задаваемые вопросы о сервисе.

### Как начать работу?

Зарегистрируйтесь и создайте первый проект.

### Сколько стоит?

Базовый тариф бесплатный.

### Есть ли API?

Да, документация на сайте.

А шаблон превращает заголовки третьего уровня в карточки, а первый абзац (до заголовков) — во вступительный текст:

{{ intro := note.PartialRenderer().Introduce() }}
<p class="lead">{{ intro.ContentHTML | unsafe }}</p>

<div class="cards">
  {{ range i, s := note.PartialRenderer().Sections(3) }}
    <div class="card">
      <h3>{{ s.TitleHTML | unsafe }}</h3>
      {{ s.ContentHTML | unsafe }}
    </div>
  {{ end }}
</div>

Автор пишет простой текст. Шаблон решает, как его показать: карточками, аккордеоном, слайдами, FAQ. Один и тот же markdown может выглядеть по-разному на разных страницах — зависит от шаблона, а не от контента.

Шаблон может обратиться и к другим заметкам — собрать навигацию из сайдбара, вытянуть последний пост из блога, показать обратные ссылки. Контент остаётся чистым, а вся логика отображения — в шаблоне. Это и есть декларативность: автор описывает что, шаблон решает как.

Подробнее — в документации шаблонов.

MCP — знания как сервис

MCP (Model Context Protocol) превращает базу знаний в консультанта, которого подключаешь к своему AI-клиенту. Claude Desktop, Cursor, Claude Code — любой клиент с поддержкой MCP получает доступ к чужой экспертизе напрямую.

Автор публикует заметки через trip2g и пишет инструкции для AI: как использовать базу, в каком стиле отвечать, на какие вопросы. Читатель подключает MCP-сервер и спрашивает у своего AI — тот отвечает из знаний конкретного эксперта, а не из общего обучения.

Доступные методы:

search(query)        — полнотекстовый поиск по базе
note_html(slug)      — получить конкретную заметку
similar(slug)        — похожие заметки
instructions()       — инструкции автора для AI

Доступ настраивается: открытый или платный по подписке. Модель доступа — та же, что в трёх зонах: что открыто публично, что за подпиской, что только автору.

Приватность работает в обе стороны. MCP-сервер возвращает только текст из базы автора — контекст чата читателя он не видит. Автор не знает, что именно спрашивают.

Это замыкает петлю: автор пишет → AI читает → читатель спрашивает → AI отвечает из знаний автора. Знания текут от эксперта к читателю через AI, без промежуточных шагов.

Мультидоменность — одна платформа, много сайтов

Один экземпляр trip2g обслуживает несколько независимых доменов. Достаточно добавить в frontmatter заметки:

route: portfolio.com/

— и заметка появляется на этом домене, а не на основном.

Домены изолированы: контент portfolio.com не пересекается с mysite.com. У каждого домена своя карта сайта, свои шаблоны, свои настройки. Для поисковиков и посетителей это отдельные независимые сайты.

Практический сценарий: фрилансер ведёт portfolio.com, блог на blog.com и лендинг для клиента на client-landing.com — всё из одного trip2g, одной базы заметок, одного интерфейса. Добавить новый домен — добавить одно поле в frontmatter. Подробнее — в кастомных доменах.

Это та же «инфраструктурная» логика: как один серверный шкаф хостит десятки сайтов, одна установка trip2g хостит десятки доменов.

Один файл — вся система

Один бинарник. Вся база данных — один файл. Никаких зависимостей. Автоматическая копия в облако для надёжности.

Обычная система:          trip2g:
Сервер приложений         Один файл-программа
База данных                 в котором уже всё
Кэш-сервер                   включая базу данных
Очередь сообщений

Развернуть на сервере — минута. Данные ваши. Бэкап — скопировать один файл. Переехать на другой сервер — перенести этот файл. Это цифровой суверенитет на уровне инфраструктуры.


Кому это нужно

Создатели контента с AI

Блогер хочет, чтобы AI проверял грамматику, генерировал краткое содержание, предлагал теги — но при этом сохранял контроль. Пишет в Obsidian, AI работает через вебхуки, результат виден в том же vault. Принял — опубликовалось. Не принял — откатил.

Команды с базой знаний

Внутренняя wiki, где AI-агенты автоматически обновляют оглавления, генерируют перекрёстные ссылки, проверяют актуальность. Люди модерируют через Obsidian или веб-интерфейс. Граф знаний растёт сам, но под контролем людей.

AI-first публикации

Телеграм-бот собирает заметки в inbox. Агент по расписанию генерирует еженедельный дайджест. Другой агент оформляет в HTML. Третий публикует в Telegram-канал. Человек настраивает конвейер и модерирует результат.

Разработчики AI-агентов

trip2g как бэкенд для AI-агентов: хранение, версионирование, вебхуки, ограниченный доступ. Агент подключается через вебхук или API, работает с контентом, не думает о хранении и конфликтах при одновременной работе.

Подробнее о сценариях — для кого это.


На что это похоже

Если искать аналогии из знакомого мира:

  • Obsidian — работа с markdown и связями между заметками
  • GitHub Actions — событие произошло, агент отреагировал, внёс изменение, вызвал следующее событие
  • Vercel — один деплой, всё работает, минимум настроек

Но точной аналогии нет. Ближе всего: программируемая платформа для контента, где AI-агенты — такие же участники как люди.

Этот сайт — живой пример. Он построен на trip2g и использует всё описанное выше.

Готовы попробовать?

Напишите в Telegram — поможем настроить и покажем примеры.

Написать в Telegram