Inquirer1 dead, 1 missing after jeepney swept away in BatangasThe Jerusalem PostIsrael to close West Bank, Gaza crossings for October 7 remembrance ceremonies, COGAT saysPunchUS Marine arrested in Japan on suspicion of murderESPNIs this finally Milwaukee's year? Examining why Brewers' way will (or won't) workDaily MaverickIn defiance of chaos — why your choice in this election mattersRTP DesportoMax Verstappen vence GP do Bahrain de Fórmula 1ZDF heuteAktuelle Pressemitteilungen des ZDFFootball ItaliaPjanic claims: ‘Roma are Scudetto contenders but too early for Juventus’RTL BoulevardGersjes strandt in achtste finales op openingsdag WK judoCBS NewsMore details emerge about FlyDubai co-pilot who tried to crash planeStraits Times SportRussell's championship dreams hit by cruel power unit failure in SepangAntara NewsIndonesia bars Chinese national suspected of Starlux theft
The Daily Newsstand · Free, Always
Sunday, October 4, 2026

Aquilum — быстрый аналог Obsidian на Rust, который потребляет около 27 МБ ОЗУ

Translate

Заметочник поддерживает обратные ссылки и граф знаний, дерево файлов, лайв-превью, работу с несколькими базами знаний, анализ данных с помощью аналога Dataview, мгновенный поиск связных и похожих заметок, историю изменений внутри каждой заметки и многое другое, о чем расскажу в статье.

Прилагаю описание проекта на Github и страницу релиза с установщиком для Windows. Да, протестировать его пока можно только на винде.

Aquilum пока не пытается заменить Obsidian во всех сценариях. Это активно развиваемый Windows-прототип local-first заметочника.

Зачем создавался заметочник Aquilum

Я фанат Obsidian, но меня невероятно задолбало, что он ест так много ОЗУ. Особенно это мешает, когда открыто несколько тяжелых приложений, и память особенно ценна.

На моём компьютере Obsidian заметно увеличивает нагрузку при запуске и особенно тяжело работает с большими хранилищами и несколькими тяжёлыми приложениями.

Ниже я разместил скриншот с потреблением ресурсов Obsidian и Aquilum. Я реализовал на Rust аналоги привычных возможностей Obsidian: Dataview-подобные запросы, граф, backlinks, историю, задачи и другие функции, поэтому в моем случае условия максимально похожие.

Видно, что Obsidian может потреблять гигабайт с лишним памяти, в то время как аквилум кушает всего 27 мегабайт! Т.е. я еще занизил показатели в заголовке статьи...

Сравнение потребления ресурсов у Obsidian и Aquilum

Сравнение потребления ресурсов у Obsidian и Aquilum

Разница в том, что обсидиан тянет за собой отдельный браузерный движок, который и нагружает систему. Я решил действовать иначе и написать заметочник на Tauri, чтобы расход ресурсов был минимален. Это позволило ограничить потребление ОЗУ в 27Мб, а установщик запаковать в 11Мб дискового пространства.

Также мне не нравится, что у всех плагинов в Obsidian разрозненный визуальный дизайн. Я сам дизайнер, поэтому в глаза мне постоянно бьет ключом этот нюанс. Хочется единой дизайн-системы и контроля над токенами (отступами, размерами и цветами). Плюс для меня разработка объемного продукта стала хорошей практикой, так как в данный момент работаю я в команде дизайн-систем.

А еще мне хотелось открытости и портативности, чтобы все данные всегда были у меня! В обсидиане некоторые плагины не всегда очевидно хранят данные (это характерно для табличных плагинов). В аквилуме же все данные хранятся в заметках, что означает полную портативность базы знаний.

Обзор функционала

Aquilum использует CodeMirror 6 — тот же редакторский движок, который используется в Obsidian. Поэтому базовые ощущения от редактирования Markdown во многом знакомы пользователям Obsidian.

Далее рассмотрим весь функционал приложения, разбитый по разделам.

Основные визуальные элементы:

  1. Маркеры списков - с подсветкой строки с помощью символов !, &, ~ или $

  2. Виджеты - их сейчас несколько в приложении, и о них расскажу дальше

  3. Цитаты - их можно добавлять прямо из читалки, о которой также расскажу ниже

Визуальный обзор редактора Aquilum

Визуальный обзор редактора Aquilum

Таблицы

В редакторе есть удобные Markdown-таблицы с расширенными возможностями. В них можно объединять и разделять ячейки, менять порядок строк и столбцов вручную, а также использовать форматирование текста прямо внутри ячеек.

Контекстное меню позволяет быстро создавать таблицы, удалять отдельные строки и столбцы или удалять таблицу целиком. Все основные операции — включая объединение и разъединение ячеек, доступны непосредственно из этого меню.

Ниже я разместил пример таблицы:

Таблицы в редакторе Aquilum

Таблицы в редакторе Aquilum

Вот так выглядит код таблицы со скриншота выше:

| <!--q-empty--> | ываыва |  | <!--q-empty--> | ыав | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> |
| --- | :---: | --- | --- | --- | --- | --- | --- | --- |
| ghbdtn | ыав |  | [[книга]] |  | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> |
| **dsfsdываf** |  |  | ^^ | ^^ | <!--q-empty--> | ^^ | <!--q-empty--> | <!--q-empty--> |
| ^^ | ^^ | ^^ | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | ываываываыва | <!--q-empty--> | <!--q-empty--> |
| выа | ыав |  | kjhgkjhgkjhgk | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> |
| ыва |  |  | <!--q-empty--> |  | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> |
| <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> | <!--q-empty--> |
<!--q-table:{"merges":[[0,1,0,2],[1,1,1,2],[1,3,2,4],[1,6,2,6],[2,0,3,2],[4,1,4,2],[5,0,5,2],[5,3,5,4]],"rows":[111,28,28,41,191,40,45],"cols":[123,60,141,120,100,65,145,60,60]}-->

Поиск по базе знаний

Для меня было важно, чтобы поиск работал мгновенно даже на базе с миллионом заметок. Это центральная часть всего приложения, которая должна быть надежной и молниеносной. В итоге тысяча полноценных заметок обрабатывается за 1-2 мс на моей машине, и момент поиска вообще незаметен глазу. Также поиск поддерживает горячие клавиши для быстрого открытия или создания заметки.

При этом совпадения подсвечиваются, а общее количество совпадений выводится справа сверху в карточке источника.

Ниже размещен скрин того, как это выглядит:

Окно поиска в Aquilum

Окно поиска в Aquilum

Отображение медиа

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

Отображение медиа в заметочнике Aquilum

Отображение медиа в заметочнике Aquilum

При этом все настройки изображения хранятся в Markdown формате:

![472|crop=0,0,93.3,91.8](<Files/image 6.png>)

Виджеты, страницы книги и читалка

В приложении поддерживаются виджеты, внутри которых в перспективе можно помещать любую информацию, которая должна быть визуально выстроена в единый блок.

Например, сейчас есть виджеты книги, которые вы можете увидеть на скриншоте ниже:

Виджеты книги в заметочнике Aquilum

Виджеты книги в заметочнике Aquilum

Вы можете создать заметку книги: загрузить обложку, вписать название, автора, а также прикрепить файл самой книги, после чего с помощью конструкции виджета сформировать таблицу из прочитанных книг. Пример такой конструкции можно посмотреть ниже:

> [!book] [[📖 Победители недр]]
> [!book] [[📖 Книга-тренажер для вашего мозга]]
> [!book] [[📖 Как убедить кого угодно в чем угодно]]
> [!book] [[📖 20 тысяч лье под водой]]
> [!book] [[📖 Краткая история почти всего на свете]]
> [!book] [[📖 Марсианские хроники]]
> [!book] [[📖 Плененная вселенная]]
> [!book] [[📖 Господин из Сан-Франциско]]
> [!book] [[📖 Олеся]]
> [!book] [[📖 Поединок]]
> [!book] [[📖 Думай]]

Мне очень хотелось, чтобы все мои прочитанные книги хранились в едином файле с прогрессом, названием и автором. Для этого и предназначен данный блок.

И, да, читать книгу можно не выходя из приложения!

Читалка в Aquilum

Читалка в Aquilum

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

Метаданные и frontmatter и шаблоны

В заметочнике также есть блок frontmatter, внутри которого вы можете разместить различную информацию.

Например, можно указать дату и время создания, отображение обложки страницы или книги, теги, рейтинг книги. Также имеются и технические поля, например, прогресс прочтения, привязанный к размеру файла книги. Это значит, что вы можете открыть книгу через Aquilum на любом устройстве, и чтение начнется именно оттуда, откуда вы начали! Все сделано для того, чтобы все данные были у вас!

frontmatter в заметочнике Aquilum

frontmatter в заметочнике Aquilum

Настройки и корзина

Также имеются настройки приложения, с помощью которых вы можете гибко кастомизировть приложение.

Сейчас доступны базовые настройки внешнего вида, языка, шрифтов и стартовой страницы; расширенная система тем находится в разработке.

Панель настроек Aquilum

Панель настроек Aquilum

Также есть корзина, в которую попадают удаленные файлы. В обсидиане я, бывало, по случайности сносил очень важные заметки, и они полностью пропадали! В аквилуме эта проблема исправлена - заметки всегда попадают в корзину!

Корзина в приложении Aquilum

Корзина в приложении Aquilum

MCP server и работа с ИИ моделями

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

Окно настроек MCP сервера в приложении Aquilum

Окно настроек MCP сервера в приложении Aquilum

Приложение поддерживает подключение к Claude Code, Codex CLI и Gemini Antigravity. Агенты могут искать информацию через мгновенный BM25F поиск, смотреть связи между заметками, а также редактировать заметки в нескольких базах знаний одновременно!

Это очень сильно ускоряет работу с базами знаний проекта, потому что все инструменты работают из коробки и не требуют дополнительной настройки или написания кастомных скриптов.

История изменений заметки

Еще одним преимуществом является встроенное версионирование, позволяющее откатывать ваши правки и смотреть эволюцию ваших мыслей. То же самое работает и с правками ИИ-агента, который может удалить важную для вас информацию. Теперь вы всегда можете вернуть утраченное!

Панель версионирования в Aquilum

Панель версионирования в Aquilum

Граф знаний

Я хотел сделать граф не декоративной визуализацией, а рабочим инструментом навигации и анализа базы знаний.

Он работает с любым количеством заметок мгновенно, а также позволяет отображать тепловую карту изменения и создания заметок в базе знаний. Т.е. теперь вы можете смотреть, какие разделы давно не обновлялись, а над какими вы работаете прямо сейчас.

Плюс можно отфильтровать заметки по дате создания, что может быть удобно для анализа.

Граф знаний в Aquilum

Граф знаний в Aquilum

Работа с задачами

Работа с задачами пока находится на раннем этапе, но уже поддерживает базовые Markdown-чекбоксы и запросы по их состоянию.

Задачи в Aquilum

Задачи в Aquilum

Dataview и работа с данными

Приложение поддерживает написание кастомных скриптов прямо в теле заметки, чтобы работать с данными. Синтаксис очень похож на тот, что есть в плагине Dataview в обсидиане, но все же переработан для простоты и расширен под мои задачи, а также переписан на Rust и мгновенно откликается на изменения в системе.

Таблицы Dataview в заметочнике Aquilum

Таблицы Dataview в заметочнике Aquilum

Вот пример всех трех блоков со скриншота выше:

Последние заметки

```dataview
TABLE WITHOUT ID
    link(file.link, title) AS "Последние заметки",
    dateformat(file.ctime, "d MMM") AS "Дата"
WHERE file.ctime >= (date(today) - dur(1 week))
SORT file.ctime DESC
LIMIT 10
```

Стата заметок

```dataview
TABLE WITHOUT ID
    item.name AS "Стата заметок",
    count(rows.file.ctime, item.span) AS "Всего",
    delta(count(rows.file.ctime, item.span),
          count(rows.file.ctime, previous(item.span))) AS "Динамика"
FROM ""
GROUP BY ""
FLATTEN list(
    object("name", "Сегодня", "span", span(today, now)),
    object("name", "Неделя", "span", span(today - dur(1 week), now)),
    object("name", "Месяц", "span", span(today - dur(1 month), now)),
    object("name", "Год", "span", span(today - dur(1 year), now)),
    object("name", "За всё время", "span", ever)
) AS item
```

Невыполненные задачи

```dataview
TASK TITLE "Невыполненные задачи"
WHERE !completed
SORT file.mtime DESC
LIMIT 10
```

Лайв-превью и удобство использования

Честно признаться, я уже давно не запускал обсидиан и искренне кайфую от работы в своем заметочнике мечты. Он не идеален, но уже поддерживает необходимые для меня функции, а лайв-превью позволяет бесшовно работать со скриптовыми блоками и быстро править форматирование Markdown.

Там, куда выпоставите каретку (курсор), отобразится форматирование, и вы сможете редактировать буллиты, символы жирности текста, код, уровень заголовков и все, что как-то влияет на внешний вид текста.

Отображение форматирования в лайв-превью режиме заметочника Aquilum

Отображение форматирования в лайв-превью режиме заметочника Aquilum

Техническая часть

  • Rust + Tauri 2;

  • React + TypeScript;

  • CodeMirror 6;

  • Markdown как основной формат хранения;

  • Yjs для локальной модели документа;

  • SQLite для состояния приложения;

  • BM25F для полнотекстового поиска;

  • Windows как текущая платформа.

Заключение

Aquilum пока находится в активной разработке. Уже сейчас он закрывает мой основной сценарий работы с Markdown-базой знаний: редактирование, поиск, связи между заметками, книги, задачи, история изменений и автоматизация через MCP. В следующих версиях я планирую улучшить совместимость, добавить синхронизацию и мультиплеер, а также продолжить работу над расширяемостью и производительностью.

Проект можно скачать для Windows со страницы релизов GitHub. Буду рад отзывам, особенно от пользователей Obsidian, которые работают с большими базами знаний.

Если у вас появится фидбек, то связаться со мной можно в тг

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.