Zum Inhalt springen

Kommandozeile

Einmal anmelden. Geheimnisse bleiben aus dem Chat.

ottoctl ist ein kleines Kommandozeilenwerkzeug, das dich im Browser bei jedem Otto-Dienst anmeldet. Hat ein Dienst ein Geheimnis für dich, etwa einen Otto-Flags-Server-Schlüssel, geht es direkt in dein Terminal und läuft nie durch den Kontext eines KI-Modells.

Warum ein Kommandozeilenwerkzeug

  • Eine Anmeldung, alle Dienste

    ottoctl login öffnet den Browser auf dem gewohnten Otto-Zustimmungsbildschirm und merkt sich die Freigabe auf deinem Rechner. Jeder Otto-Dienst nutzt denselben Ablauf.

  • Geheimnisse bleiben aus dem Chat

    Dein KI-Assistent kann Dinge einrichten, aber einen Server-Schlüssel sollte er nie lesen. ottoctl gibt ein Geheimnis nur in einem echten Terminal aus oder schreibt es in eine Datei, die nur du lesen kannst, und lehnt umgeleitete Ausgabe ab.

  • Ein Befehl, viele Werkzeuge

    ottoctl gefolgt vom Namen eines Dienstes startet das eigene Werkzeug dieses Dienstes aus deinem PATH, sodass ein Dienst Befehle ergänzen kann, ohne dass du etwas Neues installierst.

Download

Jedes Release enthält fertig gebaute Programme, unter einer Adresse, die immer auf das neueste zeigt.

Prüfsummen-Datei (SHA256SUMS) Alle Releases auf GitHub

Lieber selbst bauen? Mit Rust 1.89 oder neuer:

cargo install --locked --git https://github.com/savvagent/otto-platform ottoctl otto-flags-cli

Installation

Linux und macOS

Setze target auf den Namen deiner Plattform: der Teil des Archivnamens zwischen ottoctl- und .tar.gz. Das Snippet prüft den Download gegen SHA256SUMS, bevor es etwas installiert.

target=aarch64-apple-darwin base=https://github.com/savvagent/otto-platform/releases/latest/download curl -fsSLO "$base/ottoctl-$target.tar.gz" curl -fsSLO "$base/SHA256SUMS" grep " ottoctl-$target.tar.gz\$" SHA256SUMS | shasum -a 256 -c tar xzf "ottoctl-$target.tar.gz" install -m 0755 "ottoctl-$target/ottoctl" "ottoctl-$target/otto-flags" ~/.local/bin/

Windows (PowerShell)

Vergleiche den ausgegebenen Hash mit der Zeile für ottoctl-x86_64-pc-windows-msvc.zip in SHA256SUMS und verschiebe dann ottoctl.exe und otto-flags.exe in ein Verzeichnis in deinem PATH.

$base = "https://github.com/savvagent/otto-platform/releases/latest/download" Invoke-WebRequest "$base/ottoctl-x86_64-pc-windows-msvc.zip" -OutFile ottoctl.zip Invoke-WebRequest "$base/SHA256SUMS" -OutFile SHA256SUMS (Get-FileHash ottoctl.zip -Algorithm SHA256).Hash Expand-Archive ottoctl.zip -DestinationPath .

Die Programme sind nicht codesigniert

Die Prüfsumme zeigt, dass ein Archiv das ist, das das Release veröffentlicht hat, doch dein Betriebssystem kann beim ersten Start trotzdem nachfragen.

macOS: Eine mit curl geladene Datei steht nicht unter Quarantäne. Hast du sie stattdessen im Browser geladen, blockiert Gatekeeper sie. Entferne die Markierung einmalig:

xattr -d com.apple.quarantine ottoctl

Windows: SmartScreen warnt beim ersten Mal womöglich. Wähle „Weitere Informationen“ und dann „Trotzdem ausführen“.

Erste Schritte

Melde dich bei einem Dienst an, indem du ottoctl seine MCP-Adresse gibst. Der Browser öffnet den Zustimmungsbildschirm, und die Freigabe wird nur für diesen Dienst gespeichert.

Bei einem Dienst anmelden
ottoctl login --resource <service MCP URL>

Oder kopiere den Befehl für einen unserer Dienste:

Otto Tower
ottoctl login --resource https://otto-tower.savvagent.com/mcp
Otto Flags
ottoctl login --resource https://otto-flags.savvagent.com/mcp
Otto CXP
ottoctl login --resource https://otto-cxp.savvagent.com/mcp

Die ganze Dokumentation lesen

Wo Zugangsdaten liegen, wie Unterbefehle funktionieren und wie Geheimnisse übergeben werden. ottoctl.md auf GitHub