Помнит беседу
История идёт в модель в пределах окна, старое сворачивается в конспект. Спросите про то, что говорили полчаса назад.
ИИ на процессоре · без GPU · без облака
Чат с крошечными открытыми моделями. Всё считается на обычном процессоре мини-ПК, ответ печатается прямо по мере того, как модель его придумывает. Помнит беседу, умеет сравнивать модели между собой и честно говорит «не знаю».
Прямо сейчас · реальные данные сервера
Как это помещается
Модели хранятся в формате GGUF с 4-битным квантованием: файл занимает ~0,4–0,5 ГБ вместо 2 ГБ. Качество чуть ниже, зато помещается и летает на процессоре.
В памяти всегда ровно одна модель и один слот генерации. Смена модели — выгрузка и загрузка с прогрессом, а запросы честно стоят в очереди с видимой позицией.
Окно 2048 токенов, кэш внимания в 8 битах. Когда беседа разрастается, старые реплики сворачиваются в краткое содержание, а вы видите счётчик «контекст 1340/2048».
Модели на выбор
Цифры — наши замеры (контекст 2048, 4 потока, ноутбучный процессор под посторонней нагрузкой), оценка русского — по 12 промптам, субъективная. «ОЗУ» — пик Node + llama.cpp вместе, как в таблице отчёта.
| Модель | Файл | Пик ОЗУ | Токенов/с | Русский | Действие |
|---|---|---|---|---|---|
| загрузка… | |||||
| загрузка… | |||||
| загрузка… | |||||
Что умеет
История идёт в модель в пределах окна, старое сворачивается в конспект. Спросите про то, что говорили полчаса назад.
«Запомни: меня зовут Аня, я учусь на биолога» — и модель знает это в каждой беседе. Заметки можно править и удалять.
Один вопрос — два ответа по очереди, рядом. Видно, чем умнее модель отличается от самой быстрой.
Помощник, репетитор, переводчик RU↔EN, редактор, наставник для кодеров и просто собеседник.
Один слот на всех: видно позицию и примерное время, запрос можно отменить, а длинные сообщения не пройдут.
Без регистрации беседы лежат в вашем браузере. С аккаунтом — на сервере и на всех устройствах; гостевые переезжают сами.
Свой мини-ПК
Нужны Linux x86_64, Node.js 24+ и около 2 ГБ диска под модели. Компилятор не нужен: llama.cpp берётся готовым релизом.
node scripts/fetch-bin.mjsСкачивает llama-server (≈18 МБ) в bin/. Если нет OpenMP, берёт libgomp без root.
node scripts/fetch-models.mjsПять моделей для 1 ГБ (≈1,9 ГБ на диске) с докачкой и проверкой sha256. Одну: … qwen3.5-0.8b.
PORT=3109 node server.jsСервер стартует и без моделей — покажет «не установлена». С AI_AUTOFETCH=1 докачает их сам.
Частые вопросы
Как очень начитанный стажёр после бессонной ночи: хорошо переписывают, переводят, объясняют базовые вещи и пишут короткий код. Но могут уверенно ошибиться в фактах, датах и арифметике. Поэтому в чате висит тихая плашка «Маленькая модель: проверяйте важное», а модель по умолчанию просим честно говорить «не знаю».
Правда для моделей до 0,8 млрд параметров: пик процесса-дерева (Node.js + llama.cpp) у нас укладывается в ≈780 МБ (модель по умолчанию, окно заполнено почти целиком). Большая часть этого — файл модели, отображённый в память (mmap): система может вытеснить его при нехватке. Модель побольше (Gemma 3 1B) честно помечена «для 2 ГБ+».
В модель уходит ваша беседа целиком, пока она помещается в окно в 2048 токенов. Когда место заканчивается (около 70% окна), та же модель отдельным вызовом сворачивает старые реплики в краткое содержание. Мелкие детали при этом теряются — это цена маленького окна, поэтому важное лучше записать в «заметки».
Без регистрации — только в вашем браузере (localStorage), с лимитом по числу бесед. После регистрации — в базе на сервере, привязаны к аккаунту, видны только вам. Гостевые беседы переносятся в аккаунт при входе.
Модель одна, слот генерации один, поэтому запросы ставятся в очередь: вы видите позицию («вы 2-й, ~15 с») и можете отменить. Есть лимиты на частоту запросов и длину сообщения, а слишком долгое ожидание завершается понятной ошибкой.
Любую GGUF-модель, которую умеет llama.cpp: положите файл в models/ и добавьте запись в lib/catalog.mjs (имя, размер, контрольная сумма). Для 1 ГБ берите варианты до ≈550 МБ в Q4.
Регистрация не нужна: беседа сохранится в браузере.
Начать чат