Was macht cli-anything-libreoffice?
Ein zustandsbehaftetes Befehlszeilenwerkzeug zur Dokumentbearbeitung, das echte ODF-Dateien (ZIP-Archive mit XML) erzeugt. Entwickelt für KI-Agenten und Power-User, die Writer-, Calc- und Impress-Dokumente ohne GUI oder LibreOffice-Installation erstellen und bearbeiten möchten.
Installation
Dieses CLI wird als Teil des Pakets cli-anything-libreoffice installiert:
pip install cli-anything-libreoffice
Voraussetzungen:
- Python 3.10+
- libreoffice muss auf Ihrem System installiert sein
Verwendung
Grundlegende Befehle
# Hilfe anzeigen
cli-anything-libreoffice --help
# Interaktiven REPL-Modus starten
cli-anything-libreoffice
# Ein neues Projekt erstellen
cli-anything-libreoffice project new -o project.json
# Mit JSON-Ausgabe (für Agenten) ausführen
cli-anything-libreoffice --json project info -p project.json
REPL-Modus
Wenn das CLI ohne Unterbefehl aufgerufen wird, startet es eine interaktive REPL-Sitzung:
cli-anything-libreoffice
# Befehle interaktiv mit Tab-Vervollständigung und Verlauf eingeben
Befehlsgruppen
Dokument
Befehle zur Dokumentverwaltung.
| Befehl | Beschreibung |
|---|---|
new | Ein neues Dokument erstellen |
open | Ein Projekt-JSON öffnen oder eine vorhandene Office/ODF-Datei importieren |
import | Eine vorhandene Office/ODF-Datei in ein Projekt-JSON importieren |
import-formats | Unterstützte Importformate auflisten |
save | Das aktuelle Dokument speichern |
info | Dokumentinformationen anzeigen |
profiles | Verfügbare Seitenprofile auflisten |
json | Das rohe Projekt-JSON ausgeben |
Writer
Writer-Befehle (Textverarbeitung).
| Befehl | Beschreibung |
|---|---|
add-paragraph | Einen Absatz zum Dokument hinzufügen |
add-heading | Eine Überschrift zum Dokument hinzufügen |
add-list | Eine Liste zum Dokument hinzufügen |
add-table | Eine Tabelle zum Dokument hinzufügen |
add-page-break | Einen Seitenumbruch einfügen |
remove | Ein Inhaltselement anhand des Index entfernen |
list | Alle Inhaltselemente auflisten |
set-text | Den Text eines Inhaltselements festlegen |
Calc
Calc-Befehle (Tabellenkalkulation).
| Befehl | Beschreibung |
|---|---|
add-sheet | Ein neues Blatt hinzufügen |
remove-sheet | Ein Blatt anhand des Index entfernen |
rename-sheet | Ein Blatt umbenennen |
set-cell | Einen Zellenwert setzen |
get-cell | Einen Zellenwert abrufen |
list-sheets | Alle Blätter auflisten |
Impress
Impress-Befehle (Präsentation).
| Befehl | Beschreibung |
|---|---|
add-slide | Eine Folie zur Präsentation hinzufügen |
remove-slide | Eine Folie anhand des Index entfernen |
set-content | Titel und/oder Inhalt einer Folie aktualisieren |
list-slides | Alle Folien auflisten |
add-element | Ein Element zu einer Folie hinzufügen |
Stilgruppe
Befehle zur Stilverwaltung.
| Befehl | Beschreibung |
|---|---|
create | Einen neuen Stil erstellen |
modify | Einen vorhandenen Stil ändern |
list | Alle Stile auflisten |
apply | Einen Stil auf ein Inhaltselement anwenden (nur Writer) |
remove | Einen Stil entfernen |
Exportgruppe
Befehle zum Exportieren/Rendern.
| Befehl | Beschreibung |
|---|---|
presets | Export-Voreinstellungen auflisten |
preset-info | Details zu einer Voreinstellung anzeigen |
render | Das Dokument in eine Datei exportieren |
Sitzung
Befehle zur Sitzungsverwaltung.
| Befehl | Beschreibung |
|---|---|
status | Sitzungsstatus anzeigen |
undo | Den letzten Vorgang rückgängig machen |
redo | Den letzten rückgängig gemachten Vorgang wiederholen |
history | Den Rückgängig-Verlauf anzeigen |
Beispiele
Ein neues Projekt erstellen
Legen Sie eine neue LibreOffice-Projektdatei an.
cli-anything-libreoffice project new -o myproject.json
# Oder mit JSON-Ausgabe für programmatische Nutzung
cli-anything-libreoffice --json project new -o myproject.json
Interaktive REPL-Sitzung
Starten Sie eine interaktive Sitzung mit Undo/Redo-Unterstützung.
cli-anything-libreoffice
# Befehle interaktiv eingeben
# Mit 'help' sehen Sie verfügbare Befehle
# Mit 'undo' und 'redo' navigieren Sie im Verlauf
Projekt exportieren
Exportieren Sie das Projekt in ein endgültiges Ausgabeformat.
cli-anything-libreoffice --project myproject.json export render output.pdf --overwrite
Zustandsverwaltung
Das CLI verwaltet den Sitzungszustand mit:
- Rückgängig/Wiederholen: Bis zu 50 Stufen Verlauf
- Projektpersistenz: Projektzustand als JSON speichern/laden
- Import vorhandener Dateien: ODF/DOCX/XLSX/PPTX und verwandte Formate in bearbeitbares Projekt-JSON konvertieren
- Sitzungsverfolgung: Änderungen und Modifikationen nachverfolgen
Ausgabeformate
Alle Befehle unterstützen zwei Ausgabemodi:
- Menschenlesbar (Standard): Tabellen, Farben, formatierter Text
- Maschinenlesbar (Flag
--json): Strukturiertes JSON für den Einsatz durch Agenten
# Menschliche Ausgabe
cli-anything-libreoffice project info -p project.json
# JSON-Ausgabe für Agenten
cli-anything-libreoffice --json project info -p project.json
Für KI-Agenten
Bei programmatischer Nutzung dieses CLIs:
- Verwenden Sie immer das Flag
--jsonfür maschinenlesbare Ausgabe - Prüfen Sie die Rückgabecodes – 0 für Erfolg, ungleich 0 für Fehler
- Parsen Sie stderr für Fehlermeldungen bei Fehlschlägen
- Verwenden Sie absolute Pfade für alle Dateioperationen
- Importieren Sie vorhandene Office-Dateien zuerst nach JSON mit
document import input.docx -o work.json - Überprüfen Sie die Ausgabedateien nach Exportvorgängen auf ihre Existenz
Weitere Informationen
- Vollständige Dokumentation: Siehe README.md im Paket
- Testabdeckung: Siehe TEST.md im Paket
- Methodik: Siehe HARNESS.md im cli-anything-plugin
Version
1.0.0