| |

Aside : piloter OpenCode a la voix depuis la barre de menus macOS

https://github.com/ericclemmons/aside

📌 Aside transforme le declenchement d’actions dans un agent de code en routine vocale tres rapide: une touche, une phrase, et le prompt part vers OpenCode avec le contexte de la fenetre active. L’application tourne en barre de menus sur macOS, sans interface lourde, et met l’accent sur la vitesse d’execution, la capture de contexte utile et la transcription locale pour limiter les fuites de donnees.

Le principe est simple mais tres efficace au quotidien: au lieu d’alterner entre clavier, navigateur, terminal et copilote, Aside capture directement ce qui est deja visible dans la session en cours. Cela inclut le texte selectionne, l’URL active dans le navigateur et le contexte de la fenetre en avant-plan, puis assemble ces elements avec la dictée avant de les envoyer a OpenCode CLI. Ce flux reduit les interruptions quand il faut expliquer une erreur, demander un refactoring, generer un test ou deleguer une tache repetitive.-

L’outil propose deux modes qui couvrent des usages differents. Le mode hold-to-type remplace la saisie classique: on maintient la touche Option droite, on dicte, puis le texte est insere dans le champ actif. Le mode tap-to-dispatch est plus orienté orchestration: un appui pour demarrer l’enregistrement, un appui pour terminer, choix de la session cible, puis envoi direct a OpenCode. Cette separation est pratique car elle evite d’utiliser un seul mode pour tous les scenarios, ce qui est souvent la limite des utilitaires vocaux trop generalistes.

Cote mise en place, l’installation est directe via Homebrew avec un seul package. Ensuite, un assistant de configuration permet de verifier les permissions systeme indispensables: accessibilite, microphone et reconnaissance vocale. Ce point est important sur macOS, car les apps lancees hors bundle peuvent mal gerer les autorisations TCC. Aside est justement pense pour etre lance comme application macOS complete, ce qui stabilise le comportement des permissions et evite les pannes intermittentes de capture ou d’ecoute.

Pour la transcription, Aside n’impose pas un seul moteur. L’app peut utiliser Apple Speech, WhisperKit ou Parakeet, avec une execution sur l’appareil. Ce choix donne une flexibilite utile selon la machine, la qualite attendue et la langue de dictée. Sur un Mac recent, cela permet d’obtenir une latence faible sans envoyer systematiquement la voix vers un service externe. En pratique, cela ameliore a la fois le confort de frappe et le niveau de controle sur les donnees vocales.

points cles

  • 🎙️ Interaction ultra-courte: un raccourci clavier suffit pour dicter et envoyer un prompt contextualise vers OpenCode.
  • 🧠 Contexte injecte automatiquement: fenetre active, URL et texte selectionne sont inclus sans copier-coller manuel.
  • 🔒 Transcription locale: Apple Speech, WhisperKit ou Parakeet selon le besoin, avec un traitement sur machine.
  • ⚡ Deux modes complementaires: dictée dans le champ actif ou dispatch direct vers une session CLI.
  • 🧩 Integration agent: un skill CLI peut etre ajoute pour declencher Aside depuis des assistants de code compatibles.

Sur la partie architecture, le projet suit une logique claire: une machine d’etat, des effets separes et une application SwiftUI menu bar sans icone Dock. Cette approche est pertinente pour un outil d’interaction continue, car elle facilite le debuggage des transitions entre idle, recording, finishing et dispatching. Pour l’utilisateur final, cela se traduit par un comportement plus previsible quand il enchaine des commandes vocales, notamment sur des sessions longues avec plusieurs allers-retours entre IDE, navigateur et terminal.

Aside n’est pas reserve a un seul profil. Pour un usage individuel, il accelere les micro-actions: decrire un bug vu dans une page, demander une correction de syntaxe, reformuler une consigne, preparer un commit message ou relancer une generation de tests. Pour un usage plus technique, il sert aussi de couche d’orchestration quand OpenCode est deja au centre du workflow, en supprimant une partie de la friction de saisie et de navigation. La valeur n’est pas seulement la voix, mais la combinaison voix + contexte + envoi cible.

Concernant la confidentialite, le point cle est la distinction entre transcription et execution agent. Aside peut transcrire localement, mais le prompt final est ensuite expedie vers OpenCode, qui suit ses propres regles de traitement selon la configuration. En clair, Aside limite l’exposition de la voix brute lorsqu’un moteur local est choisi, tout en laissant l’utilisateur maitriser la chaine complete cote agent. Cette separation est utile pour ajuster le compromis entre rapidite, qualite de reconnaissance et contraintes de securite.

Cote compatibilite, le projet vise macOS 14+ avec toolchain Xcode/Swift pour le developpement, et s’installe simplement pour l’usage courant via Homebrew. Les releases sont automatisees, avec build, signature, notarisation et mise a jour du tap Homebrew, ce qui reduit la maintenance manuelle et rend le cycle de livraison plus fiable. Pour demarrer concretement, la sequence est courte: installer Aside, valider les permissions, verifier OpenCode CLI, puis tester les deux modes sur une tache reelle de code.

Au final, Aside se distingue par une promesse tres operationnelle: reduire le temps entre intention et action dans un flux de developpement assiste par agent. L’app ne cherche pas a remplacer un IDE ni un assistant complet, elle optimise le point de contact le plus frequent, la formulation de demandes contextualisees. Pour un environnement macOS centré terminal et CLI, c’est un levier direct pour gagner en cadence sans alourdir le setup.

Publications similaires

Laisser un commentaire