CLI-Anything nutzen: Software Agent-nativ machen

Herve Kom

Herve Kom

17 March 2026

CLI-Anything nutzen: Software Agent-nativ machen

CLI-Anything

CLI-Anything ist ein Open-Source-Plugin für KI-Codierungsagenten (hauptsächlich Claude Code), das eine vollständige Befehlszeilenschnittstelle für jede Software mit einer Codebasis generiert. Richten Sie es auf GIMP, Blender, LibreOffice oder jede andere Anwendung, und es analysiert den Quellcode und erstellt eine strukturierte CLI, die Ihr KI-Agent verwenden kann, um diese Software programmatisch zu steuern.

Das Problem: KI-Agenten können GUI-Software nicht verwenden

Die heutige Softwarelandschaft ist in zwei Welten aufgeteilt, die kaum miteinander kommunizieren.

Auf der einen Seite gibt es moderne API-First-Dienste: Cloud-Speicher, Zahlungsabwickler, E-Mail-Anbieter, Analyseplattformen. Diese sprechen HTTP. Ein KI-Agent kann sie ohne spezielle Tools direkt aufrufen.

Auf der anderen Seite gibt es die Software, von der die meisten professionellen Arbeitsabläufe abhängen: GIMP für die Bildbearbeitung, Blender für 3D-Arbeiten, LibreOffice für Dokumente, Audacity für Audio. Diese wurden für Menschen zum Durchklicken entwickelt. Sie bieten grafische Oberflächen, keine strukturierten APIs.

Wenn Sie versuchen, einen KI-Agenten mit dieser zweiten Kategorie von Software zu verbinden, sind die Optionen begrenzt. Sie können benutzerdefinierte Wrapper von Hand schreiben, was Wochen dauert und bei Software-Updates kaputtgeht. Sie können Tools für die Robotic Process Automation (RPA) verwenden, die GUI-Interaktionen über Screenshots und Pixel-Klicks automatisieren. Aber RPA ist fragil. Es bricht, wenn sich Fensterlayouts ändern, wenn Themes aktualisiert werden, wenn sich die Anzeigeskalierung verschiebt.

CLI-Anything verfolgt einen anderen Ansatz: Anstatt einen Menschen zu simulieren, der sich durch Menüs klickt, analysiert es den Quellcode der Software, um die zugrunde liegenden APIs zu finden, die die GUI bereits aufruft. Dann generiert es eine echte CLI, die diese APIs direkt aufruft.

Ihr KI-Agent muss den Bildschirm nicht „sehen“. Er gibt strukturierte Befehle aus. Die Software erledigt die Arbeit.

💡
Wenn Ihre Agenten-Workflows neben lokaler Software auch externe REST-APIs aufrufen müssen, übernimmt Apidog die API-Testseite. Es ist ein kostenloses Tool zum Senden, Überprüfen und Organisieren von API-Anfragen, sodass Sie API-Integrationen überprüfen können, bevor Sie sie in Ihre Agenten-Workflows integrieren.
Button

Was CLI-Anything leistet

CLI-Anything ist ein Open-Source-Plugin, das von HKUDS (Hong Kong University Data Science Lab) entwickelt wurde. Der Entwickler, Chao Huang, formulierte es in der Projektankündigung so:

"Die heutige Software dient den Menschen. Die Benutzer von morgen werden Agenten sein. CLI-Anything: Überbrückung der Kluft zwischen KI-Agenten und der weltweiten Software. Eine einzige Befehlszeile, um jede Software agentenfertig zu machen."

Zum Zeitpunkt des Schreibens hat das Projekt über 6.100 Sterne auf GitHub.

Das Plugin funktioniert innerhalb von Claude Code (und experimentell in Codex und OpenCode). Sie richten es auf die Codebasis einer Software, und es führt eine 7-Phasen-Automatisierungspipeline aus:

  1. Analysieren - Scannt den Quellcode, ordnet GUI-Aktionen den zugrunde liegenden APIs zu und erstellt ein softwarespezifisches Standardarbeitsanweisungsdokument
  2. Design - Entwirft Befehlsgruppen, Zustandsmodelle und Ausgabeformate
  3. Implementieren - Erstellt eine Click-basierte Python-CLI mit REPL-Modus, Unterstützung für --json-Ausgabe und Rückgängig/Wiederherstellen
  4. Tests planen - Erstellt eine TEST.md-Datei mit Unit- und End-to-End-Testplänen
  5. Tests schreiben - Schreibt test_core.py (Unit-Tests mit synthetischen Daten) und test_full_e2e.py (End-to-End-Tests mit realen Dateien)
  6. Dokumentieren - Führt pytest aus und hängt vollständige Ergebnisse an TEST.md an
  7. Veröffentlichen - Erstellt setup.py, konfiguriert Konsolenskript-Einstiegspunkte, installiert in PATH

