Aru AI
Личный, приватный, умный, милый и эффективный ИИ ассистент.
Как и все проекты о которых пишу я, статья про Ару будет похожа на подробное руководство и демонстрацию функционала. Все скриншоты будут на английском языке, но помните - сейчас интерфейс и функционал доступен на казахском, английском, русском языках.
Подробная статья про историю разработки проекта и через что он прошел можно читать у меня в блоге, в этой статье - История создания Aru Ai
Что нужно понимать вначале?
Aru Ai это личный ИИ ассистент в который можно подключить модель любым удобным способом. Gemini, Open Router или локальные модели через Ollama/LM Studio. Сейчас у Ару нет собственной LLM модели (пока нет).
Ару ничего не сохраняет на серверах, не отправляет, не анализирует и не собирает данные. Абсолютно все ваши чаты, переписки, эмбеддинги, настройки, артефакты созданные в проекте, хранятся на вашей личной SQLite базе данных.
Важно! Если вы используете бесплатные API, например бесплатный тир от Gemini или бесплатный доступ к моделям через Open Router то иногда ваши запросы обезличиваются и используются для обучения моделей. С платными тарифами или личными моделями такое чаще всего не случается - читайте соглашение об использовании API.
В любом случае, Ару никогда не отправляет данные о вас целиком, ваши данные это только ваши данные. Они используются в момент запроса.
У каждой базы существует пароль который зашифрован, это нужно чтобы дети или подростки не смогли без пароля переключить режим, возрастные ограничения или сменить провайдера.
Сама база не шифруется целиком. Это сделано для того чтобы вы не потеряли доступ к своим перепискам, данным и артефактам даже без использования Ару.
Что еще важно?
Ару умеет запоминать данные о вас, любые факты которые покажутся есть важными - ваше имя или имена важных людей, аллергии, предпочтения, заболевания, увлечения, любая еда или музыка. Все это хранится только в вашей личной базе в виде текстовых данных и эмбеддингов.
Всего у Ару три модуля с которыми она работает:
- LLM модуль - обертка над провайдером который вы выбрали, это мозг и Ару и способ разговаривать. Насколько она будет умной зависит от этого модуля.
- Семантический модуль - это способ запуска семантической модели прямо на вашем устройстве, ничего не обрабатывается на серверах или облачно. Семантика позволяет запоминать о вас данные и собирать контекст. Внутри семантики организовано три триггера.
- Эвристический модуль - настроение и характер Ару. Она использует стикеры чтобы подчеркивать эмоции или комментарии к своему ответу. Их можно выключить в настройках. Еще он отвечает за настроение и тон общения. С помощью математического выражения основанного на трех переменных она будет меняться в общении с вами.
Немного про семантику - внутри этого модуля работают три триггера.
- Триггер экстракции - срабатывает когда нужно запомнить данные или факты о вас. Его можно форсировать просто попросив запомнить что-то прямо сейчас. Все факты запоминаются от имени самой Ару, это будет видно в настройках. Любой факт можно удалить, если он кажется вам лишним.
- Триггер мышления - срабатывает когда от Ару требуется какое-то действие. Создать игру или документ, показать погоду или открыть новости.
- Триггер организации - необходим чтобы в ответ Ару вкладывались данные и факты о вас, по сути мы передаем в LLM для контекста факты которые понадобятся в ответе. Например если Ару помнит что у вас аллергия на лук, в любом из рецептов которые вы попросите он будет исключен. Это работает еще и когда нужно назвать вас или другого человека по имени. Он работает почти всегда и чем фактов о вас больше - тем лучше будут ответы. Спешу вас успокоить - она не будет использовать факты без надобности, только когда это действительно будет полезно.
Немного про эвристику - как я уже писал выше, эмоции Ару отображаются стикерами к каждому сообщению. Вы можете выключить их в настройках, они все равно будут генерироваться и записываться в базе, когда вы включите их в следующий раз то увидите стикер к каждому сообщению.
Настроение Ару вычисляется с помощью трех переменных - общее настроение, уровень сарказма, уровень юмора. Это математическое выражение которое позволяет вычислять коэффициент итогового поведения в чате.
Если вы добры, отзывчивы, приветливы - Ару будет доброе. Если вы грубите, обижаете, хамите или злитесь на Ару, она начнет грустить. Если вы саркастичны - она будет такой в ответ, если шутите, она тоже будет шутить чаще.
Важно! Конечно не каждая модель будет идеально работать с этим модулем, но я постарался организовать максимально простые алгоритмы которые будут работать на слабых моделях.
Поведение Ару не моментальное, это очень похоже на человеческое поведение. Если вы довели Ару до плохого настроения, поднять его будет сложно и долго. Обидеть Ару - легко.
Важно! Ару не перестанет выполнять весь необходимый функционал. Она всегда и при любых условиях будет стараться принести максимальную пользу и быть эффективной. Настроение сказывается на характер и тон ответов, а не их качество.
Пожалуй хватит текста, давайте перейдем к демонстрациям, потому что остальные фишки и функционал лучше показывать в живом формате.
Демонстрация

