Agent Orchestrator 0.13.0

Orchestration cloud, fournisseurs de chat durables, prise en charge élargie des agents et améliorations du terminal en temps réel, réunies dans une seule version.

Couvre tout ce qui a changé depuis la v0.12.0. Les versions correctives 0.12.1 à 0.12.12 ont apporté l'essentiel des corrections sans avoir leur propre entrée : tout le cycle est donc regroupé ici. Si vous êtes en 0.12.0, voici tout ce que vous avez manqué.

La 0.12.0 peaufinait les fondations : langues, palette, épingles, notifications. La 0.13.0 est le cycle où le produit s'est doté de nouveaux membres. Un plan de contrôle cloud vit désormais dans le dépôt, derrière un feature flag. Le chat a cessé d'être une simple vue pour devenir une surface durable. Le nombre d'agents pris en charge a à peu près doublé. Et les deux pires catégories de pannes restantes (un redémarrage qui emporte le tour en cours, et un gros diff qui fige l'inspecteur) ont toutes deux reçu des corrections structurelles.

Cette version intègre l'orchestration cloud au produit principal, permet aux fournisseurs de chat de survivre aux redémarrages du daemon, élargit la prise en charge des agents et améliore le comportement du terminal en temps réel.

Points forts

AO Cloud est dans le dépôt