Am Ende von Phase 7 haben Sie eine funktionierende CLI auf Ihrem System installiert. Ihr KI-Agent kann sie mit which cli-anything-gimp entdecken, mit cli-anything-gimp --help inspizieren und Befehle ausgeben.

Alle generierten CLIs folgen einem konsistenten Design: standardmäßig menschenlesbare Tabellenausgabe, maschinenlesbare JSON-Ausgabe mit dem --json-Flag, persistenter Projektzustand, Rückgängig/Wiederherstellen und ein interaktiver REPL-Modus. Diese Konsistenz ist wichtig: Ihr Agent muss für jedes Tool keine andere Schnittstelle lernen.

CLI-Anything installieren

CLI-Anything ist ein Python-basiertes Plugin. Es ist kein npm-Paket. Sie installieren es in Ihren KI-Codierungsagenten, und die generierten CLIs sind Python-Pakete, die mit pip install -e . installiert werden.

Anforderungen:

Claude Code (primäre Methode)

/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything

Dies installiert das Plugin und macht die /cli-anything-Slash-Befehle in Ihrer Claude Code-Sitzung verfügbar.

OpenCode

Klonen Sie das Repository und kopieren Sie dann die Befehlsdateien und HARNESS.md nach ~/.config/opencode/commands/. Dies fügt fünf Slash-Befehle hinzu: /cli-anything, /cli-anything-refine, /cli-anything-test, /cli-anything-validate und /cli-anything-list.

Codex

bash CLI-Anything/codex-skill/scripts/install.sh

Qodercli

bash CLI-Anything/qoder-plugin/setup-qodercli.sh

Hinweis für Windows

Das Plugin erfordert Git für Windows (das bash und cygpath enthält) oder WSL. Die native Windows-Shell wird nicht unterstützt. Wenn Sie cygpath: command not found sehen, installieren Sie Git für Windows und versuchen Sie es erneut.

Installation der generierten CLI

Nachdem das Plugin eine CLI für Ihre Software generiert hat, installieren Sie sie in Ihren PATH:

cd <software>/agent-harness
pip install -e .

Dies verwendet den bearbeitbaren Installationsmodus (-e), was bedeutet, dass Ihre Änderungen am generierten Quellcode ohne Neuinstallation erhalten bleiben.

Ihre erste CLI generieren

Sobald das Plugin installiert ist, erfolgt die Generierung mit einem einzigen Befehl. Hier ist der Workflow für GIMP:

In Claude Code:

/cli-anything ./gimp

Oder von einem GitHub-Repository:

/cli-anything https://github.com/blender/blender

Das Plugin startet die 7-Phasen-Pipeline. Dies dauert einige Minuten, abhängig von der Größe der Codebasis und wie viele API-Schnittstellen die Software freilegt.

Während Phase 1 (Analyse) liest das Plugin den Quellcode durch und erstellt eine Zuordnung von GUI-Aktionen zu ihren zugrunde liegenden API-Aufrufen. Für einen Bildeditor wie GIMP bedeutet dies, alle Funktionen zu finden, die Ebenen erstellen, Filter anwenden, Dateien exportieren und Projekte verwalten. Es erstellt ein softwarespezifisches SOP-Dokument (GIMP.md), das den vollständigen Satz von Operationen beschreibt.

Während Phase 3 (Implementierung) erstellt es die CLI mithilfe von Pythons Click-Framework. Jeder Befehl unterstützt die --json-Ausgabe. Jede zustandsbehaftete Operation (Datei öffnen, Projekt erstellen) speichert den Zustand in einer JSON-Datei. Die CLI enthält eine interaktive REPL mit farbigen Prompts und persistentem Verlauf.

Die generierte Verzeichnisstruktur sieht wie folgt aus:

