仙kisenon

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 | sh

Erkennt 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.Keon

Oder führen Sie das Installationsskript direkt aus:

irm https://kisenon.com/install.ps1 | iex

Es 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.

VariableScriptsDefault
KEON_INSTALL_VERSIONbeidelatestRelease pinnen, z. B. v0.1.56.
KEON_INSTALL_DIRbeide~/.local/bin (sh), %LOCALAPPDATA%\keon (PowerShell)Installationsverzeichnis. Überspringt auch den /usr/local/bin-Fallback.
KEON_INSTALL_NO_PATHbeide—1 überspringt die PATH-Änderung.
KEON_INSTALL_HOSTbeidehttps://kisenon.comDownload-Host. Muss https:// sein.
KEON_CONFIG_DIRbeide~/.config/keonOrt der host-Datei. Unter Windows hat KEON_HOST_FILE Vorrang.
KEON_HOST_FILEnur install.ps1~/.config/keon/hostPfad der host-Datei.
KEON_API_URL_DEFAULTbeidehttps://kisenon.comDer API-Host, der bei der Installation in die host-Datei geschrieben wird.
KEON_UNINSTALLbeidenicht gesetzt1 entfernt die Binärdatei und den PATH-Block. Zugangsdaten bleiben erhalten.
KEON_INSTALL_FORCEnur install.shnicht gesetzt1 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 me

keon 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> --cascade

Dasselbe --cascade-Flag gilt für keon branches delete <id>.

keon status

keon status

Meldet, 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
0Authentifiziert — der Schlüssel wurde gegen /v1/auth/whoami geprüft.
1Nicht authentifiziert — keine Zugangsdaten vorhanden, oder cp antwortete 401/403.
2Nicht 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 --skills

Legt 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 --force

Danach 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.

Einen Bug melden

github.com/Seiraiyu/Kisenon/issues

CLI · Kisenon