Le plan de contrôle privé (un service Go distinct avec un schéma PostgreSQL de 28 tables, la connexion WorkOS, les installations et webhooks de GitHub App, des projets et sessions rattachés à une organisation, des files de messages durables, la relecture d'événements et des reconnexions SSE sûres en cluster) vit désormais dans ce monorepo, relié à une interface Cloud Next.js authentifiée via les nouveaux packages @aoagents/cloud-client et @aoagents/product-ui et un contrat cloud public. La connexion depuis le desktop gagne une authentification WorkOS native. Tout est derrière un feature flag ; rien ne change encore pour les utilisateurs purement locaux. (#4434, #3692, #4722)

Le chat devient une fonctionnalité à part entière, et survit aux redémarrages

La zone de saisie a été repensée autour des valeurs par défaut résolues pour l'agent et le modèle, avec une zone de messages en file d'attente qui prend en charge la modification, l'annulation, le réordonnancement par glisser-déposer et des pièces jointes qui survivent aux redémarrages. Les tours en file d'attente peuvent être promus pour réorienter le tour actif. Les conversations Claude Code permettent de modifier les messages, les tours en échec se relancent sans retaper le prompt, et les appels d'outils s'affichent sous forme de cartes lisibles au lieu de sorties brutes.

En dessous, Codex et les fournisseurs de chat ACP appartiennent désormais à des hôtes détachés authentifiés : fermez l'app desktop, redémarrez le daemon, et le fournisseur est récupéré avec l'instantané de sa conversation, ses approbations en attente et son tour en cours intacts. (#3657, #4649, #4684, #4715, #3838, #3858, #4256, #5027, #4529, #4766)

La liste des agents s'est allongée

De nouveaux harnais et drivers sont arrivés au fil du cycle : Kimchi, Kimi, Pi, OMP, Prime Agent, Muse Code et un driver de chat ACP pour Cursor, avec une sélection de modèle adaptée à chaque adaptateur, des catalogues et une découverte de modèles par fournisseur, --model sur ao spawn avec une portée par session, et une primitive act qui résout les instructions et réessaie les références obsolètes. ao doctor sonde désormais les 26 binaires de harnais enregistrés : « pourquoi cet agent est-il absent ? » se règle en une commande. (#2649, #4193, #4194, #4196, #3736, #3647, #4201, #3386, #4610, #4102, #4244, #5025)

Un terminal en temps réel

Le terminal est désormais un flux duplex avec écho local prédictif, s'appuyant sur des hôtes PTY natifs sur macOS et Linux, des shells Windows au choix, des raccourcis d'édition de début et de fin de ligne sur macOS et des raccourcis pour passer d'un onglet à l'autre. Les rafales de sortie sont régulées par back-pressure au lieu de faire tomber le WebSocket. (#4763, #4768, #4473, #4727, #4517, #5199, #3658, #4552)

Une visionneuse de diff qui suit le rythme

Les visionneuses de diff et de fichiers sont virtualisées (seules les lignes à l'écran sont rendues) : un diff de 5 000 lignes défile au lieu de se figer. À leurs côtés : un explorateur de toute l'arborescence à côté de la vue des fichiers modifiés, un rendu Markdown façon GitHub, les blocs mermaid dessinés en diagrammes, des aperçus avant/après pour les fichiers image, et des aperçus de fichiers dont on peut sélectionner le texte et que l'on peut fermer. (#5175, #4252, #4251, #4892, #4173, #5012)

Les revues, de bout en bout

Les volets de relecteur interactifs fonctionnent avec tous les harnais d'agents, les passes de revue peuvent démarrer automatiquement pour les pull requests, et le projet peut porter sa propre configuration de revue automatique. L'inspecteur Revues a été fusionné en une seule liste, paginée pour les commentaires non résolus, les revues externes prennent en charge les commentaires en ligne, les cartes de préparation des PR ont été repensées et l'entonnoir de revue est instrumenté de bout en bout. (#3384, #3338, #4128, #3664, #4032, #4131, #4055, #4255)

Le mobile est livré

AO Mobile est disponible sur les deux stores, avec un parcours TestFlight, des mises à jour over-the-air via EAS, l'association Connect Mobile via Tailscale y compris sur iOS, une liste des appareils pour voir, mettre en sourdine et retirer les téléphones associés, des analytics PostHog et une capture d'erreurs prête pour Sentry. (#4761, #3689, #4474, #3707, #3674, #3661, #4181)

Un changement d'agent fiable

Basculer une session entre TUI et Chat est devenu durable, réactif et conscient de la phase en cours, avec une observabilité limitée aux échecs qui indique exactement où un changement échoue. Les interfaces sans Chat masquent la bascule au lieu de la proposer. (#3548, #3770, #4598, #3966)

Le desktop fait peau neuve

Une page d'accueil recentrée, un rail d'onglets vertical à la place du menu déroulant des onglets, les thèmes Nord, Gruvbox et Solarized, le réordonnancement des projets et des sessions par glisser-déposer, le renommage des sessions depuis les surfaces de navigation, et des icônes d'app dérivées de la mascotte Ruto sur toutes les plateformes. (#4549, #4781, #3668, #3585, #4274, #4874, #5079, #5238)

Un navigateur vraiment utilisable par les agents

Les profils de navigateur par session conservent les cookies et l'historique d'une session à l'autre, les agents peuvent prendre des captures d'écran et enregistrer des téléchargements depuis la page, et l'annotation permet de sélectionner plusieurs éléments avec des raccourcis contextuels. (#4135, #4994, #3549, #4643)

GitLab rejoint GitHub

Une intégration SCM GitLab est arrivée derrière un répartiteur multi-fournisseurs, avec une cohérence des réponses et du cache gérée par fournisseur. (#2773, #5148)

Un onboarding sans impasses

Import depuis une URL Git, parcours complet d'import de projet avec API de validation et chargement optimiste, création d'un dépôt GitHub pendant l'import, glisser-déposer de dossiers, signalement des projets dont le dossier local a disparu, permissions par défaut mémorisées, et une vérification au démarrage des vrais prérequis système (git, tmux, harnais, gh) avec installation en un clic. (#4104, #4872, #4760, #5127, #5092, #4065, #4894, #4956, #3825)

Autres nouveautés

  • Ouverture dans un éditeur : prise en charge multiplateforme de Neovim à côté des éditeurs graphiques, et un bouton Open-in-editor à côté de Kill (#4723, #3284)
  • Son d'attention : un bip quand un agent attend une saisie ou qu'une PR est prête, et l'icône du Dock macOS rebondit lors des notifications (#4051, #4115)
  • Configuration des harnais dans les paramètres : paramètres d'installation et actions de connexion aux harnais au même endroit (#4221, #4523)
  • Usage et coût : consommation de tokens par session pilotée par les événements, observabilité de l'usage de Kimi, coûts estimés (#2928, #4311, #4168)
  • Mises à jour : les téléchargements depuis la barre latérale deviennent une installation suivie en direct, avec un installateur de réparation macOS pour les machines où un build préparé a été rejeté (#5047, #5002, #4981)
  • Tableau : le tableau de toutes les sessions est de retour, les sessions terminées affichent l'avancement de leur PR, et les PR fermées sans fusion apparaissent en rouge (#5249, #4916, #5165)
  • Connectivité : le client mobile teste en parallèle chaque endpoint annoncé pour se connecter depuis n'importe quel réseau (#4615)

Fiabilité

Les 409 corrections relevaient surtout du travail de fond, mais quelques groupes méritent d'être mis en avant.

Les messages en file d'attente sont devenus durables. Les modifications sont conservées avec des accusés de livraison atomiques, les modifications en ligne se rétablissent à la reconnexion grâce à des accusés de branche durables, les pièces jointes survivent aux modifications et aux redémarrages, et un tour en échec retient la file d'attente au lieu de la vider dans la même erreur. (#5109, #5110, #5006, #5107, #5188, #5106, #5274)

Les terminaux ne meurent plus au mauvais moment. Sortie PTY régulée par back-pressure, plus de renderer de shell qui fuit à la fermeture de la fenêtre, shells utilisateur conservés d'une relance à l'autre, et focus restauré après le plein écran et le redémarrage. (#4552, #5150, #5040, #4988)

La restauration vérifie avant de restaurer. --resume vérifie la session persistée avant de s'y rattacher, les sessions peuvent basculer en terminal tant qu'elles n'ont pas de vrai travail, et OpenCode conserve sa sélection du Plan Mode. (#5214, #5053, #5015)

Des corrections plus modestes qui comptaient : la rétention du journal des changements est bornée pour que la table CDC cesse de grossir indéfiniment, les horodatages des builds nightly sont interprétés en UTC, les identifiants d'approbation ACP encodés en pourcentage sont décodés au lieu d'échouer, la route resolve-comments valide son numéro de PR, et le tableau se réaffiche sur les événements de changement plutôt qu'à chaque sondage. (#5103, #5115, #5193, #5239, #4854)

Remarque : la commande explore du chat (#4262) a été livrée puis retirée (#4289) pendant cette période ; elle demande encore du travail avant d'être prête. La réorganisation des paramètres et de l'association mobile (#4315) a été brièvement retirée puis réintégrée sous la forme de #4322.

Sous le capot

La capture Sentry, avec piles d'appels Go et classification pour le tri, est arrivée sur le daemon, le renderer et le mobile, branchée via des DSN de build. Chaque surface applique une étiquette client uniforme à sa télémétrie. Le daemon signale les erreurs 5xx et les paniques avec leurs piles d'appels. Côté site : le site public a migré vers useao.dev, le formulaire de signalement de bug a été raccourci et les avatars des relecteurs passent par un seul chemin de rendu. (#4346, #4180, #4181, #4394, #3663, #5133, #5153, #4764)

Mise à niveau

GitHub Releases et Homebrew sont les modes d'installation pris en charge. Les installations existantes se mettent à jour sur place. Aucune migration de ce cycle n'est destructive et aucune modification de configuration n'est nécessaire. Le Cloud reste derrière un feature flag : les configurations purement locales n'y voient encore rien de nouveau.

Liste complète des changements : https://github.com/OrchestratorInc/agent-orchestrator/compare/v0.12.0...v0.13.0