gimp/
  agent-harness/
    GIMP.md           # Software SOP document
    setup.py
    cli_anything/     # Namespace package (no __init__.py - PEP 420)
      gimp/
        README.md
        gimp_cli.py   # Main CLI entry point
        core/         # Project, session, export modules
        utils/        # REPL skin, helpers
        tests/
          test_core.py
          test_full_e2e.py
          TEST.md

Alle generierten CLIs befinden sich unter dem cli_anything.*-Namensraum (z. B. cli_anything.gimp). Dies verhindert Namenskonflikte, wenn Sie CLIs für mehrere Anwendungen generieren.

Die generierte CLI verwenden

Nachdem Sie pip install -e . im Verzeichnis agent-harness ausgeführt haben, steht Ihnen eine neue CLI zur Verfügung:

cli-anything-gimp --help

Dies zeigt alle verfügbaren Befehlsgruppen und ihre Unterbefehle an. Die Namensgebung ist konsistent: Jedes Tool generiert eine CLI mit dem Namen cli-anything-<software>.

Menschenlesbare Ausgabe (Standard)

# Neues Projekt starten
cli-anything-gimp project new --width 1920 --height 1080

# Ebenen auflisten
cli-anything-gimp layer list

# Ebene hinzufügen
cli-anything-gimp layer add --name "Background" --type solid --color "#ffffff"

# Filter anwenden
cli-anything-gimp filter apply --name "gaussian-blur" --radius 3

# Exportieren
cli-anything-gimp export save --format png --output ./output.png

JSON-Ausgabe für KI-Agenten

Wenn Ihr KI-Agent die CLI aufruft, verwendet er --json, um maschinenlesbare Ausgabe zu erhalten:

cli-anything-gimp --json project new --width 1920 --height 1080
# Rückgabe: {"status": "ok", "project_id": "proj_abc123", "width": 1920, "height": 1080}

cli-anything-gimp --json layer add -n "Background"
# Rückgabe: {"status": "ok", "layer_id": "layer_001", "name": "Background"}

Die JSON-Ausgabe ist über alle Befehle hinweg konsistent: status, operationsspezifische Felder und Fehlerdetails, wenn etwas schiefgeht.

Interaktiver REPL-Modus

Für längere Sitzungen starten Sie die REPL:

cli-anything-gimp

Dies führt Sie in eine interaktive Shell mit farbigen Eingabeaufforderungen, Tab-Vervollständigung und persistentem Verlauf. Nützlich, wenn Sie einen Workflow erstellen und Befehle interaktiv ausprobieren möchten, bevor Sie sie skripten.

Rückgängig/Wiederherstellen

Operationen, die den Zustand ändern, unterstützen einen 50-stufigen Undo-Stack:

cli-anything-gimp undo
cli-anything-gimp redo

Ihre CLI verfeinern und testen

Generierte CLIs sind nicht immer beim ersten Durchlauf vollständig. Der Befehl /cli-anything:refine führt eine Lückenanalyse durch und fügt fehlende Befehle hinzu.

Allgemeine Verfeinerung

/cli-anything:refine /home/user/gimp

Dies scannt die vorhandene CLI anhand der API-Oberfläche der Software, identifiziert nicht abgedeckte Operationen und fügt neue Befehle für die Lücken hinzu.

Fokussierte Verfeinerung

/cli-anything:refine /home/user/blender "particle systems and physics simulation"

Wenn Sie wissen, welcher Bereich mehr Abdeckung benötigt, übergeben Sie eine Fokusbeschreibung. Das Plugin zielt auf diesen Teil der Codebasis ab, anstatt alles neu zu analysieren.

Tests ausführen

/cli-anything:test /home/user/gimp

Dies führt die Testsuiten aus und aktualisiert TEST.md mit den Ergebnissen. Das Projekt meldet über 1.508 bestandene Tests in 11 Anwendungen mit einer Erfolgsquote von 100 %.

Validierung

/cli-anything:validate /home/user/gimp

Überprüft das CLI-Harness anhand der HARNESS.md-Spezifikation, um zu bestätigen, dass es alle strukturellen Anforderungen erfüllt.

Verfügbare CLIs auflisten

/cli-anything:list
/cli-anything:list --json        # Maschinenlesbare Ausgabe
/cli-anything:list --path /home  # In einem bestimmten Verzeichnis suchen

Anwendungsfälle in der Praxis

CLI-Anything wurde an 11 Anwendungen demonstriert. Hier ist, wie jede Kategorie realen Workflows zugeordnet wird.

