Faut-il créer votre propre Cotypist ?
Une application macOS qui suggère des complétions directement dans le texte pendant votre saisie, dans presque toutes les applications, à l’aide d’un modèle local.
L’idée est simple : observer ce que vous tapez, prédire la suite, l’afficher en texte fantôme et vous laisser l’accepter avec Tab. La prédiction est désormais vraiment facile : un petit modèle local, voire une table personnelle de n-gram fondée sur vos propres écrits, vous permet de faire l’essentiel du chemin. La difficulté tient à tout ce qui l’entoure : lire le champ de texte actif et la position du curseur via l’API Accessibility de macOS, dessiner une superposition qui suit un curseur mobile et éviter les dysfonctionnements dans les applications Electron, Chrome, les terminaux, les champs de mot de passe ou tout ce qui réimplémente l’édition de texte. En quelques longues sessions, vous pouvez construire quelque chose qui fonctionne dans les champs natifs AppKit et semble magique. Le véritable produit consiste à le faire fonctionner partout, à la vitesse de la frappe, sans avaler de touches ni s’inviter dans votre connexion bancaire.
EN → FRAnalyse traduite automatiquement de l’anglais. Prompt original conservé en anglais.
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.Le prompt s’ouvre prérempli dans votre agent. Relisez-le avant de l’exécuter. · ce prompt est généré à partir du plan de construction · améliorez-le via une PR
Comment créer votre propre version ?
Une application de barre de menus qui observe les frappes via l’API Accessibility, demande les prochains mots à un modèle local et dessine une suggestion fantôme directement dans le texte, que vous acceptez avec Tab.
Ce dont vous aurez besoin
- macOS avec Xcode et une chaîne d’outils Swift
- autorisations Accessibility et Input Monitoring accordées manuellement
- un petit modèle local via llama.cpp ou MLX, ou un corpus personnel de type n-gram constitué à partir de vos propres textes
- Apple Silicon fortement recommandé pour la latence
Parce qu’un prédicteur de texte qui fonctionne dans neuf applications et dysfonctionne dans la dixième est un prédicteur que vous désactivez. La valeur est ici une fiabilité invisible à l’échelle de tout un OS, ce qui implique de gérer discrètement chaque application qui dessine son propre curseur, chaque particularité des API d’accessibilité et chaque version de macOS qui change les règles. C’est un travail de maintenance, pas de construction, et déléguer cela vaut bien une petite licence.
xCouverture : votre version fonctionnera dans les champs de texte natifs et échouera ou se comportera mal dans les applications Electron, les navigateurs et les terminaux
xSoin de la latence : des suggestions qui arrivent après que vous avez déjà tapé les mots sont pires que rien
xGarde-fous : ignorer les champs de mot de passe, le mode de saisie sécurisée et les applications sensibles demande un travail délibéré
xUne personnalisation qui s’améliore réellement au fil des mois de rédaction, plutôt qu’un simple import ponctuel de corpus
xUne distribution signée, notariée et mise à jour automatiquement, ainsi qu’un parcours d’octroi des permissions qui résiste aux mises à jour de l’OS
Rien qui mérite d’être cité. C’est pour cela que le prompt existe.
Combien coûte Cotypist ?
- Facturation mensuelle
- 6 $US/mois6 $US/mois
- Par an
- 72 $US/an72 $US/an
- Avec une carte brésilienne, IOF de 3,5% inclus
- 31,35 R$/mois376 R$/an
Enregistré dans Ma liste. Un avis s’affichera ici si le prix change.
Vous finalisez l’achat sur le site de Cotypist. Vibe Radar ne gère aucun paiement.
Construire ou s’abonner à Cotypist ?
Ajustez les chiffres : heures de développement, taux horaire, coûts d’exploitation et prix de l’abonnement.
Sur 24 mois, l’abonnement coûte moins cher.
Heures estimées d’après l’analyse (plusieurs jours). Ne chiffre pas ce que vous perdez (support, intégrations, sécurité).
Puis-je recréer Cotypist ?
En partie. Le cœur de Cotypist se construit en un week-end avec le prompt de cette page, mais il reste de vraies lacunes : Couverture : votre version fonctionnera dans les champs de texte natifs et échouera ou se comportera mal dans les applications Electron, les navigateurs et les terminaux, Soin de la latence : des suggestions qui arrivent après que vous avez déjà tapé les mots sont pires que rien. Lisez la liste ci-dessus avant de vous lancer.
Combien coûte Cotypist ?
Cotypist coûte environ 6 $US/mois (Plus, vérifié le 20/10/2026), soit 72 $US par an.
Que perd-on en remplaçant Cotypist ?
Honnêtement : Couverture : votre version fonctionnera dans les champs de texte natifs et échouera ou se comportera mal dans les applications Electron, les navigateurs et les terminaux; Soin de la latence : des suggestions qui arrivent après que vous avez déjà tapé les mots sont pires que rien; Garde-fous : ignorer les champs de mot de passe, le mode de saisie sécurisée et les applications sensibles demande un travail délibéré; Une personnalisation qui s’améliore réellement au fil des mois de rédaction, plutôt qu’un simple import ponctuel de corpus; Une distribution signée, notariée et mise à jour automatiquement, ainsi qu’un parcours d’octroi des permissions qui résiste aux mises à jour de l’OS. Si l’un de ces points compte pour vous, continuez à payer.
Existe-t-il une alternative open source à Cotypist ?
Aucune alternative open source mature à recommander, et c’est précisément pour cela que le prompt de cette page existe.