Wave CLI
wave コマンドをインストールしてブラウザからサインインし、ターミナルから録音を一覧・検索・エクスポート・整理する方法。
Wave CLI は、あなたの録音をターミナルに持ち込みます。これは @waveai/cli という npm パッケージで、wave コマンドをインストールします。これでセッションの一覧表示、検索、文字起こしの表示、音声のダウンロード、あるいはそれらをスクリプトにパイプすることができます。データを返すすべてのコマンドは --json を受け付けるので、他のツールと組み合わせやすくなっています。
すべての Wave プランで無料で使え、Node.js 20 以降が必要です。macOS、Linux、Windows で動作します。
インストール
npm install -g @waveai/cli何もインストールせずに試すには:
npx @waveai/cli sessions listサインイン
次を実行します:
wave loginブラウザが開き、Authorize Wave CLI(「Wave CLI を認証」)ページが表示されます。ここには現在サインインしているアカウントと、CLI ができるようになる操作が示されます。Authorize CLI(「CLI を認証」)をクリックすると、ページに You can close this tab and return to your terminal.(「このタブを閉じてターミナルに戻って構いません」)と表示されます。ターミナル側は認証情報を受け取り、あなたのセッション数を表示します。
この方法でサインインすると、アカウントがサポートするすべての権限を持つ Wave CLI という名前の API トークンが作成されます。セッションの完全削除も含まれます。もっと限定した権限にしたい場合は、ブラウザでのフローをスキップし、Developer API ページで必要な権限だけを持つトークンを作成し、代わりに wave login --token wave_api_... を実行してください。
その他、認証には2つの方法があります:
wave login --token wave_api_...— 自分で作成したトークンを貼り付けます。CI やヘッドレスなマシンに向いています。WAVE_API_KEY環境変数を設定する。これはwave loginが保存した情報よりも優先されるため、あるコマンドだけ別アカウントとして実行するのが簡単になります。
wave whoami はアカウント、サブスクリプションの状態、セッション数を表示します。wave logout はこのマシンに保存された認証情報を消去します。
もう管理していないマシンを遮断するには、Wave ウェブアプリの Integrations(「連携」)タブから Developer API に進み、Wave CLI という名前のトークンを無効化してください。これで、そのトークンが使われていたすべての場所で無効になります。
コマンド一覧
セッション
wave sessions list—--limit、--since(7d、2w、1mを指定可能)、--type、--folder、--tag(複数指定可)、--tag-modeが使えます。wave sessions get <id>— 1つのセッションのメタデータ、要約、メモ、タグ、通話の詳細を表示します。wave sessions update <id>—--title、--notes、--tags、--favorite/--no-favoriteを設定します。wave sessions add-folder <session_id> <folder_id>とwave sessions remove-folder— フォルダは排他的ではないため、1つ追加しても他のフォルダが外れることはありません。wave sessions action-items get <session_id>とwave sessions action-items update <session_id>— アクションアイテムをバージョン情報つきで読み取り、ファイルまたは標準入力から書き戻します。--if-matchを付けると、アプリ側で同時に行われた編集が上書きされず拒否されるようにできます。wave sessions delete <id>— 完全に削除されます。--forceを渡さない限り確認を求めます。
コンテンツ
wave search "検索クエリ"— セマンティック検索。--limitと--tagでフィルタできます。wave transcript <id>— 文字起こしを表示します。--formatにはtext(デフォルト)、srt、segmentsを指定できます。--speakersで話者ラベル付きの出力に切り替わり、--jsonは生のレスポンスを返します。wave media urls <id>— 署名付きの音声・動画 URL を取得します。wave media download <id>— 音声を保存します。--videoを付けると MP4 になり、--outputで保存先を指定できます。wave bulk [ids...]— 最大50セッションをまとめてエクスポートします。--summaryと--transcriptが使えます。wave stats— タイプとプラットフォーム別の件数と長さの集計です。
共有
wave shared list— 他の Wave ユーザーがあなたと共有したセッション。--limitと--cursorが使えます。wave shared get <owner_id> <session_id>、wave shared transcript、wave shared action-items、wave shared media— 1件を読み取ります。transcriptはwave transcriptと同じ--formatと--speakersフラグを受け付けます。wave sessions list --include-shared— 共有されたセッションを一覧に混ぜて表示し、それぞれ誰が共有したかが表示されます。wave sessions share <id>— 招待リンクを表示します。--email a@x.com,b@y.com(最大10件)とオプションの--messageを付けると、代わりにメールで招待できます。wave sessions access <id>— アクセス権を持つ人と、保留中のメール招待を確認します。wave sessions unshare <id>に--recipient <user_id>、--email <address>、または--everyoneを付ける — 特定の人を削除する、保留中の招待を取り消す、あるいはリンクをリセットして全員のアクセスを削除します。wave sessions share reset <id>はリンクをリセットします。--remove-everyoneを付けると全員のアクセスも削除されます。
共有されたセッションは読み取り専用で、wave search は自分自身のセッションのみが対象です。詳しくはClaude、ChatGPT、API、CLI からのセッション共有をご覧ください。
フォルダ
wave folders list— 名前、ID、セッション数を表示します。wave folders create "Customer research" --color "#6D28D9"— 何度実行しても安全です。同じ名前がすでにあれば、既存のフォルダが返されます。
イベントと Webhook
wave events list --ack、wave events ack <cursor>、wave events tail --interval 3 --ack --json— Webhook の受信サーバーを用意しなくても新しいセッションを取得できます。Wave はトークンごとに読み取り位置を記憶します。wave webhooks list / create / update / test / rotate-secret / delete— プッシュ配信の管理。テストイベントの送信や署名シークレットのローテーションもできます。
設定
wave config get、wave config set <key> <value>、wave config path は、OS の設定ディレクトリにある api_key、api_url、default_format を管理します。wave config path は正確なファイルパスを表示します。手動で認証情報を消去したいときに便利です。
スクリプト化する価値があるもの
直近1週間の録音を、文字起こしも含めてバックアップする:
wave sessions list --since 7d --limit 50 --json \
| jq -r '.sessions[].id' \
| xargs wave bulk --summary --transcript --json > backup.json新しいセッションを監視し、届くたびに処理する:
wave events tail --interval 3 --ack --json各コマンドはWave Developer APIと1対1で対応しています。つまり CLI ができることは自分のコードからも実行できます。CLI は、実際にコードを書く前にレスポンスの形を手早く確認するのにも便利です。
よくある質問
api.wave.co/cli にすべてのコマンドが例とともに掲載されています。wave --help(またはサブコマンドに --help を付ける)でも、ローカルで同じ内容が表示されます。パッケージ自体はnpmjs.com/package/@waveai/cliにあります。
サインインは約1分で諦めてしまいます。Wave にサインインしているブラウザプロファイルで手続きを完了させてから、もう一度 wave login を実行してください。ブラウザのないマシンでは wave login --token wave_api_... を使ってください。
API トークンは作成から1年で期限切れになります。もう一度 wave login を実行して新しいトークンを発行してください。
はい。そのコマンドだけ WAVE_API_KEY を設定してください。保存済みの認証情報を変更することなく、一時的に上書きできます。
この記事は役に立ちましたか?
まだお困りですか?