Was macht cli-anything-tigris?
Eine zustandslose Kommandozeilenschnittstelle für Tigris
Objektspeicher. Umschließt die offizielle tigris-CLI, sodass jeder Tigris-Primitiv
(Snapshots, IAM, eingeschränkte Anmeldedaten, OAuth) über einen einzigen
agentenfreundlichen Einstiegspunkt mit --json erreichbar ist.
Umfang
Diese Hülle ist nur für die offizielle Tigris-CLI gedacht. Sie startet das
tigris-Binärprogramm und setzt eine Tigris-Authentifizierung durch tigris login oder Tigris-
Zugriffsschlüssel voraus. Es ist kein generisches S3-Endpunkt-Tool und verwaltet kein
MinIO, Cloudflare R2, AWS S3 oder andere S3-kompatible Endpunkte.
Installation
# 1. Installiere die zugrunde liegende Tigris-CLI
npm install -g @tigrisdata/cli
# oder:
brew install tigrisdata/tap/tigris
# 2. Authentifiziere dich (Browser-OAuth)
tigris login
# 3. Installiere diese Hülle
pip install cli-anything-tigris
Voraussetzungen:
- Python 3.10+
tigris-CLI im PATH (der Alias des Binärprogramms istt3)
Verwendung
Grundlegende Befehle
# Hilfe anzeigen
cli-anything-tigris --help
# Interaktive REPL starten
cli-anything-tigris
# Wer bin ich (JSON-Ausgabe für Agenten)
cli-anything-tigris --json auth whoami
# Buckets auflisten
cli-anything-tigris --json bucket list
# Lokale Datei hochladen
cli-anything-tigris --json object put --bucket my-bucket --key path/to/file.txt --file ./local.txt
# Objekt herunterladen
cli-anything-tigris --json object get --bucket my-bucket --key path/to/file.txt --output ./out.txt
# Server-seitiges Kopieren
cli-anything-tigris --json object cp t3://my-bucket/src.txt t3://my-bucket/dst.txt
# Snapshot erstellen
cli-anything-tigris --json snapshot take my-bucket --name baseline-v1
# Bucket löschen; --yes ist erforderlich
cli-anything-tigris --json bucket delete --name old-bucket --yes
# Eingeschränkten Zugriffsschlüssel für einen Agentenlauf erstellen
cli-anything-tigris --json access-key create my-agent-key
cli-anything-tigris --json access-key assign tid_AaBb --bucket my-bucket --role Editor
# Zugriffsschlüssel rotieren oder löschen; --yes ist erforderlich
cli-anything-tigris --json access-key rotate tid_AaBb --yes
cli-anything-tigris --json access-key delete tid_AaBb --yes
# Presignierte Download-URL (1 Stunde)
cli-anything-tigris --json presign get --bucket my-bucket --key path/to/file.txt --expires 3600
REPL-Modus
Wenn die CLI ohne Unterbefehl aufgerufen wird, startet sie eine interaktive REPL mit Tab-Vervollständigung und Befehlsverlauf.
Befehlsgruppen
auth
OAuth-basierte Authentifizierung.
| Befehl | Beschreibung |
|---|---|
login | Browser-OAuth-Anmeldung (tigris login) |
logout | Von aktueller Sitzung abmelden |
whoami | Authentifizierten Benutzer / Organisation anzeigen |
bucket
Bucket-CRUD.
| Befehl | Beschreibung |
|---|---|
list | Alle Buckets auflisten |
create --name NAME | Bucket erstellen |
delete --name NAME --yes | Leeren Bucket löschen (--yes erforderlich) |
info NAME | Bucket-Informationen abrufen |
object
Objektoperationen (umschließt tigris ls/cp/rm/stat).
| Befehl | Beschreibung |
|---|---|
list --bucket B [--prefix P] [--limit N] | Objekte auflisten |
put --bucket B --key K (--file F | --text T) | Objekt hochladen |
get --bucket B --key K --output F | Objekt herunterladen |
delete --bucket B --key K | Objekt löschen |
info --bucket B --key K | Objekt-Metadaten (HEAD / stat) |
cp SRC DST [-r] | Kopieren. Akzeptiert t3://- oder tigris://-URIs. |
presign
Zeitlich begrenzte URLs.
| Befehl | Beschreibung |
|---|---|
get --bucket B --key K [--expires SEC] | Presignierte Download-URL |
put --bucket B --key K [--expires SEC] | Presignierte Upload-URL |
snapshot
Zeitpunkt-Bucket-Snapshots – ein Tigris-spezifischer Primitiv.
| Befehl | Beschreibung |
|---|---|
list BUCKET | Snapshots für einen Bucket auflisten |
take BUCKET [--name N] | Snapshot erstellen |
access-key
Eingeschränkte programmatische Anmeldedaten – in Kombination mit snapshot für
Pro-Agent-Isolation.
| Befehl | Beschreibung |
|---|---|
list | Alle Zugriffsschlüssel auflisten |
create NAME | Neuen Zugriffsschlüssel erstellen (Geheimnis wird EINMAL angezeigt) |
get KEY_ID | Schlüsseldetails anzeigen |
delete KEY_ID --yes | Schlüssel endgültig löschen (--yes erforderlich) |
assign KEY_ID --bucket B --role R | Schlüssel auf einen Bucket + Rolle beschränken |
rotate KEY_ID --yes | Geheimnis eines Schlüssels rotieren (--yes erforderlich) |
iam
Richtlinien und Organisationsbenutzer.
| Befehl | Beschreibung |
|---|---|
policy list | IAM-Richtlinien auflisten |
policy create NAME --document FILE | Richtlinie aus einer JSON-Datei erstellen |
user list | Organisationsbenutzer auflisten |
user invite EMAIL [--role R] | Benutzer einladen |
Ausgabeformate
Alle Befehle unterstützen zwei Ausgabemodi:
- Menschenlesbar (Standard): Tabellen, Farben, formatierter Text
- Maschinenlesbar (
--json): JSON-Envelope (oder die--format json-Ausgabe der ursprünglichen CLI, unverändert ausgegeben)
Für KI-Agenten
Bei programmatischer Verwendung dieser CLI:
- Immer
--jsonfür parsebare Ausgabe übergeben. - Rückgabecodes prüfen – 0 für Erfolg, ungleich 0 für Fehler.
- Fehlermeldungen aus stderr lesen.
object cpakzeptiertt3://bucket/key- odertigris://bucket/key-URIs; server-seitige Kopien (t3 → t3) sparen den Roundtrip vollständig.presigngibt eine URL auf stdout im menschlichen Modus zurück; im JSON-Modus ist es dasurl-Feld.- Für zerstörerische Arbeiten: Bucket-Löschung, Zugriffsschlüssel-Löschung und
Zugriffsschlüssel-Rotation erfordern explizites
--yes; erstelle einensnapshotdes Zielbuckets, führe dann die Arbeiten durch und behalte oder verwerfe den Snapshot. - Für Pro-Agent-Isolation:
access-key create+access-key assign --bucket B --role Editor, um einen auf einen Bucket beschränkten Schlüssel auszustellen; widerrufe mitaccess-key delete, wenn der Agentenlauf endet.
Warum Tigris
- Global verteilt. Daten werden nahe dem Ort platziert, an dem sie gelesen werden.
- Keine Egress-Gebühren. Agenten, die Artefakte von überall abrufen, zahlen keine regionsbezogenen Bandbreitenkosten.
- Snapshots + eingeschränkte Anmeldedaten. Primitiven, die generische S3-kompatible Anbieter nicht mitliefern – die Grundlage für Pro-Agent-Isolation.
- S3-kompatibel. Nützlich neben S3-fähigen Tools, aber diese Hülle selbst ist kein generischer S3/MinIO/R2/AWS-Endpunkt-Manager.
Version
1.0.0