feat: wire model download UI and native docs
This commit is contained in:
1 parent
0c39063150
commit
8f754b3f00
8 files changed
+218
-152
No files matched your search
@@ -4,26 +4,28 @@ Aplicativo desktop de transcrição para Windows e Linux, construído com Tauri
|
||||
|
||||
## Estado atual
|
||||
|
||||
Este repositório contém o MVP estrutural:
|
||||
Este repositório contém um MVP nativo funcional:
|
||||
|
||||
- app Tauri 2 funcional;
|
||||
- modal editável em TypeScript sem framework pesado;
|
||||
- backend Rust modular;
|
||||
- catálogo do modelo `cstr/parakeet-tdt-0.6b-v3-GGUF` em Q8;
|
||||
- contratos para CrispASR sidecar, API OpenAI-compatible, gravação e inserção de texto;
|
||||
- catálogo e download do modelo `cstr/parakeet-tdt-0.6b-v3-GGUF` em Q8;
|
||||
- captura real de microfone em WAV via CPAL;
|
||||
- execução do sidecar CrispASR/Parakeet;
|
||||
- hotkey global `Ctrl+Shift+Space`;
|
||||
- inserção híbrida por clipboard + paste automático no Windows/X11 quando disponível;
|
||||
- fallback manual no Wayland;
|
||||
- tray/system tray básico;
|
||||
- CI, build e release via GitHub Actions.
|
||||
|
||||
Ainda não implementa captura real de áudio, hotkey global, download real do modelo ou injeção nativa em outros aplicativos. Essas integrações já têm módulos dedicados para implementação incremental.
|
||||
|
||||
## Arquitetura
|
||||
|
||||
```text
|
||||
src/ Frontend TypeScript/CSS
|
||||
src-tauri/src/
|
||||
audio/ Estado de gravação MVP
|
||||
audio/ Captura de microfone e gravação WAV
|
||||
transcription/ Contratos, CrispASR sidecar e API compatível com OpenAI
|
||||
injection/ Contratos/fallback de inserção
|
||||
injection/ Clipboard, paste automático e fallback manual
|
||||
models/ Catálogo do modelo offline
|
||||
settings/ Configuração padrão
|
||||
tray.rs Menu da bandeja do sistema
|
||||
@@ -44,10 +46,22 @@ A regra de design é manter arquivos pequenos, responsabilidades claras e zero o
|
||||
|
||||
O modelo não deve ser embutido no instalador principal. A estratégia recomendada é instalar o app leve e baixar o GGUF pelo gerenciador de modelos.
|
||||
|
||||
## Sidecar CrispASR
|
||||
|
||||
O app chama por padrão o binário `parakeet-main` com:
|
||||
|
||||
```bash
|
||||
parakeet-main -m <modelo.gguf> -f <audio.wav> -t <threads>
|
||||
```
|
||||
|
||||
Para o modelo v3, o projeto CrispASR recomenda compilar o target `parakeet-main` no branch `parakeet`. O app limita automaticamente o número de threads a no máximo 4 para manter compatibilidade com PCs simples.
|
||||
|
||||
Enquanto o binário não estiver no `PATH` ou empacotado como sidecar, a transcrição local retorna erro claro após a gravação.
|
||||
|
||||
## Compatibilidade Windows/Linux
|
||||
|
||||
- Windows: alvo principal para inserção automática futura via APIs Win32.
|
||||
- Linux X11: alvo de automação completa quando possível.
|
||||
- Windows: clipboard + tentativa de `Ctrl+V` via `SendKeys`.
|
||||
- Linux X11: clipboard + tentativa de `Ctrl+V` via `xdotool` quando instalado.
|
||||
- Linux Wayland: suporte parcial por limitação de segurança dos compositors. O fallback seguro é copiar o texto e orientar o usuário a colar manualmente.
|
||||
|
||||
## Comandos locais
|
||||
|
||||
Reference in new issue
Block a user