À propos du projet

OfficeCLI est un outil en ligne de commande open source à binaire unique permettant de lire, modifier, créer et automatiser des fichiers Word (.docx), Excel (.xlsx) et PowerPoint (.pptx). Il ne nécessite aucune installation d'Office et embarque son propre runtime .NET, ce qui lui permet de fonctionner sur macOS, Linux et Windows, y compris dans des conteneurs sans interface graphique et des environnements CI. Son objectif affiché concerne les agents IA : un fichier de compétences peut être récupéré avec une seule commande curl afin qu'un agent apprenne à installer le binaire et à utiliser ses commandes. Un moteur de rendu HTML intégré convertit les documents en HTML ou en PNG page par page, offrant aux agents multimodaux un moyen d'inspecter le rendu et d'itérer. Une commande `watch` sert un aperçu local à actualisation automatique sur localhost:26315, et le watch Excel prend en charge l'édition des cellules en ligne et le repositionnement des graphiques. Les capacités principales couvrent trois niveaux : des vues de haut niveau (`view` avec les modes text, annotated, outline, stats, issues, html, svg, screenshot), des opérations DOM structurées (`get`, `query`, `set`, `add`, `remove`, `move`, `swap`) et un accès XML brut (`raw`, `raw-set`, `add-part`, `validate`). Les documents peuvent être adressés avec des sélecteurs de chemin tels que `/slide[1]/shape[1]`, et les résultats peuvent être renvoyés sous forme de JSON structuré. Les fonctionnalités propres aux formats incluent pour Word la prise en charge i18n et RTL, les paragraphes, runs, tableaux, styles, zones de texte, en-têtes/pieds de page, images, équations LaTeX, diagrammes mermaid, commentaires, notes de bas de page, filigranes, signets, TOC, graphiques, hyperliens, sections, champs de formulaire, contrôles de contenu, champs, objets OLE et modifications suivies. La prise en charge Excel couvre les cellules, plus de 350 formules auto-évaluées, y compris les tableaux dynamiques, les feuilles, tableaux, tri, mise en forme conditionnelle, graphiques, tableaux croisés dynamiques, segments, plages nommées, validation des données, images, sparklines, commentaires, filtre automatique, formes et import CSV/TSV. La prise en charge PowerPoint couvre les diapositives, formes, images, tableaux, graphiques, animations, transitions, modèles 3D .glb, zoom de diapositive, équations, diagrammes, thèmes, connecteurs, vidéo/audio, groupes, notes, commentaires, SmartArt, objets OLE et espaces réservés. Des moteurs supplémentaires incluent un moteur de formules et de tableaux croisés dynamiques qui écrit des tableaux croisés dynamiques OOXML natifs, une commande de fusion de modèles qui remplit les espaces réservés {{key}} à partir de JSON dans les paragraphes, cellules, formes, en-têtes, pieds de page et titres de graphiques, ainsi qu'un aller-retour dump/batch qui sérialise un document ou un sous-arbre en JSON rejouable. Le mode résident garde un document en mémoire pour des modifications multi-étapes à faible latence, et le mode batch applique plusieurs opérations de manière atomique avec annulation en cas d'échec. Les options d'intégration incluent un serveur MCP intégré enregistrable pour Claude Code, Cursor, VS Code/Copilot et LM Studio, ainsi qu'une installation via script curl, Homebrew, Scoop, npm ou binaires de version directs. Une application de bureau compagne, AionUi, offre la création de documents en langage naturel au-dessus d'OfficeCLI. Le projet est sous licence Apache 2.0.