Bildverarbeitungspipelines mit GIMP

Ein KI-Agent kann eine Reihe von Produktbildern verarbeiten: auf Standardabmessungen skalieren, ein konsistentes Wasserzeichen anwenden, in mehreren Formaten exportieren. Jeder Schritt ist ein strukturierter CLI-Befehl. Der Agent kann Hunderte von Bildern ohne menschliche Interaktion bearbeiten.

cli-anything-gimp project open --file product.jpg
cli-anything-gimp layer add --name "Watermark" --type image --source watermark.png
cli-anything-gimp layer position --name "Watermark" --x 10 --y 10
cli-anything-gimp export save --format webp --output product-final.webp

Dokumentengenerierung mit LibreOffice

LibreOffice generiert echte PDFs. Ein Agent kann Rechnungen, Berichte oder Verträge aus Vorlagen erstellen, dynamische Daten einfügen und in PDF exportieren, alles über ein Skript.

cli-anything-libreoffice document open --template invoice-template.ods
cli-anything-libreoffice cell set --address "B5" --value "Acme Corp"
cli-anything-libreoffice cell set --address "C10" --value "1500.00"
cli-anything-libreoffice export pdf --output invoice-2026-001.pdf

3D-Rendering mit Blender

Blender-Renderings dauern Zeit, sind aber skriptfähig. Ein Agent kann Render-Jobs in die Warteschlange stellen, Szenenparameter konfigurieren und die Ausgabe ohne GUI verwalten:

cli-anything-blender scene open --file product-scene.blend
cli-anything-blender render set --samples 256 --output /renders/product
cli-anything-blender render start --format png

Streaming-Automatisierung mit OBS Studio

OBS ist ein Broadcast-Tool. Mit CLI-Anything können Sie Szenenübergänge, Quellenverwaltung und Aufnahmesteuerungen skripten:

cli-anything-obs scene set --name "Main Camera"
cli-anything-obs recording start
cli-anything-obs scene set --name "Screen Share"
cli-anything-obs recording stop --output session.mp4

CI/CD-Integration

Jedes dieser Beispiele kann in eine CI/CD-Pipeline integriert werden. Eine GitHub-Action, die bei jedem Commit ein Blender-Rendering erstellt, oder ein Workflow, der PDF-Release-Notes aus einer LibreOffice-Vorlage generiert, werden beide unkompliziert.

Agenten-Workflows mit Apidog erstellen

CLI-Anything verarbeitet lokale Software. Aber die meisten Agenten-Workflows in der Produktion müssen auch externe APIs aufrufen: das verarbeitete Bild auf ein CDN hochladen, das generierte PDF an ein Dokumentenmanagementsystem senden, das gerenderte Video an eine Überprüfungsplattform senden.

Apidog übernimmt diese Seite. Es ist ein kostenloser API-Client zum Testen, Dokumentieren und Automatisieren von REST-API-Aufrufen.

Hier ist ein konkretes Beispiel: Sie erstellen einen Agenten, der Produktbilder mit GIMP verarbeitet und sie in eine Cloud-Speicher-API hochlädt. CLI-Anything stellt Ihnen die GIMP-Befehle zur Verfügung. Mit Apidog können Sie die Speicher-API testen, bevor Sie Anwendungscode schreiben.

In Apidog würden Sie:

  1. Eine Umgebung mit Ihren API-Zugangsdaten als Variablen einrichten
  2. Den Upload-Endpunkt mit einer Beispieldatei testen, um das Anforderungsformat zu bestätigen
  3. Assertionen auf die Antwort ausführen, um zu überprüfen, ob die Datei-URL korrekt zurückgegeben wird
  4. Die funktionierende Anfrage als Curl-Befehl oder Code-Snippet exportieren, um sie in Ihr Agenten-Skript einzufügen

Dies erspart den Debugging-Zyklus, bei dem Sie Code schreiben, ihn ausführen, eine kryptische Fehlermeldung erhalten und versuchen herauszufinden, ob das Problem in Ihren GIMP-Befehlen oder Ihrem API-Aufruf liegt. Sie wissen, dass die API funktioniert, bevor Sie sie integrieren.

Apidog unterstützt auch automatisierte Testsuiten. Sobald Ihr Workflow funktioniert, können Sie Test-Assertionen hinzufügen, die bei jeder Ausführung ausgeführt werden, um Regressionen abzufangen.

