miaw-ai-desktop
miaw-ai-desktop: app desktop Windows-first com interface flutuante de chat Miaw e comandos compatíveis (shims Tauri) para chat, histórico, imagens e screenshots.
O que é miaw-ai-desktop?
miaw-ai-desktop é um app desktop baseado em Electron, priorizando Windows, que fornece uma interface de chat flutuante simples para “Miaw”. O projeto foca em recriar a UI React existente do Miaw e preservar uma superfície de comandos compatível (incluindo shims de cliente compatíveis com Tauri) para que o app interaja com comandos de back-end suportados para chat, histórico, imagens e screenshots.
O repositório também documenta configuração local via arquivo .env, suporta um endpoint OpenAI compatível com LiteLLM como provedor de modelo padrão e inclui instruções de build para desenvolvimento, produção e empacotamento de EXE para Windows.
Principais Recursos
- UI de janela de chat flutuante (shell Electron) projetada para espelhar a interface Miaw baseada em React existente, incluindo um card de configuração quando o back-end não está disponível.
- Suporte a ícone na bandeja e atalho global (Ctrl+Shift+Space) para mostrar/ocultar a sobreposição de chat.
- Shims de cliente Tauri para módulos
@tauri-apps/api(core, event, window, dpi) para que o front-end reutilize chamadas internas existentes. - Superfície de comandos para streaming de chat e gerenciamento de conversas, incluindo
ask_ollama,cancel_generation,reset_conversation, além de operações de histórico de conversas comosave_conversation,persist_message,list_conversations,load_conversationedelete_conversation. - Comandos de imagem e screenshot, incluindo salvamento/remoção de comandos de imagem e comandos de captura de tela (
capture_screenshot_command,capture_full_screen_command). - Hooks de janela/evento e utilitários diversos como
notify_frontend_ready,notify_overlay_hiddeneopen_url; maisget_model_config.
Como Usar miaw-ai-desktop
- Clone o repositório e copie o template de ambiente fornecido: copie
.env.examplepara.env. - Edite
.envpara apontar para o seu provedor de modelo. Os padrões documentados usam um endpoint OpenAI compatível com LiteLLM com valores como:THUKI_PROVIDER=litellmTHUKI_API_BASE_URL=http://127.0.0.1:4000THUKI_API_KEY=(vazio no exemplo)THUKI_SUPPORTED_AI_MODELS=gemma-3-4b-it
- Execute localmente para desenvolvimento:
npm installnpm run dev(Alternativamente, o repositório menciona comandos Bun.)
- Para empacotamento de produção, construa o front-end primeiro (
npm run build) e depois execute o Electron sem o servidor de dev Vite (npm run start). Comandos de distribuição para Windows também são fornecidos (dist:portable,dist:win).
Casos de Uso
- Chat flutuante local para prompts rápidos: use o atalho global (Ctrl+Shift+Space) para abrir a sobreposição e interagir via comandos de chat do app.
- Gerenciamento de sessões de chat: salve, liste, carregue e delete histórico de conversas usando a superfície de comandos de histórico integrada ao app.
- Trabalho com fluxos relacionados a imagens: acione comandos que salvam ou removem imagens e realizam limpeza de imagens órfãs ao usar os recursos de imagem da UI de chat.
- Captura de conteúdo do desktop: use comandos de screenshot para fornecer contexto visual pela mesma superfície de comandos exposta à UI.
- Configuração de proxy de modelo local: configure o app para usar um endpoint OpenAI compatível com LiteLLM na URL base especificada em
.env, ativando o comportamento do provedor de modelo padrão.
FAQ
O projeto suporta macOS?
O repositório observa que “comandos de permissão/onboarding exclusivos do macOS retornam padrões seguros do Windows”, indicando que o build atual é priorizado para Windows e que o comportamento específico do macOS é tratado de forma conservadora para Windows.
Como o app se conecta a um provedor de modelo de IA?
Por padrão, o provedor de modelo é configurado para usar um endpoint OpenAI compatível com LiteLLM. Você define THUKI_PROVIDER, THUKI_API_BASE_URL, THUKI_API_KEY e os modelos suportados via .env.
A busca está implementada?
O repositório afirma que “a busca está stubada para SandboxUnavailable para que a UI existente renderize o card de configuração”, significando que a busca não é totalmente funcional na implementação atual.
O arrastar e mover janelas do desktop é totalmente nativo?
Não. O arrastar para mover “ainda não é totalmente nativo” e “o movimento da janela ainda é uma tarefa pendente”.
Como os builds de produção são empacotados para Windows?
O repositório fornece comandos de build para Windows, incluindo npm run dist:portable para um EXE portátil e npm run dist:win para um instalador Windows. Também menciona regeneração de ícone para miaw.ico a partir de public/miaw-logo.png para manter a identidade visual sincronizada.
Alternativas
- Clientes desktop de “chat flutuante” que integram com servidores LLM locais: tipicamente focam em uma UI sempre disponível similar, mas podem não reutilizar a superfície de comandos existente do Miaw ou chamadas de cliente compatíveis com Tauri.
- Clientes de chat genéricos para APIs compatíveis com OpenAI (locais ou remotas): úteis se você precisar apenas de uma UI de chat padrão e não requerer o conjunto específico de comandos para conversa/histórico, comandos de imagem e screenshots.
- Construção a partir de uma sobreposição baseada em React com Electron: se quiser controle total sobre atalhos, comportamento da bandeja e conectividade de modelo, uma integração personalizada pode ser mais flexível que um app pré-construído focado em Miaw.
- Outras abordagens de wrapper cross-platform Tauri/Electron: se o objetivo principal for preservar uma superfície de comandos e chamadas de front-end existentes, uma estratégia de wrapper diferente pode se adequar melhor às suas plataformas-alvo e necessidades de comportamento de janela.
Alternativas
BookAI.chat
BookAI permite que você converse com seus livros usando IA, simplesmente fornecendo o título e o autor.
Ably Chat
Ably Chat é uma API de chat e SDKs para criar apps de mensagens em tempo real com reações, presença e edição/remoção de mensagens.
Grok AI Assistant
Grok é um assistente de IA gratuito desenvolvido pela xAI, projetado para priorizar a verdade e a objetividade, ao mesmo tempo que oferece capacidades avançadas como acesso a informações em tempo real e geração de imagens.
AakarDev AI
AakarDev AI é uma plataforma poderosa que simplifica o desenvolvimento de aplicações de IA com integração perfeita de banco de dados vetorial, permitindo implantação rápida e escalabilidade.
skills-janitor
skills-janitor audita, rastreia e compara suas skills do Claude Code com nove ações focadas por comandos slash, sem dependências.
Talkpal
Talkpal é um professor de idiomas AI que ajuda os usuários a aprender idiomas mais rapidamente por meio de conversas imersivas e feedback em tempo real.