仙kisenon

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.

VariableScriptsDefault
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/keonhost ファイルの書き込み先。Windows では KEON_HOST_FILE が優先。
KEON_HOST_FILEinstall.ps1 のみ~/.config/keon/hosthost ファイルのパス。
KEON_API_URL_DEFAULT両方https://kisenon.comインストール時に host ファイルへ記録される API ホスト。
KEON_UNINSTALL両方未設定1 でバイナリと PATH ブロックを削除します。認証情報は残ります。
KEON_INSTALL_FORCEinstall.sh のみ未設定1 で、インストール済みのバージョンが一致していても再ダウンロードします。install.ps1 にはバージョン一致のスキップ自体がなく、毎回再ダウンロードするため、この変数が強制するものはありません。

最初のログイン

keon login
keon me

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

CLI が有効な認証情報を持っているかを報告します。キーは /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 --skills

SKILL.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 の経路では隔離属性自体が付きません。

バグの報告

github.com/Seiraiyu/Kisenon/issues

CLI · Kisenon