Сервер Caliu намеренно маленький. Основную работу выполняют ваши устройства, поэтому у сервера короткий список задач: хранить копию ваших заметок, передавать изменения между вашими устройствами и отвечать инструментам, которые вы подключаете.
Построен на Cloudflare Workers
Сервер написан на TypeScript и работает на Cloudflare Workers. Вместо того чтобы жить на одной машине в одной стране, код выполняется в дата-центрах Cloudflare по всему миру, и на каждый запрос отвечает ближайший к вам. Нет серверов, которые нужно обновлять, и ничего не простаивает в ожидании трафика.
Он опирается на несколько строительных блоков Cloudflare, у каждого своя задача:
| Часть | Что она делает для Caliu |
|---|---|
| D1 | База данных (SQLite) с вашими заметками, тегами и журналом изменений, который читает синхронизация |
| R2 | Хранилище изображений и файлов, которые вы прикрепляете |
| Durable Objects | Небольшие долгоживущие помощники, например по одному на каждый сеанс инструмента ИИ |
| KV | Быстрое хранилище «ключ-значение» для недолговечных данных, например проверок при входе |
Один API для всего
Приложения, открытый API и сервер MCP для инструментов ИИ работают через один и тот же API, с одинаковыми правилами и одинаковыми проверками прав. Никакого тайного чёрного хода для приложений нет. Если что-то можно сделать в Caliu, API делает это точно так же, и именно поэтому документация API на caliuapp.com/docs описывает ровно то, чем пользуются приложения.
Инструменты ИИ, подключённые по MCP, никогда не видят ваш пароль. Вы одобряете их на экране согласия, каждый получает собственный ключ, и вы можете отозвать его в любой момент в разделе Подключённые приложения.
Уборка
Несколько задач по расписанию поддерживают порядок:
- Каждый час удаляются теги, у которых больше нет заметок.
- Каждую ночь заметки, пролежавшие в корзине 30 дней, удаляются навсегда, а на устройствах, которыми не пользовались 90 дней, выполняется выход из аккаунта.
Каждое из этих изменений записывается в журнал изменений, поэтому ваши устройства узнают о нём при следующей синхронизации.
Даже этот справочный центр
Статьи, которые вы читаете, написаны в виде файлов Markdown, встроены в сервер и отправляются в приложения, а те хранят копию, чтобы справка работала и офлайн.