miaw-ai-desktop
miaw-ai-desktop — Windows-first Electron-приложение с плавающим чатом Miaw и совместимой командной поверхностью для чата, истории, изображений и скриншотов.
Что такое miaw-ai-desktop?
miaw-ai-desktop — это настольное приложение на базе Electron с приоритетом на Windows, которое предоставляет простой плавающий интерфейс чата для «Miaw». Проект сосредоточен на воссоздании существующего React-интерфейса Miaw и сохранении совместимой командной поверхности (включая клиентские заглушки, совместимые с Tauri), чтобы приложение могло взаимодействовать с поддерживаемыми серверными командами для чата, истории, изображений и скриншотов.
Репозиторий также описывает локальную настройку через файл .env, поддерживает endpoint OpenAI, совместимый с LiteLLM, в качестве провайдера модели по умолчанию, и включает инструкции по сборке для разработки, продакшена и упаковки Windows EXE.
Ключевые возможности
- Плавающее окно чата (оболочка Electron), предназначенное для зеркального отражения существующего React-интерфейса Miaw, включая карточку настройки при недоступности бэкенда.
- Поддержка иконки в трее и глобальной горячей клавиши (Ctrl+Shift+Space) для показа/скрытия наложения чата.
- Клиентские заглушки Tauri для модулей
@tauri-apps/api(core, event, window, dpi), чтобы фронтенд мог переиспользовать существующие внутренние вызовы. - Командная поверхность для потоковой передачи чата и управления разговорами, включая
ask_ollama,cancel_generation,reset_conversation, а также операции с историей разговоров:save_conversation,persist_message,list_conversations,load_conversationиdelete_conversation. - Команды для изображений и скриншотов, включая сохранение/удаление команд изображений и захват экрана (
capture_screenshot_command,capture_full_screen_command). - Хуки окна/событий и утилиты, такие как
notify_frontend_ready,notify_overlay_hiddenиopen_url; плюсget_model_config.
Как использовать miaw-ai-desktop
- Клонируйте репозиторий и скопируйте шаблон окружения: скопируйте
.env.exampleв.env. - Отредактируйте
.env, чтобы указать вашего провайдера модели. По умолчанию используются значения для endpoint OpenAI, совместимого с LiteLLM, такие как:THUKI_PROVIDER=litellmTHUKI_API_BASE_URL=http://127.0.0.1:4000THUKI_API_KEY=(пусто в примере)THUKI_SUPPORTED_AI_MODELS=gemma-3-4b-it
- Запустите локально для разработки:
npm installnpm run dev(Альтернативно, репозиторий упоминает команды Bun.)
- Для продакшен-упаковки сначала соберите фронтенд (
npm run build), затем запустите Electron без dev-сервера Vite (npm run start). Также предоставлены команды для дистрибутива Windows (dist:portable,dist:win).
Сценарии использования
- Локальный плавающий чат для быстрых запросов: используйте глобальную горячую клавишу (Ctrl+Shift+Space), чтобы вызвать наложение и взаимодействовать через команды чата приложения.
- Управление сессиями чата: сохраняйте, перечисляйте, загружайте и удаляйте историю разговоров с помощью встроенной командной поверхности истории.
- Работа с рабочими процессами, связанными с изображениями: запускайте команды для сохранения или удаления изображений и очистки осиротевших изображений при использовании функций изображений в UI чата.
- Захват контента с рабочего стола: используйте команды скриншотов, чтобы передавать визуальный контекст через ту же командную поверхность, доступную UI.
- Настройка локального прокси модели: настройте приложение для использования endpoint OpenAI, совместимого с LiteLLM, по базовому URL из
.env, активируя поведение провайдера модели по умолчанию.
FAQ
Поддерживает ли проект macOS?
Репозиторий отмечает, что «команды разрешений/онбординга только для macOS возвращают безопасные значения по умолчанию для Windows», что указывает на приоритет Windows в текущей сборке и консервативную обработку macOS-специфичного поведения для Windows.
Как приложение подключается к провайдеру модели ИИ?
По умолчанию провайдер модели настроен на использование endpoint OpenAI, совместимого с LiteLLM. Укажите THUKI_PROVIDER, THUKI_API_BASE_URL, THUKI_API_KEY и поддерживаемые модели через .env.
Реализован ли поиск?
Репозиторий указывает, что «поиск заглушен на SandboxUnavailable, чтобы существующий UI отображал карточку настройки», то есть поиск не полностью функционален в текущей реализации.
Является ли перетаскивание и перемещение окна рабочего стола полностью нативным?
Нет. Перетаскивание для перемещения «ещё не полностью нативное», а «перемещение окна — это последующая задача».
Как упаковываются продакшен-сборки для Windows?
Репозиторий предоставляет команды сборки для Windows, включая npm run dist:portable для портативного EXE и npm run dist:win для установщика Windows. Также отмечается регенерация иконки miaw.ico из public/miaw-logo.png для синхронизации брендинга.
Альтернативы
- Настольные клиенты «плавающего чата», интегрирующиеся с локальными серверами LLM: они обычно фокусируются на похожем всегда доступном UI, но могут не переиспользовать существующую командную поверхность Miaw или клиентские вызовы, совместимые с Tauri.
- Универсальные чат-клиенты для API, совместимых с OpenAI (локальных или удалённых): полезны, если нужен только стандартный UI чата без специфического набора команд для разговоров/истории, изображений и скриншотов.
- Сборка на базе React-наложения с Electron: если требуется полный контроль над горячими клавишами, поведением трея и подключением модели, кастомная интеграция может быть гибче предустановленного приложения, ориентированного на Miaw.
- Другие подходы с обёртками Tauri/Electron для кросс-платформы: если главная цель — сохранить существующую командную поверхность и фронтенд-вызовы, другой стратегии обёртки может лучше соответствовать целевым платформам и поведению окон.
Альтернативы
BookAI.chat
BookAI позволяет вам общаться с вашими книгами, просто предоставив название и автора.
Ably Chat
Ably Chat — chat API и SDK для кастомных realtime-приложений: реакции, presence и правка/удаление сообщений для чатов в масштабе.
Grok AI Assistant
Grok — это бесплатный ИИ-помощник, разработанный xAI, который ставит во главу угла правдивость и объективность, предлагая расширенные возможности, такие как доступ к информации в реальном времени и генерация изображений.
AakarDev AI
AakarDev AI — это мощная платформа, которая упрощает разработку приложений ИИ с бесшовной интеграцией векторных баз данных, позволяя быстрое развертывание и масштабируемость.
skills-janitor
skills-janitor для Claude Code: аудит и учет навыков, сравнение с девятью командами /janitor-* и поиск дублей без зависимостей.
Talkpal
Talkpal - это AI-преподаватель языков, который помогает пользователям быстрее учить языки через погружающие разговоры и обратную связь в реальном времени.