init コマンド
init コマンドは、Kova の対話的オンボーディングウィザードです。AI が自律的にお金を扱えるよう、「アカウント作成 → 支払いポリシー → AI 接続設定 → 拡張機能のインストール」を 1 コマンドで完了させます。
概要
kova init は次の 4 ステップを順に進めます。
| ステップ | 内容 |
|---|---|
| Step 1/4: アカウント作成 | アカウント名と passphrase を入力。新規マスター作成時はそのアカウントが HD マスターになる |
| Step 2/4: 支払いルール | 制限なし(permissive)で自動設定。後から kova policy update で送金制限を追加できる |
| Step 3/4: AI 接続設定 | エージェントキーを発行し、アクティブプロファイルとして保存。Claude Code / Codex 等から cli を呼び出すための credential になる |
| Step 4/4: 拡張機能のインストール | スキル・プラグインをマルチ選択でインストール(任意、スキップ可) |
利用規約 (TOS) 未同意なら welcome 直後に y/N 確認が走り、未同意のまま続行すると exit 1 で終了します。完了画面では 復旧フレーズ(新規マスター作成時のみ、1 回限り)と Claude Code から Kova を呼び出す自然言語の例が表示されます。
構文
kova initオプションはありません。完全に対話形式で進行します。
OperationKind 分類
init は owner-only 操作です。対話プロンプトが必須なので、agent 経路(非 TTY)からは実行できません。
参考: OperationKind 分類
詳細フロー
0. Banner / Welcome(step counter なし)
ASCII バナーと “Kova は AI が自律的にお金を扱うための CLI” の説明文が表示されます。Enter で先に進みます。
0.1. 言語選択(初回のみ、step counter なし)
config.lang が未設定なら最初に「日本語 / English」を選択します。以降のメッセージは選択した言語で表示され、設定が永続化されます。step counter には含まれません。
0.2. 利用規約 (TOS) 同意(未同意の場合)
tosAgreedVersion が現行 TOS バージョンと一致しない場合、TOS URL と同意プロンプトがここで表示されます。No または Ctrl+C で拒否すると exit 1 で終了します。同意済みならスキップ。
0.3. 初期化済みチェック
既にアカウントが存在するか defaultWallet が設定されていると「アカウントを追加します。続けますか?」の確認が出ます。続行すると追加アカウントの作成(HD 派生)として続けられます。
1. Step 1/4: アカウント作成
説明文: 「AI が使うアカウントを作ります。アカウントはパスフレーズで暗号化されます。」
アカウント名: 英数字・ハイフン・アンダースコアのみ(デフォルト: default)。同名のアカウントが既にあれば「既存を使う / 別名を入力」を選択します。
Passphrase:
- 新規マスター作成時 — 最低 8 文字、辞書一致 / アカウント名等の流用は弱判定で reject。確認入力(再入力)が必須。
- 既存マスターから派生時 — 既存マスターの passphrase を入力。
アカウント作成: hd.masterWallet が未設定なら新規マスターを作り、設定済みなら BIP-39 mnemonic から派生インデックスで生成します(hd.nextIndex がインクリメント)。
復旧フレーズは Step 1 内では表示されません。すべての step が完了したあとの 完了画面 に集約されます(旧仕様で Step 1 中に表示していたものを v2.2 で集約)。
2. Step 2/4: 支払いルール
制限なし(permissive)の支払いルールが自動的に登録されます(送金制限なしでオンボーディングを完了するための expires_at 1 件 / 有効期限 1 年)。ここではプロンプトは表示されません。
送金上限・チェーン制限などを設定したい場合は、オンボーディング後に kova policy update でルールを追加します。設定できるルール(allowed_chains / spending_limit / sign_allowlist / delegate_allowlist など)の詳細は kova policy を参照してください。
3. Step 3/4: AI 接続設定
説明文: 「Claude Code / Codex などの AI ツールから cli を呼び出すためのエージェントキーを発行します。」
エージェントキーをアクティブプロファイルとして発行し、~/.kova/config.json の profiles[<account>] に保存。activeProfile も自動的に切り替わります。claude 等を起動すると、新しい kova プロセスがここから credential を直接読み取って agent モードで動作します。
4. Step 4/4: 拡張機能のインストール
スキルリポジトリと公式プラグイン(npm パッケージ)をマルチ選択でインストール。0 件選択(スキップ)も可能で、後から kova skills install / kova plugin install で追加できます。
5. 完了画面
成功時の表示はすべて stderr に出力されます(stdout には何も出ません — エラー時のみ stdout に error JSON が出る設計):
- 復旧フレーズの 1 回限り表示(新規マスター作成時のみ)
- 「次のステップ」案内:
claude(またはcodex等)を直接起動。kova credential は disk から自動読み込み- Claude Code から自然言語で Kova を呼び出す例
- 「私の Kova アカウントの情報を教えて」
- 「Base の残高を確認して」
- 「alice に 0.001 ETH 送るシミュレーションを試して」
JSON 出力について:
kova initの 成功パスは stdout に JSON を出力しません(対話 UI 専用コマンドのため)。ステータスは exit code で確認します(成功 = 0、INIT_INCOMPLETE= 1)。一方、エラー時は次節のとおり stdout に error JSON が出ます。
Half-state(初期化未完了)
Step 3 (AI 接続設定) で失敗するとアカウントは保存済み・credential は未発行の状態になります。この場合は INIT_INCOMPLETE を返し、exit code 1 で終了します。
{
"ok": false,
"error": {
"code": "INIT_INCOMPLETE",
"message": "Wallet was created but agent profile setup failed. Run `kova init` again to complete the agent setup."
}
}現状の制約: エラーメッセージは「
kova init再実行」を案内していますが、現行のinitは single-wallet ガードにより保存済みアカウントを検出すると即終了します。そのため AI 接続設定だけを再実行する用途には使えません。回避策としては、~/.kova/config.jsonの wallet エントリを手動で削除した上でkova initをやり直すか、OWS 側で API 鍵を別途発行して config に書き込む必要があります。半完了状態からの自動復旧 CLI は follow-up issue で追跡しています。
使用例
1. 初回セットアップ(新規マスターアカウント)
kova init対話プロンプトに従って言語・アカウント名・passphrase・支払いポリシー・拡張機能を順に決定します。
2. 既存マスターからの追加アカウント派生
hd.masterWallet 設定済みの状態で kova init を再度実行すると、新規アカウントがマスターの mnemonic から派生されます。Passphrase 入力欄では既存マスターの passphrase を入力します。
3. AI 接続設定のみやり直し
init が Step 3 で失敗した場合、アカウントは保存済みなので次回は次を実行します。
kova initよくあるエラーと対処法
INIT_INCOMPLETE
アカウントは作成済みだが AI 接続設定で失敗した状態です。kova init を再実行して続きから完了させてください。
INVALID_PARAMS(passphrase 不適合)
新規マスター作成時、passphrase が短すぎる / 弱すぎる / アカウント名等を流用している場合に発生します。より強い passphrase を入力してください。
WALLET_NOT_FOUND(HD 派生時)
hd.masterWallet で指定された名前のアカウントが見つからない場合、シードフレーズから kova init でウォレットを再作成してから再度 kova init を実行してください。
INVALID_PARAMS(master passphrase mismatch)
HD 派生時、入力した passphrase でマスターアカウントを復号できなかった場合に発生します。マスター作成時の passphrase を入力してください。
TOS_NOT_AGREED
最終ステップで利用規約に同意しなかった場合、exit code 1 で終了します。後から kova init を再実行するか、未同意の状態で terms / init 以外のコマンド(例: kova wallet info)を叩くと同意 prompt が再表示されます。
注意点
1. 復旧フレーズは一度だけ
新規マスターの復旧フレーズは完了画面に 一度だけ 表示されます。安全な場所に保管してください。後から取り出すには kova wallet export --name <name> が必要で、passphrase が要求されます。
2. AI 接続設定は必須
Step 3(AI 接続設定)は必須ステップです。失敗時は INIT_INCOMPLETE を返すため、kova init での再実行が必要です。
3. チェーン選択は不要
旧仕様にあった「デフォルトチェーン選択」のステップは廃止されました。完了画面で表示される使用例は Polygon を前提にしています(ガスレス送金が現時点で Polygon に対応しているため)。
他のコマンド(balance / send など)を別のチェーンで使いたい場合は、各コマンドに --chain を明示してください。kova init がチェーン設定を保存するわけではないため、コマンドごとに --chain を指定するのが基本動作です。
4. 多重 init
既に初期化済みのディレクトリで kova init を再実行すると、既存アカウントを温存しつつ追加アカウントの派生 / 拡張機能の追加を行えます。defaultWallet などは新しいアカウント名で上書きされる点に注意してください。