Vale construir sua versão de Cotypist?
Um app para macOS que sugere conclusões de texto inline enquanto você digita, em quase qualquer app, usando um modelo local.
A ideia é simples: observar o que você digita, prever o resto, mostrar como texto fantasma e aceitar com Tab. A parte da previsão é de fato fácil hoje: um modelo local pequeno ou até uma tabela de n-gramas pessoal sobre a sua própria escrita já leva você a maior parte do caminho. A parte difícil é tudo em volta: ler o campo de texto atual e a posição do cursor pela API de Acessibilidade do macOS, desenhar uma sobreposição que acompanhe um cursor em movimento e não quebrar em apps Electron, no Chrome, em terminais, em campos de senha ou em qualquer coisa que reimplemente a edição de texto. Dá para construir algo que funciona em campos AppKit nativos em umas duas sessões longas e que parece mágico. Fazer funcionar em todo lugar, na latência da digitação, sem engolir teclas e sem vazar para o login do seu banco, é onde o produto de verdade mora.
EN → PTPesquisa traduzida automaticamente do inglês. Prompt original preservado em inglês.
Build a macOS menu bar app called GhostType that shows inline text predictions as I type.
Stack, no alternatives: Swift 5.9+, SwiftUI for the menu bar UI, AppKit for the overlay window, one Xcode project, no external services.
Core loop:
1. Register a CGEventTap for keyDown events so we can observe typing and intercept Tab and Escape.
2. Use the Accessibility API (AXUIElement) to read the focused element's AXValue and AXSelectedTextRange, and AXBoundsForRange to get the caret rect in screen coordinates.
3. Take the last 200 characters before the caret as context and request a completion of up to 6 words.
4. Render the suggestion as dim gray ghost text in a borderless, non-activating NSPanel positioned at the caret rect. Never modify the target app's text until accepted.
5. Tab accepts: insert the suggestion by posting synthetic key events. Escape dismisses. Any other keystroke re-predicts after a 120ms debounce.
Prediction engine: ship two interchangeable providers behind a protocol.
- Provider A, default: an on-device n-gram model built from a folder of my own .txt and .md files at first launch, stored in a SQLite file in Application Support.
- Provider B: a local llama.cpp or MLX server at a URL from .env, called with a strict token limit and a 250ms timeout that is cancelled on the next keystroke.
Safety, non-negotiable:
- Never predict when secure input mode is active, when the focused element role is AXSecureTextField, or when the frontmost app bundle id is in a user-editable deny list.
- No network calls except to the local provider URL. No telemetry, no accounts, no crash reporting.
In scope: native AppKit text fields and text views, a menu bar toggle, a deny list editor, a corpus folder picker.
Out of scope: Electron and browser text fields, terminals, iOS, sync, cloud models, multi-language tuning. Detect unsupported contexts and stay silent rather than guessing.
Deliverables: the Xcode project, a README with the exact Accessibility and Input Monitoring permissions to grant and where to click, .env.example, and a plain description of what fails in Chrome and VS Code and why.O prompt abre preenchido no seu agente. Revise antes de executar. · este prompt foi gerado a partir do plano de construção · melhore com um PR
Como seria construir sua versão?
Um app de barra de menus que observa as teclas pela API de Acessibilidade, pede a um modelo local as próximas palavras e desenha uma sugestão fantasma inline que você aceita com Tab.
O que você vai precisar
- macOS com Xcode e uma toolchain Swift
- Permissões de Acessibilidade e de Monitoramento de Entrada concedidas manualmente
- um modelo local pequeno via llama.cpp ou MLX, ou um corpus pessoal de n-gramas montado a partir dos seus próprios textos
- Apple Silicon fortemente preferível por causa da latência
Porque um preditor de texto que funciona em nove apps e falha no décimo é um preditor de texto que você desliga. O valor aqui é a confiabilidade invisível num sistema operacional inteiro, o que significa lidar em silêncio com todo app que desenha o próprio cursor, com toda esquisitice da API de acessibilidade e com toda versão do macOS que muda as regras. Isso é trabalho de manutenção, não de build, e vale uma pequena taxa de licença para passar adiante.
xCobertura: o seu build vai funcionar em campos de texto nativos e falhar ou se comportar mal em apps Electron, navegadores e terminais
xAcabamento de latência: sugestões que chegam depois de você já ter digitado as palavras são piores que nada
xTrilhos de segurança: pular campos de senha, o modo de entrada segura e apps sensíveis dá trabalho deliberado
xPersonalização que de fato melhora ao longo de meses da sua escrita, em vez de um despejo único de corpus
xDistribuição assinada, notarizada e com atualização automática, e o onboarding de permissões que a faz sobreviver às atualizações do SO
Nada que valha indicar. Por isso o prompt existe.
Quanto custa Cotypist?
- Plano mensal
- US$ 6/mêsUS$ 6/mês
- Por ano
- US$ 72/anoUS$ 72/ano
- No cartão, com IOF de 3,5%
- R$ 31,35/mêsR$ 376/ano
Salvo na Minha lista. Você recebe um aviso aqui no site quando o preço mudar.
Você conclui a compra no site de Cotypist. O Vibe Radar não intermedeia pagamentos.
Vale mais construir ou assinar Cotypist?
Ajuste os números: horas para construir, valor da sua hora, custos para manter no ar e o preço da assinatura.
Em 24 meses, assinar sai mais barato.
Horas iniciais estimadas a partir da análise (vários dias). Não inclui o valor do que você deixa de ter (suporte, integrações, segurança).
Dá para recriar Cotypist?
Em parte. O núcleo de Cotypist dá para construir em um fim de semana com o prompt desta página, mas há lacunas reais: Cobertura: o seu build vai funcionar em campos de texto nativos e falhar ou se comportar mal em apps Electron, navegadores e terminais, Acabamento de latência: sugestões que chegam depois de você já ter digitado as palavras são piores que nada. Leia a lista acima antes de começar.
Quanto custa Cotypist?
Cotypist custa cerca de US$ 6/mês (Plus, checado em 20/10/2026), ou seja, US$ 72 por ano.
O que eu perco ao substituir Cotypist?
Sinceramente: Cobertura: o seu build vai funcionar em campos de texto nativos e falhar ou se comportar mal em apps Electron, navegadores e terminais; Acabamento de latência: sugestões que chegam depois de você já ter digitado as palavras são piores que nada; Trilhos de segurança: pular campos de senha, o modo de entrada segura e apps sensíveis dá trabalho deliberado; Personalização que de fato melhora ao longo de meses da sua escrita, em vez de um despejo único de corpus; Distribuição assinada, notarizada e com atualização automática, e o onboarding de permissões que a faz sobreviver às atualizações do SO. Se algum desses pontos é essencial para você, continue pagando.
Existe uma alternativa aberta para Cotypist?
Não há alternativa open source madura que valha indicar, e é exatamente por isso que o prompt desta página existe.