CLI
Drop-in-Client im neonctl-Stil für die Kisenon-Plattform.
keon ist ein Drop-in-Client im neonctl-Stil für die Kisenon-Plattform.
Installation auf macOS / Linux
curl -fsSL https://kisenon.com/install.sh | shErkennt Ihre Plattform, lädt das passende keon-<os>-<arch>-Binary herunter,
verifiziert den sha256 gegen /dl/latest/manifest.json und installiert nach
~/.local/bin — oder nach /usr/local/bin, wenn dieses Verzeichnis beschreibbar ist
(z. B. als root). Fehlt das Verzeichnis im PATH, trägt das Skript es in Ihre
Shell-rc-Datei ein. Das Skript ist POSIX-sh; bash wird nicht benötigt.
Installation auf Windows
Der primäre Kanal ist winget:
winget install Seiraiyu.KeonOder führen Sie das Installationsskript direkt aus:
irm https://kisenon.com/install.ps1 | iexEs installiert nach %LOCALAPPDATA%\keon und trägt das Verzeichnis in Ihren Benutzer-PATH ein.
Installer-Umgebungsvariablen
Nicht jede Variable wird von beiden Skripten gelesen — die Spalte Scripts sagt,
welche. Bei curl | sh setzen Sie sie auf der sh-Seite:
curl -fsSL https://kisenon.com/install.sh | KEON_INSTALL_DIR=/opt/bin sh.
| Variable | Scripts | Default | |
|---|---|---|---|
KEON_INSTALL_VERSION | beide | latest | Release pinnen, z. B. v0.1.56. |
KEON_INSTALL_DIR | beide | ~/.local/bin (sh), %LOCALAPPDATA%\keon (PowerShell) | Installationsverzeichnis. Überspringt auch den /usr/local/bin-Fallback. |
KEON_INSTALL_NO_PATH | beide | — | 1 überspringt die PATH-Änderung. |
KEON_INSTALL_HOST | beide | https://kisenon.com | Download-Host. Muss https:// sein. |
KEON_CONFIG_DIR | beide | ~/.config/keon | Ort der host-Datei. Unter Windows hat KEON_HOST_FILE Vorrang. |
KEON_HOST_FILE | nur install.ps1 | ~/.config/keon/host | Pfad der host-Datei. |
KEON_API_URL_DEFAULT | beide | https://kisenon.com | Der API-Host, der bei der Installation in die host-Datei geschrieben wird. |
KEON_UNINSTALL | beide | nicht gesetzt | 1 entfernt die Binärdatei und den PATH-Block. Zugangsdaten bleiben erhalten. |
KEON_INSTALL_FORCE | nur install.sh | nicht gesetzt | 1 lädt erneut herunter, auch wenn die installierte Version schon passt. install.ps1 hat überhaupt keine Versionsprüfung — es lädt bei jedem Lauf neu, es gibt also nichts zu erzwingen. |
Erste Anmeldung
keon login
keon mekeon login führt einen Loopback-OAuth-Flow aus — kein Einfügen von Schlüsseln. Es startet einen
lokalen Listener auf einem zufälligen Port, öffnet Ihren Browser zur Authorize-Seite der
Konsole und wartet auf den Redirect. Nachdem Sie autorisiert haben, tauscht die
CLI den Einmal-Code bei POST /v1/cli/exchange gegen einen
langlebigen API-Schlüssel mit nsk_-Präfix, beschränkt auf Ihre aktive
Organisation.
Der Schlüssel wird unter ~/.config/keon/credentials.json mit Modus
0600 persistiert. Die CLI behält nur den resultierenden Schlüssel — niemals den OAuth-Code,
State oder ein Provider-Token. keon logout entfernt die Datei und
versucht, den Schlüssel serverseitig zu widerrufen (Best-Effort: schlägt das fehl, warnt es und endet trotzdem mit 0); Sie können ihn auch jederzeit über
Einstellungen → API-Schlüssel widerrufen. Siehe Auth für
den vollständigen Flow.
Unter Windows ist die Datei %USERPROFILE%\.config\keon\credentials.json;
Modus 0600 gilt dort nicht, und die Datei trägt die ACL Ihres Profils — nur Ihr
Benutzer, SYSTEM und Administrators.
Gängige Befehle
keon projects list
keon branches list --project <id>
keon connection-string <branch> --project <id>keon connection-string gibt die reine direkte URI aus (damit
psql "$(keon connection-string main --project <id>)" funktioniert),
unabhängig vom Standard-Ausgabeformat. --pooled gibt stattdessen die
Pooler-URI aus und endet mit 1 und pooler_not_enabled, wenn der Endpoint
keinen Pooler hat. -o json liefert {"connection_string": "…"}.
Das Löschen eines Projekts löscht auch seine Branches und Endpoints — übergeben Sie
--cascade — sonst gibt die API 409 has_branches zurück, sobald das Projekt
außer main noch einen Branch hat:
keon projects delete <id> --cascadeDasselbe --cascade-Flag gilt für keon branches delete <id>.
keon status
keon statusMeldet, ob die CLI über gültige Zugangsdaten verfügt. Der Schlüssel wird gegen
/v1/auth/whoami geprüft, ein widerrufener oder abgelaufener Schlüssel meldet also
authenticated: false statt eines veralteten Erfolgs. Der Body enthält immer
.authenticated und latencyMs; api_url, user und token_id werden gefüllt,
wenn gespeicherte Zugangsdaten verwendet werden.
Verzweigen sollte ein Skript über den Exit-Code:
| Exit | |
|---|---|
0 | Authentifiziert — der Schlüssel wurde gegen /v1/auth/whoami geprüft. |
1 | Nicht authentifiziert — keine Zugangsdaten vorhanden, oder cp antwortete 401/403. |
2 | Nicht feststellbar — Verbindung abgelehnt, DNS-Fehler, Timeout oder ein 5xx. |
2 ist bewusst nicht 1: eine nicht erreichbare Control Plane ist kein Beweis dafür,
dass Ihre Zugangsdaten schlecht sind, und keon status && deploy.sh muss in beiden
Fällen stoppen. Lesen Sie den Exit-Code direkt — keon status in einen anderen Befehl
zu pipen ersetzt ihn durch den der Pipeline.
Agent-Workflows
keon deckt die agentensichere Oberfläche ab, nicht nur Projekte und Branches:
keon sandbox— agenten-Sandboxes antreiben: ephemere, Capture-and-Promote-Datenbankumgebungen für Agenten.keon ledger— das Promote-Ledger lesen und Capture-/Promote- Attestierungen verifizieren.keon ip-allow— die IP-Zulassungsliste eines Projekts verwalten.
Weitere Top-Level-Befehle umfassen orgs, endpoints, databases,
roles, snapshots, operations, usage und audit. Führen Sie
keon --help für den vollständigen Satz aus.
Ausgabeformat
Standard ist JSON. Für Tabellen: keon config set output table oder geben Sie
--output table pro Befehl an.
Den Claude-Skill installieren
keon install --skillsLegt eine SKILL.md + Referenzdokumente in ./.claude/skills/keon/ ab, sodass ein
Claude-Agent die CLI ohne Einrichtungsschritt antreiben kann.
Fehlerbehebung
macOS: „developer cannot be verified"
Passiert nur, wenn das Binary über einen Browser mit gesetztem
Gatekeeper-Attribut heruntergeladen wurde — install.sh setzt es nicht. Entfernen Sie es:
xattr -d com.apple.quarantine $(which keon)Windows: SmartScreen-Warnung
Klicken Sie auf „More info" → „Run anyway". Einmal pro Rechner. Die Installation über
winget install Seiraiyu.Keon vermeidet die Aufforderung. Die SmartScreen-Reputation für Windows-Builds baut sich mit der
Zeit auf.
Windows: winget upgrade meldet, das Paket sei „geändert“ worden
winget upgrade Seiraiyu.Keon schlägt mit Unable to remove Portable package as it
has been modified fehl, wenn ein keon update aus 0.1.59 oder früher das per winget
installierte Binary ersetzt hat. winget hat bei der Installation den Hash der
Originaldatei gespeichert und weigert sich, eine geänderte Datei zu überschreiben.
Übergehen Sie die Prüfung einmalig:
winget upgrade Seiraiyu.Keon --forceDanach stimmen winget list und keon --version wieder überein. Aktuelle
keon-Versionen verweigern die Selbstaktualisierung einer winget-Installation, daher tritt
das nicht erneut auf.
macOS: welches Binary signiert ist
Nur keon-macos-universal — das Binary, das install.sh lädt — ist signiert und
notarisiert. Die Binaries pro Architektur, keon-macos-arm64 und keon-macos-x64, sind es nicht.
macOS: Gatekeeper benötigt Netzwerkzugriff zur Validierung
keon-macos-universal ist notarisiert, aber das Notarisierungsticket lässt sich nicht stapeln: stapler hängt Tickets an Bundles und Container (.app, .pkg, .dmg), nicht an eine nackte Mach-O-Binärdatei. Gatekeeper löst das Ticket daher online auf, und ein Mac, der offline ist oder Apples Notarisierungsdienst blockiert, kann den Download nicht validieren.
Die normale CLI-Nutzung ist davon nicht betroffen. Gatekeepers Quarantäneprüfung läuft über LaunchServices — Doppelklick im Finder — und nicht über execve. Eine aus dem Terminal gestartete Binärdatei wird also nie blockiert, ob gestapelt oder nicht. Die Pfade curl und install.sh setzen das Quarantäneattribut überhaupt nicht.