Transcript Desktop

Aplicativo desktop de transcrição para Windows e Linux, construído com Tauri + Rust + TypeScript. O objetivo é oferecer ditado/transcrição offline-first com revisão obrigatória em modal antes de inserir texto em outro aplicativo.

Estado atual

Este repositório contém o MVP estrutural:

  • 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;
  • 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

src/                  Frontend TypeScript/CSS
src-tauri/src/
  audio/              Estado de gravação MVP
  transcription/      Contratos, CrispASR sidecar e API compatível com OpenAI
  injection/          Contratos/fallback de inserção
  models/             Catálogo do modelo offline
  settings/           Configuração padrão
  tray.rs             Menu da bandeja do sistema
  ui_commands.rs      Comandos Tauri expostos ao frontend
  app_state.rs        Estado compartilhado mínimo

A regra de design é manter arquivos pequenos, responsabilidades claras e zero overengineering. O app começa com contratos e stubs explícitos para as partes nativas mais arriscadas.

Modelo offline principal

  • Repositório: cstr/parakeet-tdt-0.6b-v3-GGUF
  • Arquivo: parakeet-tdt-0.6b-v3-q8_0.gguf
  • Quantização: Q8_0
  • Tamanho registrado no catálogo: 745121600 bytes
  • Modelo base: NVIDIA Parakeet TDT 0.6B v3
  • Idioma: detecção automática; português incluído no conjunto suportado pelo modelo base.

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.

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.
  • 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

npm install
npm run typecheck
npm run test -- --run
npm run build
cargo test --manifest-path src-tauri/Cargo.toml
npm run tauri:build

CI/CD

Workflows:

  • .github/workflows/ci.yml: valida PRs e pushes em main.
  • .github/workflows/build.yml: gera bundles Windows/Linux em push para main e manualmente.
  • .github/workflows/release.yml: publica GitHub Releases em tags v*.*.*.

A lógica fica em comandos npm/cargo para facilitar migração futura para GitLab CI.

Fontes técnicas usadas

S
Description
Ditado offline para Windows e Linux com Tauri, Rust e Whisper
Readme
497 MiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 66.5%
TypeScript 21.6%
JavaScript 9.1%
CSS 2.5%
HTML 0.3%