Персональный помощник на AREAL

Одна Ника. Вся история. Ваш контекст.

Ника превращает разговоры в задачи, заметки и связанные знания. Локальный append-only журнал сохраняет историю изменений, а AREALRUST даёт ей архитектуру для работы на независимых узлах.

Статус синхронизации: протокол реализован в AREALRUST. В текущей Нике обмен между компьютером и сервером выключен до переноса политики приватности Scope.

local-first · append-only · merkle search tree · ed25519

Протокол AREALRUST в Нике выключен

Локальный узел

ваш компьютер

MST root7f3a…c91e

Серверный узел

areals.ru

MST root7f3a…c91e
Событие в общем графе
task.created · Подготовить план поездки · срок: пятница
Схема механики ядра. В текущей Нике сетевой обмен отключён.
Подписи Data Integrity на Ed25519
Merkle Search Tree для поиска различий
JSON over HTTP(S) и X-Sync-Token
Возможности

Разговор остаётся в памяти. Дела попадают в план.

Ника связывает текущий разговор с людьми, решениями и задачами, которые уже есть в вашем графе.

Диалог в привычном формате

Общайтесь через веб-чат или Telegram. Отправляйте текст, голосовые сообщения и изображения — Ника разберёт содержимое и сохранит контекст.

TEXT · VOICE · VISION

Задачи из разговора

Ника сама выделяет поручения, сроки, приоритеты и исполнителей. Задачи можно искать, планировать и держать на контроле по людям.

STATUS · DEADLINE · CONTROL

Заметки и конспекты

Импортируйте транскрипт встречи или документ. Ника извлечёт сущности, факты и задачи, а по последним разговорам соберёт плотный конспект.

NOTES · DIGEST · IMPORT

Причинный граф знаний

Люди, проекты, решения и факты связаны между собой. Можно открыть запись, увидеть историю её изменений и перейти к связанным сущностям.

ENTITIES · RELATIONS · HISTORY

Напоминания, рутины и встречи

Ника ведёт разовые напоминания и регулярные рутины, работает с Яндекс Календарём и повторяющимися встречами, умеет подключаться к Телемосту и разбирать аудио.

REMINDERS · CALENDAR · MEETINGS

Локальная или облачная модель

Выбирайте вычислительный контур под задачу: локальную модель на своём оборудовании или облачную через OpenRouter. Память узла остаётся вашей.

LM STUDIO · OPENROUTER
Синхронизация · честный статус

Протокол есть в ядре. В Нике он ждёт политики приватности.

01 Сейчас · Ника

Локальный журнал работает

Интерфейс, чат, задачи, встречи и память используют новый журнал AREALRUST. Старые маршруты /api/sync/* отвечают 410 Gone.

02 Уже · AREALRUST

Новый протокол реализован

Двусторонняя сессия сравнивает Merkle Search Tree, передаёт недостающие события и пропускает их через конвейер проверки получателя.

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

Сначала границы личных данных

Новый протокол передаёт полный журнал. До включения его в Нике нужно перенести исполняемую политику Scope, чтобы приватные события не покидали свой контур.

Протокол AREALRUST

Узлы сравнивают историю и передают только недостающие события.

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

  1. Событие получает адрес по содержимому

    Каноническая JCS-форма превращается в $id — SHA-256 multihash байтов события. Поле $cause задаёт прошлый конус, а подпись Data Integrity на Ed25519 подтверждает автора с известным ключом.

  2. Merkle Search Tree находит различия

    Узлы обмениваются корнями MST, идентификатором журнала, числом событий, версией протокола и хешем базовых правил. Спуск по дереву сужает поиск до отсутствующих $id, без повторной передачи всей истории.

  3. Сессия идёт в обе стороны

    Сначала узел забирает недостающее у партнёра — pull, затем отдаёт своё — push. События идут пачками по 500; повторы пропускаются, а записи без уже полученных причин досылаются повторно.

  4. Получатель повторяет проверку

    Обычная sync-сессия не доверяет готовому вердикту отправителя. Принимающий узел проверяет каноническую форму, $id, причины, подпись, права и правила пака через собственный конвейер verify → restrict → commit → react.

Технология · AREALRUST

Событийное ядро для живой, распределённой памяти.

Clojure-приложение Ники обращается к подпроцессу areal-node через JSON-протокол. Ядро хранит событийную модель и выполняет операции журнала; один процесс ядра может обслуживать несколько независимых журналов, включая пробные копии.

append-onlyJSONL-журнал дописывается с fsync и сохраняет прошлые состояния
causal graphвердикт вычисляется по прошлому конусу события, а не порядку получения
atomic batchпакетная запись откатывается целиком при первом непринятом событии
merkle syncMST сокращает поиск различий между совместимыми узлами
Архитектура узлаlocal + server
NIKA · CLOJURE

Помощник и сценарии

Диалог, задачи, заметки, конспекты, Telegram и подключение языковых моделей.

AREALRUST · AREAL-NODE

Распределённое событийное ядро

Причинный граф, подписи событий, правила проверки и Merkle-синхронизация между узлами.

NODE DATA · LOCAL STORAGE

Данные каждого узла

Локальная история, ключ узла и известные ключи соседей. Резервная копия — копия каталога данных.

одна модель событий · независимые узлы · общая история
Коротко о важном

Вопросы о работе и данных.

Синхронизируется ли Ника между компьютером и сервером сейчас?

Нет. Старые маршруты /api/sync/* возвращают 410 Gone: их протокол несовместим с новым журналом. В AREALRUST уже есть новый двусторонний протокол, но он передаёт полный журнал. Включать его для личной памяти Ники можно только после переноса исполняемой политики Scope.

Можно ли работать без постоянного интернета?

Да, локальный журнал и интерфейс продолжают работать без сети. Для ответов помощника нужна доступная языковая модель — локальная или облачная. Веб-поиск, Telegram, OpenRouter и другие внешние интеграции зависят от соединения.

Как протокол поступает с параллельными изменениями?

Параллельные ветви не стираются. Порядок определяется по прошлому конусу и $id, поэтому не зависит от локального порядка приёма. Текущее значение выбирается детерминированно, а альтернативы сохраняются в метаданных conflicts. Это не автоматическое смысловое разрешение конфликта.

При каждом обмене передаётся весь граф?

При обычной сессии нет: MST помогает найти и передать только отсутствующие события. Однако область синхронизации нового протокола — полный журнал, без выборочных приватных срезов. Начальный bootstrap нового узла также копирует историю партнёра до запуска.

Что доступно через nika.areals.ru?

Публично доступен этот лэндинг. Старый маршрут /api/sync/ сохранён, но его обработчики отвечают 410 Gone. Интерфейс администратора Ники слушает только локальный адрес сервера и не публикуется в интернет.

Ника · локальная память

Ваш контекст остаётся вашим. Архитектура готова к следующему узлу.