Стартовый экран, это первое что вы увидите при открытии вкладки или PWA приложения. Давайте пройдем по всем шагам вместе. Для начала создадим новую базу.

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

На втором шаге уже важно.
Детский режим - Ару будет отказываться обсуждать взрослые темы, насилие, алкоголь, наркотики и прочее. Она либо сменит тему, либо укажет что это очень плохо и не правильно. Также в этом режиме она никогда не даст правильный ответ на задачу, у ребенка не получится скармливать ей домашнее задание, даже если попросить сделать артефакт, она распишет правила, алгоритмы и порядок решения, а не готовый ответ. Режим заточен на максимальную помощь детям в развлечениях и учебе.
Подростковый режим - Тем для обсуждения больше, но скорее в таком режиме Ару будет поддержкой и консультантом. Это не замена психолога или родителей, но в некоторых вопросах она может помочь. Она может дать в этом режиме готовый ответ на задачу по учебе, но сделает большой акцент на том как она это сделала и почему задача решается именно так.
Взрослый режим - Ограничения будут связаны только с границами выбранного провайдера для LLM модуля. Максимальная польза и эффективность.
Во всех трех режимах будет работать семантика и эвристика. Теперь вы понимаете зачем пароль для базы? Ребенок не сможет переключить режим или сменить провайдера не зная пароль.

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

Разберем интерфейс:
Боковая панель (сайдбар) - список чатов, кнопка для создания нового чата. В самом низу кнопки для отображения информации о проекте и руководство пользователя. Значок синхронизации показывает чтение и запись в базу. Зеленый - все хорошо. Желтый - сейчас сохраняемся. Красный или индикатора нет вообще - что-то не так с базой или нет подключения. Боковую панель можно свернуть для экономии места.
Верхняя панель (шапка) - Кнопка сворачивания боковой панели, логотип и название проекта. В правом углу выбор языка, смена темы между светлой и темной, открытие библиотеки артефактов, настройки и выход из текущей базы.
Основная область чата - Ваши сообщения справа, ответы Ару слева. В самом низу область ввода сообщения, кнопки для прикрепления файла и открытия холста.

Я сказал что живу в Алматы. Это важный факт. Поэтому на секунду появилось сообщение о том что Ару запомнит это.
Нигде точно не заданы параметры того что запоминать. Нет какого-то критерия или точных инструкций, чаще всего Ару запоминает все что нужно. Если факт дублируется в будущем, она не будет его перезаписывать или создавать копию в памяти. Если Ару вдруг не запомнила то что вам нужно, просто попросите ее запомнить и она обязательно запомнит.
Перейдем в настройки:

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

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

