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.
- Linux x86_64 ottoctl-x86_64-unknown-linux-musl.tar.gz
- Linux arm64 ottoctl-aarch64-unknown-linux-musl.tar.gz
- macOS Apple silicon ottoctl-aarch64-apple-darwin.tar.gz
- macOS Intel ottoctl-x86_64-apple-darwin.tar.gz
- Windows x86_64 ottoctl-x86_64-pc-windows-msvc.zip
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.
ottoctl login --resource <service MCP URL> Oder kopiere den Befehl für einen unserer Dienste:
ottoctl login --resource https://otto-tower.savvagent.com/mcp ottoctl login --resource https://otto-flags.savvagent.com/mcp 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