Блоковая модель данных
Иерархия блоков, типы, порядок и представления в Timelix
Идея
В Timelix почти весь пользовательский контент хранится как строки в таблице блоков. У блока есть:
type— семантика блокаcontent— JSON со специфичными даннымиparent_id— родитель в деревеposition— порядок среди соседних блоковtitle,archived,tags,layout_data— отображение и раскладки
Так продукт может единообразно искать, перемещать и версионировать контент.
Иерархия
Правило простое: у блока один родитель, а порядок детей задаётся position.
Типы блоков
Помимо документных типов, в продукте активно используются:
company— компания; вcontentможет хранитьсяtodoListIdrole— роль или AI-агент; вcontentлежат prompt,linkedToolIds,disabledToolIds,disabledSystemTools- контейнеры с
containerType(N8nConnector,AgentServer,TanStackAI) — описывают интеграции как дочерние блоки роли
Полный перечень типов и деталей полей — в utils/drizzle/schema.ts и entities/block/types/blockTypes.ts.
Базы, страницы и представления
Для табличных сущностей Timelix использует отдельные таблицы database, database_property, page_property_value и представления view. При этом сами страницы и большая часть контента всё равно опираются на блочную модель.
Связи между блоками хранятся через block_link.
Почему это важно для модулей
Timelix Toolsчитает настройки инструментов изcontentролиTimelix ChatиTimelix Contextподнимают роль и компанию как блокиtodoListIdдля MCP и задач живёт в компании, а не в отдельной таблице интеграций
Расширенная документация в репозитории
Для разработки UI и API конкретных типов блоков используйте каталог internal-docs/entities/block/. Карта developer-доков: Документация для разработчиков.
Связанные разделы
- Задачи и MCP — как
todoListIdкомпании используется инструментами - Timelix Tools — какие поля роли влияют на набор инструментов