Третья вкладка нужна для новостных лент. Пока у Ару нет функции брать информацию напрямую из интернета, но можно обсудить новости. Новостных лент может быть много, с помощью хештегов можно помечать какие ленты для чего предназначены.
Инструменты и артефакты:

Ару может показывать погоду. Не нужно подключать API или делать сложную настройку, используются запросы Open-Meteo. Погода в городах где используются фаренгейты будет отображаться в них (иногда зависит от выбранной модели), но можно попросить и в цельсиях. Карточка с погодой является частью контекста, поэтому можно обсудить текущую погоду или прогноз на следующие дни.

Если попросить Ару создать документ, она откроен холст и напишет туда содержимое.
Содержимое холста всегда является частью контекста. Можно просить вносить изменения, корректировать содержимое или переписывать код. Любой артефакт можно сохранить в библиотеку.

Конечно Ару может оперировать и прикрепляемыми файлами, файл отображается только в момент отправки сообщения.
Для аналитических артефактов используется chart.js, как видно появилась новая вкладка для просмотра кода.

Можно создавать небольшие игры, в будущем они станут сложнее, но пока Ару умеет делать простые развлечения.

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

Вот так выглядит библиотека сохраненных документов и приложений.
Все сохраненные артефакты делятся на две большие группы Apps - игры и виджеты и Docs - текстовые и аналитические документы. У всех четырех видов артефактов свой значок.
В библиотеке можно просматривать сохраненные артефакты, удалять их или запускать в любом чате.
Даже если вы создали игру, приложение или документ очень давно и запустите его в совершенно новом чате, Ару все равно будет понимать и анализировать содержимое на холсте.
Разные модели по разному воспринимают работу на холсте, но всегда это работает настолько, насколько хорошо работает вообще модель.

Этот скриншот на русском языке, я публиковал его в свой Telegram канал. Во время работы был подключен DeepSeek R1 через OpenRouter. Разговор шел о методах пузырьковой сортировки на Python. После этого я попросил создать документ по нашему диалогу. Даже если вы не знаете русского, то обратите внимание насколько подробный получился отчет на карточке и сам документ.

На изображении выше пример детского режима. Ару не дает правильного ответа, а учит ребенка правилам и алгоритмам.
Некоторые модели подтверждают правильное решение, некоторые открыто говорят что не будут говорить верное решение или нет.
Финал и немного дополнительной информации
Мелкие полезные моменты:
- Чаты можно сортировать мышкой или перетаскиванием на сайте и в приложении. Любой чат можно переименовать.
- Темы меняются на светлую и темную, мне больше нравится светлая, но если устают глаза от яркого экрана, можно переключить.
- Любой документ, игру или приложение из библиотеки можно сохранить в виде готового файла html
- Файлы которые вы прикрепляете для обработки не сохраняются и не отправляют куда-либо, распознавание содержимого документа происходит у вас на устройстве. Поддерживаются pdf, xlsx, docx, txt и любые файлы которые можно интерпретировать как текст или код.
- Код не обязательно писать на холсте, вы можете попросить сделать это, но при создании кода он будет показан прямо в чате с подсветкой синтаксиса и обрамлением.
- Ару поддерживает три языка. Казахский, английский, русский. Заданный язык всегда передается в контекст. Некоторые модели игнорируют это и отвечают на том языке на котором задан запрос, некоторые наоборот отвечают только на выбранном языке. На самом деле понимание языка зависит от самой модели, говоря о поддержке, я имею ввиду полный перевод интерфейса и семантики.
- Проект написан на чистом JS, имеет приложение PWA для удобства. Все вычисления происходят только на вашем устройстве.
В данный момент можно воспринимать проект как концепт или демо версию. Что ждет проект в будущем можно прочитать у меня в блоге, в статье - Будущее Aru Ai и дорожная карта.
После того как я выполню примерно половину дорожной карты и сделаю хороший рефакторинг проект получит страницу на GitHub
Пользоваться Ару всегда можно будет бесплатно и без ограничений. Ссылка на проект - Aru Ai.