Skip to content

Latest commit

 

History

History
399 lines (251 loc) · 22.7 KB

File metadata and controls

399 lines (251 loc) · 22.7 KB

LOPATA

Локальная AI-платформа для Windows 11.

Модели, инструменты и пользовательские сценарии ИИ в одной настольной среде — с учётом возможностей конкретного компьютера и без необходимости вручную собирать технический стек для каждой задачи.

Windows 11 local AI platform for home and gaming PCs: local LLMs, AI models and tools, hardware-aware model selection, managed backends, local-first workflows and minimal manual setup.

Warning

LOPATA находится в активной разработке.

Стабильного публичного релиза пока нет. Ветка main содержит рабочую development-версию, экспериментальные сценарии и компоненты с известными ограничениями.


Что такое LOPATA

LOPATA — open-source настольная платформа для работы с локальным ИИ на Windows 11.

Проект появился из простой идеи: локальный AI уже умеет очень многое, но обычному пользователю приходится разбираться в моделях, форматах, backend'ах, runtime'ах, квантовках, требованиях к железу, командной строке и множестве отдельных программ.

LOPATA пытается поставить между этим техническим слоем и пользователем понятный интерфейс.

Пользователь должен в первую очередь выбирать что он хочет сделать, а программа — помогать определить:

  • какие модели и инструменты для этого нужны;
  • подходят ли они конкретному ПК;
  • что уже установлено;
  • что требуется скачать;
  • какой runtime использовать;
  • какие ограничения будут у выбранного режима;
  • где сохранить результат.

LOPATA не задумана как оболочка вокруг одной LLM и не должна превращаться в ещё одно окно чата.

Разные задачи могут использовать разные модели, инструменты и способы выполнения, оставаясь внутри одной общей среды.


Для кого этот проект

Основная аудитория — не разработчики AI-инфраструктуры, а обычные владельцы домашних и игровых Windows-ПК.

Например:

  • владелец игрового компьютера, который хочет использовать его возможности не только для игр;
  • человек, которому AI нужен периодически и ради этого не хочется содержать несколько облачных подписок;
  • студент или энтузиаст, которому доступнее собственное железо, чем постоянная оплата облачных сервисов;
  • пользователь, которому интересны локальные модели, но не интересен терминал и ручная настройка каждого компонента;
  • опытный пользователь, которому нужен единый и прозрачный локальный контур вместо набора несвязанных инструментов.

Главный принцип:

Пользователь должен разбираться в своей задаче.
Он не обязан разбираться в устройстве LLM.


Основная философия

Local-first, а не offline-only

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

Интернет при этом не запрещён принципиально.

Отдельный сценарий может использовать web-поиск, Hugging Face или другой сетевой источник, если это действительно требуется задаче. Но сеть является инструментом сценария, а не обязательным посредником между пользователем и локальной моделью.

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

Задача важнее названия модели

LOPATA стремится двигаться от задачи и необходимых возможностей к модели, а не наоборот.

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

Железо — часть контекста

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

LOPATA собирает паспорт ПК и учитывает:

  • CPU;
  • RAM;
  • GPU;
  • VRAM;
  • диски и доступное место;
  • установленные компоненты;
  • доступные способы выполнения.

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

Если пользователь сознательно готов ждать дольше ради потенциально более качественного результата — это его выбор.

LLM не считается всемогущей

Модель работает внутри управляемой программной среды.

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

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

Управление остаётся у пользователя

Значимые действия, загрузка тяжёлых компонентов и завершение продолжительных сценариев должны оставаться понятными пользователю.

Автоматизация должна убирать рутину, а не управление.

Модели приходят и уходят

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

Модели, backends и runtime-компоненты должны быть заменяемыми частями системы.

То, что сегодня является лучшим вариантом, через несколько лет может стать историей проекта — сама платформа при этом должна иметь возможность продолжить развитие.


Что уже реализовано

Проект давно вышел за пределы первоначального каркаса.

Сейчас в LOPATA уже существуют:

  • нативное Windows-приложение на C# / .NET / WPF;
  • адаптивный интерфейс и пользовательское масштабирование;
  • первичная настройка хранилища моделей и результатов;
  • паспорт компьютера;
  • аппаратные проверки и рекомендации;
  • общая библиотека AI-моделей;
  • сохранение происхождения ранее найденных моделей;
  • загрузка больших файлов с возможностью продолжения;
  • локальное AI-ядро;
  • structured tool calling;
  • web- и Hugging Face-инструменты через управляемый gateway;
  • локальный каталог моделей и поиск подходящих кандидатов;
  • профиль пользователя и контекстная память;
  • долговечные сессии;
  • дерево состояния сценариев;
  • версионность результатов;
  • экспериментальная Песочница как интеграционный полигон;
  • первый полноценный профильный сценарий — анализ изображений;
  • несколько режимов выполнения под разное железо;
  • локальные голосовые компоненты;
  • озвучивание результатов;
  • экспорт отдельных результатов;
  • диагностика и JSONL-журналы;
  • система управляемого доступа моделей к пользовательским файлам;
  • единый механизм лицензий сторонних компонентов;
  • русский и английский интерфейс;
  • механизм пользовательских локализаций.

Не все перечисленные части считаются окончательно завершёнными.

Некоторые являются экспериментальными, имеют известные ограничения или продолжают изменяться вместе с развитием проекта.


Анализ изображений — только первый большой сценарий

Текущий основной профильный сценарий посвящён анализу изображений.

Это не граница проекта и не его конечная специализация.

Он используется как первый достаточно сложный эталонный сценарий, на котором можно проверить:

  • подбор моделей;
  • аппаратные режимы;
  • управление runtime;
  • взаимодействие нескольких моделей;
  • пользовательский интерфейс;
  • продолжительные сессии;
  • результат;
  • голос;
  • диагностику;
  • работу общих компонентов платформы.

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


