WaveHelp Center

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で保存された内容より優先されるため、別のアカウントとして1回だけコマンドを実行したい場合に便利です。

wave whoamiはアカウント、サブスクリプションの状態、セッション数を表示します。wave logoutはこのマシンに保存された認証情報を削除します。

もう管理していないマシンを切り離したい場合は、WaveのウェブアプリのIntegrations(「連携」)タブからDeveloper APIに進み、Wave CLIという名前のトークンを取り消してください。これにより、そのトークンが使われていたすべての場所で無効になります。

コマンド一覧

Sessions

  • wave sessions list--limit--since7d2w1mのような形式を受け付けます)、--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 "your query" — セマンティック検索。--limit--tagで絞り込み可能。
  • wave transcript <id> — 文字起こしを出力します。--formattext(デフォルト)、srtsegmentsに対応。--speakersで話者ラベル付きの出力に切り替え、--jsonで生のレスポンスを返します。
  • wave media urls <id> — 署名付きの音声・動画URLを取得。
  • wave media download <id> — 音声を保存します。動画(MP4)が欲しい場合は--video、保存先を指定したい場合は--outputを追加してください。
  • wave bulk [ids...] — 最大50件のセッションをまとめて書き出します。--summary--transcriptに対応。
  • wave stats — タイプとプラットフォーム別の件数と長さの集計。

Folders

  • wave folders list — 名前、ID、セッション数を表示。
  • wave folders create "Customer research" --color "#6D28D9" — 再実行しても安全です。同名のフォルダがあればそれが返されます。

イベントとWebhook

  • wave events list --ackwave events ack <cursor>wave events tail --interval 3 --ack --json — Webhook受信サーバーを構築せずに新しいセッションを取得できます。Waveはトークンごとに読み取り位置を記憶します。
  • wave webhooks list / create / update / test / rotate-secret / delete — プッシュ配信の管理。テストイベントの送信や署名シークレットのローテーションも含まれます。

設定

wave config getwave config set <key> <value>wave config pathで、OSの設定ディレクトリ内にあるapi_keyapi_urldefault_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は便利です。

よくある質問

この記事は役に立ちましたか?

まだお困りですか?

メールで問い合わせ

このページの内容