UStackUStack
miaw-ai-desktop icon

miaw-ai-desktop

miaw-ai-desktop — Windows-first Electron-приложение с плавающим чатом Miaw и совместимой командной поверхностью для чата, истории, изображений и скриншотов.

miaw-ai-desktop

Что такое 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

  1. Клонируйте репозиторий и скопируйте шаблон окружения: скопируйте .env.example в .env.
  2. Отредактируйте .env, чтобы указать вашего провайдера модели. По умолчанию используются значения для endpoint OpenAI, совместимого с LiteLLM, такие как:
    • THUKI_PROVIDER=litellm
    • THUKI_API_BASE_URL=http://127.0.0.1:4000
    • THUKI_API_KEY= (пусто в примере)
    • THUKI_SUPPORTED_AI_MODELS=gemma-3-4b-it
  3. Запустите локально для разработки:
    • npm install
    • npm run dev (Альтернативно, репозиторий упоминает команды Bun.)
  4. Для продакшен-упаковки сначала соберите фронтенд (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 icon

BookAI.chat

BookAI позволяет вам общаться с вашими книгами, просто предоставив название и автора.

Ably Chat icon

Ably Chat

Ably Chat — chat API и SDK для кастомных realtime-приложений: реакции, presence и правка/удаление сообщений для чатов в масштабе.

Grok AI Assistant icon

Grok AI Assistant

Grok — это бесплатный ИИ-помощник, разработанный xAI, который ставит во главу угла правдивость и объективность, предлагая расширенные возможности, такие как доступ к информации в реальном времени и генерация изображений.

AakarDev AI icon

AakarDev AI

AakarDev AI — это мощная платформа, которая упрощает разработку приложений ИИ с бесшовной интеграцией векторных баз данных, позволяя быстрое развертывание и масштабируемость.

skills-janitor icon

skills-janitor

skills-janitor для Claude Code: аудит и учет навыков, сравнение с девятью командами /janitor-* и поиск дублей без зависимостей.

Talkpal icon

Talkpal

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