Всё в Wikilayer построено на дереве узлов, описанном ниже: у каждого блока постоянный адрес, обратные ссылки находятся автоматически, а страница по-прежнему читается как один документ. Через MCP агенты работают с тем же деревом.
Узлы
Wikilayer хранит текст в одном дереве. У каждого узла есть заголовок и текст в Markdown; страница содержит блоки, из которых состоят её разделы, и расположена внутри вики или под другой страницей, а это дерево страниц и есть навигация вики. Браузер отображает страницу для людей, а MCP открывает те же узлы агентам.
Уровни заголовков задаёт дерево
Блок прямо под страницей отображается как h2, блок под ним — как h3. У заголовка, набранного в тексте Markdown, нет своего узла, поэтому инструменты его отклоняют. Каждый раздел — отдельный блок: так он появляется в содержании страницы, и на него можно сослаться напрямую.
Что дают узлы
У каждого узла есть постоянный ID, родитель и собственная история изменений.
Ссылки переживают переименование
Ссылка block:N использует постоянный ID узла. Переименование, переписывание или перемещение узла оставляет ссылку целой.
Обратные ссылки появляются сами
Поскольку ссылки нацелены на ID узлов, Wikilayer может перечислить страницы, которые указывают на узел. Этот список показан на странице и в её собранном документе Markdown.
Вместе с узлом перемещаются его потомки
move_node меняет родителя узла. Его потомки перемещаются вместе с ним, а уровни их заголовков следуют за новой глубиной. sort_key ставит узел среди соседних, не правя их тексты. migrate может перенести поддерево в другую вики, если никакие ссылки не пересекут границу вики.
История принадлежит каждому узлу
Каждый узел хранит свои версии и updated_at. Правка одного блока добавляет запись в историю этого блока, не меняя его соседей.
Оглавление избавляет от чтения всей вики
get_outline показывает карту вики через заголовки, ID и число токенов, не присылая каждый текст.
Ссылки связывают ветви
Дерево даёт каждому узлу одного родителя. Короткие ссылки связывают родственные узлы в других местах вики, а обратные ссылки показывают обратные связи, не дублируя содержимое.
Чтение и экспорт
Страница читается как один документ
Браузер отображает страницу с её разделами по порядку. get_page_markdown возвращает ту же страницу агенту, с комментарием перед каждым узлом, который содержит его ID. Публичные вики также отдают собранный документ как представление в Markdown.
Содержимое переносимо
Экспорт вики содержит её Markdown, файлы и структуру, так что содержимое можно хранить и вне Wikilayer.