<!-- page:68873 -->
# Як усе влаштовано

Усе в Wikilayer спирається на дерево вузлів, описане нижче: кожен блок має сталу адресу, посилання можна простежити у зворотний бік, а сторінка водночас читається як один документ. Через [MCP](page:68902) агенти дістаються до того самого дерева.

<!-- block:68931 -->
## Вузли

Wikilayer зберігає тексти в одному дереві. Кожен вузол має заголовок і текст у Markdown; сторінка містить блоки, з яких складаються її розділи, і розташована під вікі або під іншою сторінкою, і це дерево сторінок слугує навігацією вікі. Браузер показує сторінку людям, а [MCP](page:68902) відкриває ті самі вузли агентам.

<!-- block:68941 -->
### Рівні заголовків визначає дерево

Блок безпосередньо під сторінкою показується як h2; блок під ним — як h3. Заголовок, набраний у тексті Markdown, не має власного вузла, тому інструменти його відхиляють. Кожен розділ — це окремий блок, тож він з’являється в змісті сторінки й на нього можна посилатися напряму.

<!-- block:68932 -->
## Що дають вузли

Кожен вузол має сталий ідентифікатор, батьківський вузол і власну історію змін.

<!-- block:68942 -->
### Перейменування не ламає посилань

Посилання `block:N` використовує сталий ідентифікатор вузла. Перейменування, переписування чи переміщення цього вузла посилання не ламає.

<!-- block:68943 -->
### Зворотні посилання з’являються самі

Оскільки посилання вказують на ідентифікатори вузлів, Wikilayer може перелічити сторінки, що посилаються на вузол. Цей список є на сторінці й у її зібраному документі Markdown.

<!-- block:68944 -->
### Вузол переміщується разом із піддеревом

`move_node` змінює батьківський вузол. Його нащадки переміщуються разом із ним, а рівні їхніх заголовків підлаштовуються під нову глибину. `sort_key` задає місце вузла серед сусідніх, не змінюючи їхніх текстів. `migrate` може перенести піддерево в інше вікі, якщо жодне посилання не перетне межу вікі.

<!-- block:68945 -->
### Історія в кожного вузла своя

Кожен вузол зберігає власні версії та `updated_at`. Зміна одного блоку додає запис до історії цього блоку, не чіпаючи сусідніх.

<!-- block:68946 -->
### Зміст позбавляє потреби читати все вікі

`get_outline` описує вікі заголовками, ідентифікаторами й кількістю токенів, не надсилаючи тексту кожного вузла.

<!-- block:68947 -->
### Посилання з’єднують гілки

У дереві кожен вузол має один батьківський вузол. Короткі посилання з’єднують споріднені вузли в інших частинах вікі, а зворотні посилання показують зв’язки в протилежний бік, не дублюючи вмісту.

<!-- block:68933 -->
## Читання й експорт

<!-- block:68948 -->
### Сторінка читається як один документ

Браузер показує сторінку з розділами по порядку. `get_page_markdown` повертає агентові ту саму сторінку, з коментарем перед кожним вузлом, що містить його ідентифікатор. Публічні вікі також віддають зібраний документ як [подання в Markdown](page:68894).

<!-- block:68949 -->
### Вміст легко перенести

[Експорт вікі](page:68892) містить його Markdown, файли й структуру, тож вміст можна зберігати й поза Wikilayer.

---

## Links here

- [Markdown](page:68901)
- [Подання в Markdown](page:68894)
- [Посібник Wikilayer](/smee-again/wikilayer-howto/uk)

---

[All pages](https://wikilayer.org/smee-again/wikilayer-howto/uk/index.md)