Bekannte Einschränkungen

Windows-Unterstützung erfordert Git Bash oder WSL

Die generierten CLIs sind Python-basiert und verwenden Bash-ähnliche Pfadbehandlung. Unter Windows benötigen Sie Git für Windows (das Bash und cygpath enthält) oder WSL. Die native PowerShell wird nicht unterstützt.

Die Zielsoftware muss installiert sein

CLI-Anything bündelt die Software, die es umhüllt, nicht. GIMP, Blender, LibreOffice und andere Tools müssen auf derselben Maschine installiert sein, auf der Sie die generierte CLI ausführen. Die CLI ruft die tatsächlichen Anwendungs-Backends direkt auf.

Nur Python-Ausgabe

Alle generierten CLIs sind Python-Click-Anwendungen. Es gibt keine Option, CLIs in anderen Sprachen zu generieren. Wenn Ihr Workflow einen Node.js- oder Go-CLI-Wrapper benötigt, müssten Sie diesen separat erstellen.

Claude Code ist die stabile Plattform

Claude Code ist die primäre und am besten getestete Umgebung. Die Integration von Codex und OpenCode ist als experimentell gekennzeichnet. Funktionen können außerhalb von Claude Code inkonsistent funktionieren.

Die Generierungsqualität hängt von der Codebasis ab

Das Plugin analysiert den Quellcode, um die APIs hinter GUI-Aktionen zu finden. Wenn die Codebasis schlecht strukturiert, stark verschleiert oder eng an den GUI-Zustand gekoppelt ist, kann die Analyse Befehle übersehen oder unvollständige Wrapper generieren. Der Verfeinerungsschritt hilft, aber komplexe proprietäre Software kann schwieriger sauber zu wrappen sein.

Button

FAQ

Funktioniert CLI-Anything mit jeder Software?

Prinzipiell ja. Es kann eine CLI für jede Software mit einer zugänglichen Codebasis generieren. In der Praxis funktioniert es am besten mit Open-Source-Software, bei der der Quellcode GUI-Aktionen klar auf zugrunde liegende API-Aufrufe abbildet. Das Projekt hat es an GIMP, Blender, Inkscape, Audacity, Kdenlive, Shotcut, OBS Studio, Draw.io, LibreOffice, AnyGen und Zoom demonstriert.

Ist das Projekt kostenlos nutzbar?

Ja. CLI-Anything ist unter der MIT-Lizenz veröffentlicht und vollständig Open Source unter github.com/HKUDS/CLI-Anything.

Muss ich Python kennen, um es zu verwenden?

Nein. Sie müssen kein Python schreiben. Das Plugin generiert den gesamten Python-Code. Sie benötigen jedoch Python 3.10+ auf Ihrem System, um die generierten CLIs auszuführen.

Kann ich die generierte CLI von meinem eigenen Code aus verwenden, nicht nur von einem KI-Agenten?

Ja. Die generierte CLI ist ein reguläres Befehlszeilentool. Sie können es aus Shell-Skripten, Makefiles, Python-Code oder allem, was einen Unterprozess ausführen kann, aufrufen.

Was ist die Datei HARNESS.md?

HARNESS.md ist das Spezifikationsdokument, das definiert, wie ein von CLI-Anything generiertes Harness aussehen sollte. Es behandelt Befehlsstruktur, Ausgabeformate, Testanforderungen und Paketierung. Der Validierungsschritt überprüft Ihre generierte CLI anhand dieser Spezifikation.

Kann ich CLIs für interne Tools generieren, die mein Unternehmen entwickelt hat?

Ja. Richten Sie das Plugin auf jede Codebasis in Ihrem Dateisystem, einschließlich privater interner Tools. Das Plugin läuft lokal und sendet Ihren Quellcode nirgendwohin.

Wie verhält sich dies im Vergleich zum Model Context Protocol (MCP)?

MCP verbindet KI-Agenten über ein standardisiertes Serverprotokoll mit externen Diensten. CLI-Anything generiert lokale CLI-Wrapper für GUI-Anwendungen, die keine APIs haben. Sie lösen unterschiedliche Probleme. Sie könnten beide verwenden: MCP für Cloud-Dienste, CLI-Anything für Desktop-Software.

Zusätzliche Ressourcen

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen

CLI-Anything nutzen: Software Agent-nativ machen