CLI
Kisenon プラットフォーム向けの neonctl 互換ドロップインクライアント。
keon は、Kisenon プラットフォーム向けの neonctl 互換ドロップインクライアントです。
macOS / Linux へのインストール
curl -fsSL https://kisenon.com/install.sh | shプラットフォームを検出し、対応する keon-<os>-<arch> バイナリをダウンロードし、
/dl/latest/manifest.json に対して sha256 を検証し、~/.local/bin にインストールします
(/usr/local/bin が書き込み可能な場合、たとえば root ではそちら)。ディレクトリが PATH に
なければシェルの rc ファイルに追加します。スクリプトは POSIX sh で、bash は不要です。
Windows へのインストール
主要なチャネルは winget です。
winget install Seiraiyu.Keonまたは、インストールスクリプトを直接実行します。
irm https://kisenon.com/install.ps1 | iex%LOCALAPPDATA%\keon にインストールし、ユーザーの PATH に追加します。
インストーラの環境変数
すべての変数を両方のスクリプトが読むわけではありません — Scripts 列を参照してください。curl | sh では sh 側に設定します:
curl -fsSL https://kisenon.com/install.sh | KEON_INSTALL_DIR=/opt/bin sh.
| Variable | Scripts | Default | |
|---|---|---|---|
KEON_INSTALL_VERSION | 両方 | latest | リリースを固定します(例:v0.1.56)。 |
KEON_INSTALL_DIR | 両方 | ~/.local/bin (sh), %LOCALAPPDATA%\keon (PowerShell) | インストール先。/usr/local/bin へのフォールバックも行いません。 |
KEON_INSTALL_NO_PATH | 両方 | — | 1 で PATH の編集をスキップします。 |
KEON_INSTALL_HOST | 両方 | https://kisenon.com | ダウンロード元ホスト。https:// 必須です。 |
KEON_CONFIG_DIR | 両方 | ~/.config/keon | host ファイルの書き込み先。Windows では KEON_HOST_FILE が優先。 |
KEON_HOST_FILE | install.ps1 のみ | ~/.config/keon/host | host ファイルのパス。 |
KEON_API_URL_DEFAULT | 両方 | https://kisenon.com | インストール時に host ファイルへ記録される API ホスト。 |
KEON_UNINSTALL | 両方 | 未設定 | 1 でバイナリと PATH ブロックを削除します。認証情報は残ります。 |
KEON_INSTALL_FORCE | install.sh のみ | 未設定 | 1 で、インストール済みのバージョンが一致していても再ダウンロードします。install.ps1 にはバージョン一致のスキップ自体がなく、毎回再ダウンロードするため、この変数が強制するものはありません。 |
最初のログイン
keon login
keon mekeon login はループバック OAuth フローを実行します — キーの貼り付けは不要です。
ランダムなポートでローカルリスナーを起動し、ブラウザをコンソールの認可ページへ開き、
リダイレクトを待ちます。あなたが認可した後、CLI は使い捨てのコードを
POST /v1/cli/exchange で、アクティブな 組織 にスコープされた
長命の nsk_ 接頭辞付き API キーと交換します。
キーはモード 0600 で ~/.config/keon/credentials.json に永続化されます。CLI は結果
として得られたキーのみを保持し、OAuth コード、state、いかなるプロバイダトークンも
保持しません。keon logout はファイルを削除し、サーバー側でのキー失効を試みます
(ベストエフォート:失敗しても警告を出して終了コード 0 で終わります)。
Settings → API keys からいつでも失効させることもできます。完全な
フローについては 認証 を参照してください。
Windows では、このファイルは %USERPROFILE%\.config\keon\credentials.json です。
モード 0600 は適用されず、ファイルにはプロファイルの ACL — あなたのユーザー、SYSTEM、
Administrators のみ — が適用されます。
よく使うコマンド
keon projects list
keon branches list --project <id>
keon connection-string <branch> --project <id>keon connection-string は出力形式の既定値にかかわらず、直接接続の URI だけを出力します
(psql "$(keon connection-string main --project <id>)" がそのまま動きます)。--pooled は
プーラーの URI を出力し、エンドポイントにプーラーがなければ pooler_not_enabled で終了コード 1
になります。-o json は {"connection_string": "…"} を返します。
プロジェクトを削除すると、そのブランチとエンドポイントも削除されます — --cascade
を渡してください。渡さない場合、main 以外のブランチがあると API は 409 has_branches を
返します。
keon projects delete <id> --cascade同じ --cascade フラグは keon branches delete <id> にも適用されます。
keon status
keon statusCLI が有効な認証情報を持っているかを報告します。キーは /v1/auth/whoami に対して
検証されるため、失効または期限切れのキーは古い成功ではなく authenticated: false と
報告されます。本文には常に .authenticated と latencyMs が含まれ、api_url、user、
token_id は保存済みの認証情報が使われている場合に埋まります。
スクリプトが分岐すべきなのは終了コードです。
| Exit | |
|---|---|
0 | 認証済み — キーが /v1/auth/whoami で検証されました。 |
1 | 未認証 — 認証情報がないか、cp が 401/403 を返しました。 |
2 | 判定不能 — 接続拒否、DNS 失敗、タイムアウト、または 5xx。 |
2 が 1 ではないのは意図的です。コントロールプレーンに到達できないことは認証情報が
不正である証拠にはならず、keon status && deploy.sh はどちらの場合も止まる必要があります。
終了コードは直接読んでください — keon status を他のコマンドにパイプすると、
パイプライン側の終了コードに置き換わります。
エージェントワークフロー
keon は、プロジェクトとブランチだけでなく、エージェントセーフな領域もカバーします。
keon sandbox— エージェント サンドボックス を駆動します。 エージェント向けの、エフェメラルなキャプチャ&プロモート型データベース環境です。keon ledger— プロモート台帳を読み、キャプチャ/プロモートのアテステーションを 検証します。keon ip-allow— プロジェクトの IP 許可リストを管理します。
その他のトップレベルコマンドには orgs、endpoints、databases、roles、
snapshots、operations、usage、audit があります。全体は keon --help を実行
してください。
出力形式
デフォルトは JSON です。テーブル形式にするには keon config set output table を実行する
か、コマンドごとに --output table を渡します。
Claude スキルのインストール
keon install --skillsSKILL.md とリファレンスドキュメントを ./.claude/skills/keon/ に配置するので、Claude
エージェントはセットアップのターンなしに CLI を操作できます。
トラブルシューティング
macOS:「開発元を確認できません」
ブラウザ経由でダウンロードされ、Gatekeeper の属性が設定されたバイナリでのみ発生します(install.sh はこの属性を設定しません)。
その属性を取り除いてください。
xattr -d com.apple.quarantine $(which keon)Windows:SmartScreen の警告
「詳細情報」→「実行」をクリックします。マシンごとに 1 回だけです。
winget install Seiraiyu.Keon でインストールすればこのプロンプトを回避できます。
Windows ビルドの SmartScreen レピュテーションは時間とともに構築されます。
Windows:winget upgrade でパッケージが「変更されている」と表示される
0.1.59 以前の keon update が winget でインストールしたバイナリを置き換えていると、
winget upgrade Seiraiyu.Keon は Unable to remove Portable package as it has been
modified で失敗します。winget はインストール時に元のファイルのハッシュを記録しており、
変更されたファイルの上書きを拒否します。一度だけチェックを上書きしてください。
winget upgrade Seiraiyu.Keon --forceその後は winget list と keon --version が再び一致します。現在の keon は winget
インストールの自己更新を拒否するため、この問題は再発しません。
macOS:署名済みのバイナリ
署名・公証されているのは install.sh が取得する keon-macos-universal だけです。
アーキテクチャ別の keon-macos-arm64 と keon-macos-x64 は署名されていません。
macOS:Gatekeeper の検証にはネットワーク接続が必要
keon-macos-universal は公証済みですが、公証チケットをステープルすることはできません。stapler がチケットを添付できるのはバンドルやコンテナ(.app、.pkg、.dmg)であり、素の Mach-O 実行ファイルには添付できないためです。そのため Gatekeeper はチケットをオンラインで照会します。オフラインの Mac や Apple の公証サービスを遮断している環境では、ダウンロードを検証できません。
これは通常の CLI 利用には影響しません。Gatekeeper の隔離チェックは execve ではなく LaunchServices 経由(Finder でのダブルクリック)で実行されるため、ターミナルから起動したバイナリはステープルの有無にかかわらずブロックされません。curl と install.sh の経路では隔離属性自体が付きません。