Un vrai fichier Excel
Le résultat est un classeur .xlsx téléchargeable avec formules, mise en forme, graphiques, tableaux, validations et métadonnées du classeur — pas un tableau collé dans le chat.
zSpreadsheet planifie, construit, stylise, calcule, prévisualise et versionne de véritables classeurs Excel à partir d'une conversation. Le résultat reste visible et modifiable tout au long du travail.

Pourquoi c’est un super agent
Un assistant de feuille de calcul basique peut répondre à une question sur une formule ou retourner un bloc CSV. zSpreadsheet prend en charge le classeur finalisé: sa structure, ses formules, ses données, sa mise en forme, ses calculs, la création de fichiers et l'expérience de sa révision.
L'agent travaille toujours dans des limites visibles. Il ne peut appeler que les outils tableur connectés au runtime, sauvegarde dans l'espace de travail de l'utilisateur et affiche sa progression dans l'interface. L'utilisateur peut inspecter la barre de formule, éditer directement le classeur, télécharger le fichier ou poursuivre la conversation.
C'est ce qui fait du produit une étude de cas ADK-Rust utile. Plusieurs agents, un serveur de capacités MCP, RAG, sessions, événements streamés et stockage d'artefacts sont assemblés autour d'un résultat métier familier : un classeur que quelqu'un peut ouvrir et utiliser.
Le résultat est un classeur .xlsx téléchargeable avec formules, mise en forme, graphiques, tableaux, validations et métadonnées du classeur — pas un tableau collé dans le chat.
Les appels d'outils affluent dans la conversation tandis que les sauvegardes progressives rafraîchissent l'aperçu du classeur. L'utilisateur peut voir l'artefact prendre forme.
L'aperçu inclut une barre de formule et des contrôles directs du classeur. Les utilisateurs peuvent modifier eux-mêmes les cellules ou demander une nouvelle passe à l'agent.
Les téléchargements, le contexte du classeur actif, les sessions d’agent et les versions immuables du classeur restent attachés à l’espace de travail de l’utilisateur.
Suivre un classeur
Chaque étape a une responsabilité claire. Cette séparation permet aux développeurs de modifier le modèle de planification, les outils du classeur, la politique de style ou la couche de stockage sans repenser tout le produit.
Demandez un budget, une prévision, un modèle tarifaire, un suivi, un rapport d'exploitation, ou une modification d'un classeur existant. Les fichiers téléchargés peuvent fournir les données sources.
Le planificateur transforme la demande en feuilles, emplacements exacts de cellules, formules, règles de mise en forme, plages de graphiques et destination de sauvegarde.
Le rédacteur envoie par lots valeurs et formules via le serveur MCP Excel. Les opérations indépendantes peuvent s'exécuter simultanément, réduisant les allers-retours entre modèle et outils.
L'agent de style applique thèmes, formats numériques, bordures, tableaux, graphiques et mise en page. Le moteur du classeur recalcule les formules avant sauvegarde.
Le navigateur affiche le classeur sauvegardé, évalue les formules, supporte les modifications directes et enregistre une nouvelle version sans masquer le fichier .xlsx sous-jacent.
Architecture
Le navigateur est à la fois une interface de conversation et un éditeur de classeur. ADK-Rust coordonne les agents et l'état. MCP offre à ces agents une connexion contrôlée au moteur Excel qui crée l'artefact final.
Ce que ADK-Rust v2 apporte
Ce sont des parties vérifiées source de l'implémentation actuelle. zSpreadsheet ne revendique pas aujourd'hui le support A2A ou AWP.
Le planificateur, le rédacteur et le styliste ont des responsabilités distinctes tout en partageant une même requête et session.
ADK-Rust v2 adapte les schémas d'outils MCP 74 pour Gemini, OpenAI, Anthropic ou DeepSeek au moment de la requête.
L'application utilise la réexportation rmcp 2.2 d'ADK-Rust, maintenant son client et son framework sur une même version de protocole.
Une usine de connexions et une politique de retry bornée peuvent remplacer la connexion du processus enfant lorsque la défaillance du transport est récupérable.
Le rédacteur et le styliste peuvent exécuter ensemble des opérations indépendantes sur le classeur tandis que les travaux dépendants restent ordonnés.
PostgreSQL stocke sessions et événements ; la compaction du contexte maintient la conversation sur tableur utilisable sur le long terme.
ADK-Rust RAG recherche dans le contenu des classeurs et CSV téléchargés avant que la requête n'atteigne le flux de travail de l'agent.
Texte agent, réflexion, appels d'outils, résultats d'outils et événements de complétion deviennent le flux SSE affiché dans l'interface produit.
Le Rust derrière le produit
L'agent racine est un workflow séquentiel, tandis que le Runner attache sessions et compactage. Les outils Excel arrivent via un client MCP reconnectable au lieu d'être codés en dur dans les agents.
Lire l’implémentation complète ↗let pipeline = SequentialAgent::new(
"spreadsheet_builder",
vec![
Arc::new(planner),
Arc::new(writer),
Arc::new(styler),
],
);
let runner = Runner::builder()
.app_name("excel_agent")
.agent(Arc::new(pipeline))
.session_service(postgres_sessions)
.compaction_config(compaction)
.build()?;let client = ().serve(
TokioChildProcess::new(Command::new(excel_mcp_server))?
).await?;
let tools = McpToolset::new(client)
.with_connection_factory(factory)
.with_refresh_config(
RefreshConfig::default().with_max_attempts(3)
);Frontière produit actuelle

Essayer le résultat
Commencez par une demande métier, regardez les agents la construire via MCP, inspectez les formules et la mise en forme, puis conservez le fichier Excel résultant.