miaw-ai-desktop
miaw-ai-desktop : application Windows Electron avec interface de chat Miaw flottante et surface de commandes compatible Tauri (chat, historique, images, captures).
Qu'est-ce que miaw-ai-desktop ?
miaw-ai-desktop est une application de bureau Electron, prioritairement pour Windows, qui fournit une interface de chat flottante simple pour « Miaw ». Le projet se concentre sur la recréation de l'interface utilisateur React existante de Miaw et sur la préservation d'une surface de commandes compatible (incluant des shims clients compatibles Tauri) afin que l'application puisse interagir avec les commandes backend prises en charge pour le chat, l'historique, les images et les captures d'écran.
Le dépôt documente également la configuration locale via un fichier .env, prend en charge un point de terminaison OpenAI compatible LiteLLM comme fournisseur de modèle par défaut, et inclut des instructions de build pour le développement, la production et le packaging EXE Windows.
Fonctionnalités principales
- Interface de fenêtre de chat flottante (coquille Electron) destinée à refléter l'interface Miaw existante basée sur React, y compris une carte de configuration lorsque le backend n'est pas disponible.
- Support de l'icône dans la barre des tâches et des raccourcis globaux (Ctrl+Shift+Space) pour afficher/masquer la superposition de chat.
- Shims clients Tauri pour les modules
@tauri-apps/api(core, event, window, dpi) afin que le front-end puisse réutiliser les appels internes existants. - Surface de commandes pour le streaming de chat et la gestion des conversations, incluant
ask_ollama,cancel_generation,reset_conversation, ainsi que des opérations sur l'historique des conversations commesave_conversation,persist_message,list_conversations,load_conversationetdelete_conversation. - Commandes pour les images et captures d'écran, incluant la sauvegarde/suppression des commandes d'images et les commandes de capture d'écran (
capture_screenshot_command,capture_full_screen_command). - Crochets fenêtre/événements et utilitaires divers tels que
notify_frontend_ready,notify_overlay_hiddenetopen_url; plusget_model_config.
Comment utiliser miaw-ai-desktop
- Cloner le dépôt et copier le modèle d'environnement fourni : copier
.env.examplevers.env. - Modifier
.envpour pointer vers votre fournisseur de modèle. Les valeurs par défaut documentées utilisent un point de terminaison OpenAI compatible LiteLLM, telles que :THUKI_PROVIDER=litellmTHUKI_API_BASE_URL=http://127.0.0.1:4000THUKI_API_KEY=(vide dans l'exemple)THUKI_SUPPORTED_AI_MODELS=gemma-3-4b-it
- Lancer en local pour le développement :
npm installnpm run dev(Alternativement, le dépôt mentionne des commandes Bun.)
- Pour le packaging en production, builder le frontend d'abord (
npm run build) puis lancer Electron sans le serveur de développement Vite (npm run start). Des commandes de distribution Windows sont également fournies (dist:portable,dist:win).
Cas d'utilisation
- Chat flottant local pour des prompts rapides : utiliser le raccourci global (Ctrl+Shift+Space) pour afficher la superposition et interagir via les commandes de chat de l'application.
- Gestion des sessions de chat : sauvegarder, lister, charger et supprimer l'historique des conversations en utilisant la surface de commandes d'historique intégrée à l'application.
- Travail avec des flux de travail liés aux images : déclencher des commandes qui sauvegardent ou suppriment des images et effectuent le nettoyage des images orphelines lors de l'utilisation des fonctionnalités d'images de l'interface de chat.
- Capture de contenu depuis le bureau : utiliser les commandes de capture d'écran pour fournir un contexte visuel via la même surface de commandes exposée à l'interface.
- Configuration d'un proxy de modèle local : configurer l'application pour utiliser un point de terminaison OpenAI compatible LiteLLM à l'URL de base spécifiée dans
.env, activant le comportement du fournisseur de modèle par défaut.
FAQ
Le projet prend-il en charge macOS ?
Le dépôt note que « les commandes de permissions/onboarding spécifiques à macOS renvoient des valeurs par défaut Windows sûres », ce qui indique que la version actuelle est prioritairement pour Windows et que le comportement spécifique à macOS est géré de manière conservatrice pour Windows.
Comment l'application se connecte-t-elle à un fournisseur de modèle IA ?
Par défaut, le fournisseur de modèle est configuré pour utiliser un point de terminaison OpenAI compatible LiteLLM. Vous définissez THUKI_PROVIDER, THUKI_API_BASE_URL, THUKI_API_KEY et les modèles pris en charge via .env.
La recherche est-elle implémentée ?
Le dépôt indique que « la recherche est simulée comme SandboxUnavailable afin que l'interface existante affiche la carte de configuration », ce qui signifie que la recherche n'est pas pleinement fonctionnelle dans l'implémentation actuelle.
Le glisser-déposer et le déplacement de fenêtre de bureau sont-ils entièrement natifs ?
Non. Le glisser-pour-déplacer « n'est pas encore entièrement natif » et « le déplacement de fenêtre reste une tâche à venir ».
Comment les builds de production sont-ils packagés pour Windows ?
Le dépôt fournit des commandes de build Windows incluant npm run dist:portable pour un EXE portable et npm run dist:win pour un installateur Windows. Il note également la régénération de l'icône pour miaw.ico à partir de public/miaw-logo.png pour synchroniser la marque.
Alternatives
- Clients de bureau « chat flottant » qui s'intègrent avec des serveurs LLM locaux : ils se concentrent généralement sur une interface toujours disponible similaire, mais peuvent ne pas réutiliser la surface de commandes existante de Miaw ou les appels clients compatibles Tauri.
- Clients de chat génériques pour les API compatibles OpenAI (locales ou distantes) : utiles si vous avez seulement besoin d'une interface de chat standard et ne requérez pas l'ensemble spécifique de commandes pour les conversations/historique, les commandes d'images et les captures d'écran.
- Construction à partir d'une superposition basée sur React avec Electron : si vous voulez un contrôle total sur les raccourcis, le comportement de la barre des tâches et la connectivité au modèle, une intégration personnalisée peut être plus flexible qu'une application préconstruite centrée sur Miaw.
- Autres approches de wrappers multiplateformes Tauri/Electron : si votre objectif principal est de préserver une surface de commandes existante et des appels front-end, une stratégie de wrapper différente peut mieux correspondre à vos plateformes cibles et besoins en comportement de fenêtre.
Alternatives
BookAI.chat
BookAI vous permet de discuter avec vos livres en utilisant l'IA en fournissant simplement le titre et l'auteur.
Ably Chat
Ably Chat : API et SDK de chat temps réel pour créer des applications personnalisées, avec réactions, présence et édition/suppression de messages.
Grok AI Assistant
Grok est un assistant IA gratuit développé par xAI, conçu pour privilégier la vérité et l'objectivité tout en offrant des capacités avancées telles que l'accès à l'information en temps réel et la génération d'images.
AakarDev AI
AakarDev AI est une plateforme puissante qui simplifie le développement d'applications d'IA avec une intégration fluide des bases de données vectorielles, permettant un déploiement rapide et une évolutivité.
skills-janitor
skills-janitor audite, suit l’usage et compare vos compétences Claude Code avec neuf actions d’analyse par commandes slash, sans dépendances.
Talkpal
Talkpal est un professeur de langue AI qui aide les utilisateurs à apprendre les langues plus rapidement grâce à des conversations immersives et des retours en temps réel.