Куда движется проект

Долгосрочная идея проста:

Если задача имеет практический смысл и её можно разумно выполнить локально на пользовательском ПК — для неё потенциально может появиться сценарий LOPATA.

Это может включать:

  • локальные LLM и текстовые задачи;
  • анализ и понимание изображений;
  • генерацию изображений;
  • OCR;
  • речь и TTS;
  • распознавание аудио;
  • музыку;
  • видео;
  • работу с документами;
  • код и специализированные code-модели;
  • RAG;
  • локальную долговременную память;
  • браузерные инструменты;
  • файловые инструменты;
  • безопасную автоматизацию;
  • управление моделями;
  • управление backends и runtime-компонентами.

Это направление развития, а не обещание состава ближайшей версии.

Актуальный технический план находится в ROADMAP.


Языки и локализация

LOPATA изначально имеет два штатных языка:

  • Русский
  • English

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

Текст интерфейса хранится во внешних JSON-словарях.

Пользователь может подготовить собственную локализацию без изменения исходного кода и без пересборки приложения.

Для этого не требуется быть программистом: достаточно создать или изменить соответствующий языковой JSON-файл.

Если пользовательская локализация неполная, программа использует базовый fallback.

Такой подход намеренно сохраняет простую идею старого Windows-софта:

есть файл языка — при желании его можно перевести самому.


Модели и компоненты

Большие AI-модели не предназначены для хранения непосредственно в Git-репозитории.

LOPATA управляет моделями и runtime-компонентами отдельно.

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

  • repository;
  • revision;
  • filename;
  • назначение;
  • роль;
  • условия использования;
  • лицензия.

Разные сценарии могут использовать разные AI-модели и разные способы выполнения.

Актуальный технический реестр находится в:

Документы_проекта/REESTR.md


Сборка из исходников

На текущем этапе LOPATA ориентирована на:

  • Windows 11 x64
  • .NET 10 SDK
  • Git

В репозитории зафиксирован .NET SDK 10.0.300.

Базовая сборка:

Для разработки отдельных AI-сценариев могут потребоваться дополнительные runtime-компоненты и модели.

Аппаратные требования зависят от конкретного сценария.

Часть задач может выполняться на CPU, другие режимы требуют совместимой GPU, достаточного объёма VRAM или RAM.

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


Документация

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

Это сделано не ради формальности.

Документация используется как память разработки и как точка входа для будущего человека или AI coding agent.

Основные документы:

  • Документы проекта — текущее техническое состояние и история;
  • ROADMAP — этапы и направления развития;
  • Архитектура — архитектурные ориентиры;
  • Реестр — модели, зависимости, backends и лицензии;
  • AGENTS.md — краткие правила для AI coding agents;
  • CODEX.md — расширенный регламент разработки;
  • CONTEXTHUB.md — накопленная история решений;
  • BRANDING.md — публичное имя и правила бренда;
  • THIRD_PARTY_NOTICES.md — сторонние компоненты и уведомления.

В репозитории также сохраняются архивные ТЗ, диагностические материалы и история неудачных экспериментов.

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


Если вы нашли этот проект через несколько лет

Одна из целей архитектуры LOPATA — сделать проект продолжимым без обязательного присутствия первоначального автора.

Автор может:

  • потерять интерес;
  • переключиться на другой проект;
  • перестать иметь доступ к используемым сегодня инструментам разработки;
  • просто не вернуться к уже завершённой части программы.

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

Проект старается оставлять лёгкую дверь для входа следующему человеку.

Если вы нашли LOPATA позже и хотите что-то исправить или продолжить, начните с:

  1. README.md
  2. Документы_проекта/README.md
  3. Документы_проекта/ROADMAP.md
  4. Инструкции/AGENTS.md
  5. CONTEXTHUB.md

После этого современный coding agent должен получить достаточно контекста, чтобы самостоятельно исследовать код и продолжить отдельную ветку работы.

Для небольших изменений необязательно быть профессиональным программистом.

Одна из идей проекта состоит именно в том, что современные AI-инструменты могут значительно снизить порог входа в разработку.


О разработке

LOPATA — личный open-source проект.

Он существует одновременно как:

  • хобби;
  • практический эксперимент с локальным AI;
  • исследование возможностей AI-assisted разработки;
  • публичное портфолио такой работы.

Проект создаётся итеративно.

Идеи сначала обсуждаются и проверяются теоретически, затем превращаются в небольшие технические задачи, реализуются, проходят автоматические проверки и тестируются на реальном Windows-ПК.

Крупные решения, удачные и неудачные эксперименты, ограничения и результаты по возможности сохраняются в документации.

Задача проекта — не продемонстрировать идеальный код или максимальное количество функций.

Гораздо важнее постепенно построить систему, которую можно:

  • использовать;
  • понять;
  • проверить;
  • изменить;
  • починить;
  • продолжить.

Лицензия

Код LOPATA распространяется под GNU General Public License v3.0.

Полный текст:

LICENSE

Сторонние библиотеки, AI-модели, backends и runtime-компоненты могут использовать собственные лицензии и условия распространения.

Лицензия LOPATA не заменяет лицензии сторонних компонентов.

Дополнительные сведения:

THIRD_PARTY_NOTICES.md


Статус проекта

LOPATA находится в активной разработке.

Публичный стабильный релиз пока не объявлен.

Текущая версия и рабочее состояние могут быстро изменяться вместе с развитием моделей, runtime-компонентов и пользовательских сценариев.

LOPATA is under active development.

Experiments, bug reports, careful improvements and attempts to continue the project are welcome.