Was macht cli-anything-calibre?
Eine zustandsbehaftete CLI-Schnittstelle für die Calibre E-Book-Verwaltung. Kapselt die echten Calibre-Tools (calibredb, ebook-convert, ebook-meta), um AI-Agenten und Skripten eine saubere, strukturierte Schnittstelle für Bibliotheksoperationen, Metadatenbearbeitung und Formatkonvertierung zu bieten.
Installation
Diese CLI wird als Teil des cli-anything-calibre-Pakets installiert:
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=calibre/agent-harness
Voraussetzungen:
- Python 3.10+
- Calibre muss auf Ihrem System installiert sein (harte Abhängigkeit)
# Debian/Ubuntu
sudo apt-get install calibre
# macOS
brew install --cask calibre
# Überprüfen, ob die Tools im PATH sind
which calibredb
which ebook-convert
which ebook-meta
Verwendung
Grundlegende Befehle
# Hilfe anzeigen
cli-anything-calibre --help
# Interaktiven REPL-Modus starten
cli-anything-calibre
# Mit einer Calibre-Bibliothek verbinden
cli-anything-calibre library connect ~/Calibre\ Library
# Mit JSON-Ausgabe ausführen (für Agenten)
cli-anything-calibre --json books list
REPL-Modus
Wenn ohne Unterbefehl aufgerufen, startet die CLI eine interaktive REPL-Sitzung:
cli-anything-calibre
# Befehle interaktiv mit Tab-Vervollständigung und Verlauf eingeben
# 'help' verwenden, um verfügbare Befehle anzuzeigen
# 'quit' oder 'exit' zum Beenden
Befehlsgruppen
Library
Bibliotheksverwaltungsbefehle.
| Befehl | Beschreibung |
|---|---|
connect <pfad> | Aktiven Bibliothekspfad festlegen |
info | Bibliotheksstatistiken anzeigen (Buchanzahl, Formate, DB-Größe) |
check | Bibliotheksintegrität mit calibredb check_library überprüfen |
Books
Buchoperationen (kapseln calibredb).
| Befehl | Beschreibung |
|---|---|
list | Bücher mit Filter- und Sortiermöglichkeiten auflisten |
search <abfrage> | Mit der Calibre-Abfragesprache suchen |
add <dateien> | Buchdateien zur Bibliothek hinzufügen |
remove <ids> | Bücher entfernen (in den Papierkorb verschieben oder endgültig löschen) |
show <id> | Vollständige Metadaten für ein Buch anzeigen |
export <ids> | Bücher in ein Verzeichnis exportieren |
export-chapters <id> | Jedes Kapitel als separates PDF exportieren (erfordert EPUB-Format) |
Meta
Metadatenbearbeitung (kapseln calibredb set_metadata).
| Befehl | Beschreibung |
|---|---|
get <id> [feld] | Metadaten abrufen (alle oder ein bestimmtes Feld) |
set <id> <feld> <wert> | Ein Metadatenfeld setzen |
embed <ids> | Metadaten in Buchdateien einbetten |
Formats
Formatverwaltung (kapseln calibredb + ebook-convert).
| Befehl | Beschreibung |
|---|---|
list <id> | Verfügbare Formate für ein Buch auflisten |
add <id> <datei> | Ein Format zu einem Buch hinzufügen |
remove <id> <fmt> | Ein Format von einem Buch entfernen |
convert <id> <eingabe_fmt> <ausgabe_fmt> | Buchformat konvertieren |
Custom
Benutzerdefinierte Spalten (kapseln calibredb).
| Befehl | Beschreibung |
|---|---|
list | Alle benutzerdefinierten Spalten auflisten |
add <bezeichnung> <name> <typ> | Benutzerdefinierte Spalte erstellen |
remove <bezeichnung> | Benutzerdefinierte Spalte löschen |
set <id> <bezeichnung> <wert> | Benutzerdefinierten Feldwert setzen |
Catalog
Kataloggenerierung.
| Befehl | Beschreibung |
|---|---|
catalog <ausgabe> | Einen Katalog der Bibliothek generieren (EPUB, CSV oder OPDS) |
Beispiele
Verbinden und Bücher auflisten
Mit Ihrer Calibre-Bibliothek verbinden und Bücher auflisten.
cli-anything-calibre library connect ~/Calibre\ Library
cli-anything-calibre books list
# Oder mit JSON-Ausgabe
cli-anything-calibre --json books list --search "author:asimov"
Suchen und Filtern
Bücher mit der Calibre-Abfragesprache durchsuchen.
cli-anything-calibre books search "title:Foundation"
cli-anything-calibre books search "author:asimov and tags:scifi"
cli-anything-calibre books search "rating:>3"
Metadaten bearbeiten
Metadatenfelder für Bücher setzen.
cli-anything-calibre meta set 42 title "Neuer Titel"
cli-anything-calibre meta set 42 series "Foundation"
cli-anything-calibre meta set 42 series_index 1
cli-anything-calibre meta set 42 tags "scifi,classic"
cli-anything-calibre meta set 42 rating 5
Formatkonvertierung
Zwischen E-Book-Formaten konvertieren.
cli-anything-calibre formats convert 42 EPUB MOBI
cli-anything-calibre formats convert 42 EPUB PDF --output /tmp/book.pdf
Kapitel als PDFs exportieren
Jedes Kapitel eines EPUB als separate PDF-Datei exportieren.
cli-anything-calibre books export-chapters 42 --to-dir ./pdfs
cli-anything-calibre books export-chapters 42 --to-dir ./pdfs --chapters 1-5
Calibre-Abfragesprache
Verwendet mit books search und books list --search:
author:asimov # Autor enthält "asimov"
title:"Foundation" # Titelsatz
tags:fiction # Tag-Übereinstimmung
rating:>3 # Bewertung größer als 3
series:"Foundation" # Serienübereinstimmung
pubdate:[2020-01-01,2021-12-31] # Datumsbereich
identifiers:isbn:1234567890 # Bestimmter Identifikator
has:cover # Hat Titelbild
not:tags:fiction # Negation
author:asimov and tags:scifi # Boolesches UND
Wichtige Metadatenfelder
| Feld | Typ | Beschreibung |
|---|---|---|
title | text | Buchtitel |
authors | text | Autorennamen (&-getrennt) |
tags | text | Komma-getrennte Tags |
series | text | Serienname |
series_index | float | Position in der Serie |
rating | float | Bewertung 1-5 |
publisher | text | Verlagsname |
pubdate | datetime | Veröffentlichungsdatum |
comments | text | Beschreibung/Kommentare |
languages | text | Sprachcodes |
identifiers | text | ISBN, ASIN usw. (typ:wert) |
Unterstützte Formate
Eingabe: EPUB, MOBI, AZW, AZW3, PDF, HTML, DOCX, ODT, FB2, TXT, RTF, LIT und mehr
Ausgabe (Konvertierung): EPUB, MOBI, AZW3, PDF, HTML, DOCX, TXT und mehr
Zustandsverwaltung
Die CLI verwaltet den Sitzungszustand mit:
- Sitzungsdatei:
~/.cli-anything-calibre/session.json - Bibliothekspfad-Persistenz: Die aktive Bibliothek wird über Sitzungen hinweg gespeichert
- Umgebungsüberschreibung:
CALIBRE_LIBRARY-Umgebungsvariable
Ausgabeformate
Alle Befehle unterstützen zwei Ausgabemodi:
- Menschenlesbar (Standard): Tabellen, Farben, formatierter Text
- Maschinenlesbar (
--json-Flag): Strukturiertes JSON für die Agentenverarbeitung
# Menschliche Ausgabe
cli-anything-calibre books list
# JSON-Ausgabe für Agenten
cli-anything-calibre --json books list
Für AI-Agenten
Bei programmatischer Nutzung dieser CLI:
- Immer
--json-Flag verwenden für analysierbare Ausgabe - Rückgabecodes prüfen - 0 für Erfolg, !=0 für Fehler
- stderr parsen für Fehlermeldungen bei Fehlschlag
- Ausgaben auf Existenz prüfen nach Export-/Konvertierungsvorgängen
--library-Flag oderCALIBRE_LIBRARY-Umgebungsvariable verwenden, um den Bibliothekspfad anzugeben- Kapitel-Export erfordert EPUB-Format - ggf. vorher konvertieren
Weitere Informationen
- Vollständige Dokumentation: Siehe README.md im Paket
- Architektur-SOP: Siehe CALIBRE.md im agent-harness-Verzeichnis
- Testabdeckung: Siehe test_core.py und test_full_e2e.py im tests-Verzeichnis
- Methodik: Siehe HARNESS.md im cli-anything-plugin
Version
1.0.0