OneSayプラットフォーム
変更履歴
プレビュー版:機能とAPIは変更される場合があります。
2026-10-27:音声ルームとOneSay Agentの通話を安定化
- 音声ルーム:ほかの人がすでに話しているルームに参加して受信するときの問題を修正しました。サーバーが混み合っているときは、コンソールがそのステップを最大3回まで自動で再試行し、再試行中であることを表示します。
- 音声ルーム:自分のマイクのソースだけを表示します。同じ環境にあるほかの人のソースは表示されなくなりました。
- OneSay Agentとの会話が、約38秒で終了しなくなりました。
- Agentを停止したあと、停止が確認されると、Agent実行の読み取り結果は
stoppedとeffective_stopped_atを返し、pendingのままにはなりません。コンソールが代わりに読み直します。 - サービスの再起動で中断されたルームのクローズは再試行されるため、閉じたルームが環境のアクティブなルームの枠を占有し続けることはなくなりました。
2026-10-27:ドキュメントとコンソールを読みやすく改善
- 画面より幅の広いドキュメントの表は、まだスクロールできる側にフェードを表示します。ドキュメント、サンプル、この変更履歴、コミュニティのページが対象です。表のセル内の識別子は、名前の途中で改行されなくなりました。
- 狭い画面では、見出しの
#リンクが見出しと同じ行に残り、パンくずリストの区切り記号が行末に残らなくなりました。前後のページへのリンクでは、「前へ」「次へ」をページタイトルの上に別の行で表示します。 - コンソールの各ビューはタブになりました。矢印キーでタブ間を移動し、Enterで開きます。
- 開発者ポータル、ドキュメント、コンソールの中国語と日本語のテキストを確認しました。日本語のテキストは、統一したスタイルガイドと用語集に従います。
2026-10-26:音声ルームのメッセージを改善
- コンソールの音声ルームで、誰かが退出しても、ほかの人の接続は終了しなくなりました。メンバーは引き続き固定です。別のメンバーで話すには、退出して新しいルームを始めてください。
- 満員のルームに接続したとき、または環境のリアルタイム上限に達したときは、音声ルームがその旨と対処方法を表示します。
- 3人または4人用ではないルームに参加しようとすると、専用のメッセージとともに拒否されます。
2026-10-26:リファレンスの中国語版と日本語版
- リファレンスカタログ、JavaScript SDKとESP32 SDKのリファレンス、SDKのケイパビリティと互換性のページを、中文と日本語でも提供しています。API定義に由来する説明は、現時点では英語のままです。
- リファレンスのページは、利用できる内容だけを説明するようになりました。ESP32 SDKにないRTCの機能は「ESP32では未対応」と表示します。
- この変更履歴には、開発者に見える変更だけを記載します。
2026-10-25:複数人の音声ルームのガイド
- 新しいガイド:複数人の音声ルームでは、3〜4人が公開APIとJavaScript SDKを使い、ブラウザーから1つの音声ルームに参加する手順を説明します。ルームの作成または参加、接続、公開、参加者一覧の読み取り、聴取、退出までを扱い、状態を変える各ステップでは同意が必要です。プレビューの制限も記載しています。
2026-10-25:JavaScriptクイックスタートにOneSay Agentを追加、MCPガイドとデバイス診断を追加
- JavaScriptクイックスタートでは、
client.rtc.agents.createで自分のルームにOneSay Agentを開始し、client.rtc.agents.getで読み取り、client.rtc.agents.stopで終了する方法を説明しています。何かを作成、変更、終了する呼び出しには、OneSayでの確認が必要です。確認するまでサーバーはconsent_requiredを返します。確認後、同じ冪等キーで再試行してください。 - 新しいガイド:AIクライアント向けのMCPガイドとデバイス診断。
- MCPサーバーには17のツール、4つのリソース、2つのプロンプトがあります。R0のツールはアカウントが不要、R1のツールはアカウントで読み取れる内容を読み取り、R2のツールは何かを変更するためOneSayでの確認が必要です。MCPサーバーはStagingで稼働しています。本番環境はまだ提供されていません。
2026-10-24:コンソールに音声通話トライアルを追加
- コンソールに音声通話トライアルのセクションがあります。ブラウザーからOneSay Agentと会話でき、ルームの作成から終了まで1ステップずつ進めます。何かを作成、変更、終了するステップでは、事前に承認を求めます。Stagingでのみ利用できます。
- JavaScript SDK:
RealtimeClientは自身のハートビートへの応答を内部で処理し、それ以外のpongをすべてアプリケーションに渡します。ハートビートのpingへの応答としてerrorが届いた場合も同様です。
2026-10-23:開発者ポータルの3言語対応
- 開発者ポータル、ドキュメント、コンソールをEnglish、中文、日本語で利用できます。言語を切り替えても同じページにとどまります。
2026-10-22:エンドポイントをonesay.comに変更
- Control API:
https://api.onesay.com/v1(Staging:https://api.staging.onesay.com/v1)。 - タスク音声のRealtime WebSocket:
wss://realtime.onesay.com/v1(Staging:wss://realtime.staging.onesay.com/v1)。 - MCP:
https://mcp.onesay.com/mcp(Staging:https://mcp.staging.onesay.com/mcp)。 - SDKの環境テーブルは、これらのアドレスを使います。
2026-10-20:RTC接続とSDKのケイパビリティマトリックス
- 準備中のルームに対する
POST /v1/rtc/connectionsは、202とretry_after_msを返します。その時間が経過したら新しいIdempotency-Keyで再度リクエストしてください。ルームの準備ができると201が返ります。JavaScript SDKのrtc.connectは待機と再試行を自動で行います。 - SDKのケイパビリティと互換性のページで、各SDKの対応内容を確認できます。
- ESP32:
onesay_esp32_rtc_prepareは、media_encryptionにどの値を指定しても、リクエストを送る前にONESAY_ERR_INVALID_ARGで拒否します。このフィールドは設定しないでください。
2026-10-17:タスク音声とRTCで1つのルームを共有
POST /v1/roomsで作成したルームは、タスク音声とRTCに同時に使えます。POST /v1/rooms/{room_id}/closeは両方を終了します。接続が閉じ、SDKのセッションはclosedを報告します。閉じたルームには参加できず、再び開くこともできません。- リアルタイム接続で
context_snapshot.readのグラントを要求できるようになり、その接続で作成したタスクがContextSnapshotを持てます。ContextSnapshotを利用できないディクテーションタスクは、作成時にtask_profile_input_unsupportedで拒否されます。 - ESP32のRPC:SDKはRPCの呼び出しに応答し、元の呼び出し元にだけ返信します。RPCの呼び出しを行う機能はまだありません。
2026-10-15:JavaScriptでRTC音声のエンドツーエンド暗号化
rtc.connect({ mediaEncryption: "e2ee" })は、サーバーが発行して30秒ごとにローテーションする参加者ごとの鍵で、音声フレームをエンドツーエンドで暗号化します。暗号化を実行できないブラウザーは参加前に失敗し、暗号化なしで参加することはありません。session.capabilities.e2eeはこのモードでのみtrueです。鍵はOneSayが発行するため、OneSayは音声を復号できます。- 新しいエラーコード
resource_busy:別のキャプチャがマイクを使用中のとき、JavaScript SDKはpublishMicrophoneからこのエラーを返します。ESP32では、キャプチャと再生のコールバックがONESAY_ERR_RESOURCE_BUSYを返すことができ、onesay_esp32_rtc_read_media_statusがそれを報告します。
2026-10-14:コンソールのリソースビュー
- コンソールでは、リソースの詳細、リクエストのタイムライン付きのリクエスト診断、ディメンション別の使用量、Agentの詳細を確認でき、確認したうえでAgentを停止できます。
- リソースの作成とメタデータの更新、APIキーの作成とローテーション(ローテーションすると以前のキーはすぐに失効します)、デバイスとそのプロビジョニングコードの作成、デバイスの認証情報のローテーションを、それぞれ変更内容を確認してから実行できます。返されたシークレットは表示するまでマスクされ、スコープを変えるかページを離れると消去されます。
元のMarkdownを表示
# 変更履歴
## 2026-10-27:音声ルームとOneSay Agentの通話を安定化
- 音声ルーム:ほかの人がすでに話しているルームに参加して受信するときの問題を修正しました。サーバーが混み合っているときは、コンソールがそのステップを最大3回まで自動で再試行し、再試行中であることを表示します。
- 音声ルーム:自分のマイクのソースだけを表示します。同じ環境にあるほかの人のソースは表示されなくなりました。
- OneSay Agentとの会話が、約38秒で終了しなくなりました。
- Agentを停止したあと、停止が確認されると、Agent実行の読み取り結果は`stopped`と`effective_stopped_at`を返し、`pending`のままにはなりません。コンソールが代わりに読み直します。
- サービスの再起動で中断されたルームのクローズは再試行されるため、閉じたルームが環境のアクティブなルームの枠を占有し続けることはなくなりました。
## 2026-10-27:ドキュメントとコンソールを読みやすく改善
- 画面より幅の広いドキュメントの表は、まだスクロールできる側にフェードを表示します。ドキュメント、サンプル、この変更履歴、コミュニティのページが対象です。表のセル内の識別子は、名前の途中で改行されなくなりました。
- 狭い画面では、見出しの`#`リンクが見出しと同じ行に残り、パンくずリストの区切り記号が行末に残らなくなりました。前後のページへのリンクでは、「前へ」「次へ」をページタイトルの上に別の行で表示します。
- コンソールの各ビューはタブになりました。矢印キーでタブ間を移動し、Enterで開きます。
- 開発者ポータル、ドキュメント、コンソールの中国語と日本語のテキストを確認しました。日本語のテキストは、統一したスタイルガイドと用語集に従います。
## 2026-10-26:音声ルームのメッセージを改善
- コンソールの音声ルームで、誰かが退出しても、ほかの人の接続は終了しなくなりました。メンバーは引き続き固定です。別のメンバーで話すには、退出して新しいルームを始めてください。
- 満員のルームに接続したとき、または環境のリアルタイム上限に達したときは、音声ルームがその旨と対処方法を表示します。
- 3人または4人用ではないルームに参加しようとすると、専用のメッセージとともに拒否されます。
## 2026-10-26:リファレンスの中国語版と日本語版
- [リファレンスカタログ](../reference/generated/catalog.md)、[JavaScript SDK](../reference/generated/javascript-sdk-draft.md)と[ESP32 SDK](../reference/generated/esp32-sdk.md)のリファレンス、[SDKのケイパビリティと互換性](../reference/generated/sdk-compatibility.md)のページを、中文と日本語でも提供しています。API定義に由来する説明は、現時点では英語のままです。
- リファレンスのページは、利用できる内容だけを説明するようになりました。ESP32 SDKにないRTCの機能は「ESP32では未対応」と表示します。
- この変更履歴には、開発者に見える変更だけを記載します。
## 2026-10-25:複数人の音声ルームのガイド
- 新しいガイド:[複数人の音声ルーム](../guides/MULTI_PARTY_VOICE_ROOM.md)では、3〜4人が公開APIとJavaScript SDKを使い、ブラウザーから1つの音声ルームに参加する手順を説明します。ルームの作成または参加、接続、公開、参加者一覧の読み取り、聴取、退出までを扱い、状態を変える各ステップでは同意が必要です。プレビューの制限も記載しています。
## 2026-10-25:JavaScriptクイックスタートにOneSay Agentを追加、MCPガイドとデバイス診断を追加
- [JavaScriptクイックスタート](../guides/JAVASCRIPT_QUICKSTART.md)では、`client.rtc.agents.create`で自分のルームにOneSay Agentを開始し、`client.rtc.agents.get`で読み取り、`client.rtc.agents.stop`で終了する方法を説明しています。何かを作成、変更、終了する呼び出しには、OneSayでの確認が必要です。確認するまでサーバーは`consent_required`を返します。確認後、同じ冪等キーで再試行してください。
- 新しいガイド:AIクライアント向けの[MCPガイド](../guides/MCP_GUIDE.md)と[デバイス診断](../guides/DEVICE_DIAGNOSTICS.md)。
- MCPサーバーには17のツール、4つのリソース、2つのプロンプトがあります。R0のツールはアカウントが不要、R1のツールはアカウントで読み取れる内容を読み取り、R2のツールは何かを変更するためOneSayでの確認が必要です。MCPサーバーはStagingで稼働しています。本番環境はまだ提供されていません。
## 2026-10-24:コンソールに音声通話トライアルを追加
- [コンソール](CONSOLE.md)に音声通話トライアルのセクションがあります。ブラウザーからOneSay Agentと会話でき、ルームの作成から終了まで1ステップずつ進めます。何かを作成、変更、終了するステップでは、事前に承認を求めます。Stagingでのみ利用できます。
- JavaScript SDK:`RealtimeClient`は自身のハートビートへの応答を内部で処理し、それ以外の`pong`をすべてアプリケーションに渡します。ハートビートのpingへの応答として`error`が届いた場合も同様です。
## 2026-10-23:開発者ポータルの3言語対応
- 開発者ポータル、ドキュメント、コンソールをEnglish、中文、日本語で利用できます。言語を切り替えても同じページにとどまります。
## 2026-10-22:エンドポイントをonesay.comに変更
- Control API:`https://api.onesay.com/v1`(Staging:`https://api.staging.onesay.com/v1`)。
- タスク音声のRealtime WebSocket:`wss://realtime.onesay.com/v1`(Staging:`wss://realtime.staging.onesay.com/v1`)。
- MCP:`https://mcp.onesay.com/mcp`(Staging:`https://mcp.staging.onesay.com/mcp`)。
- SDKの環境テーブルは、これらのアドレスを使います。
## 2026-10-20:RTC接続とSDKのケイパビリティマトリックス
- 準備中のルームに対する`POST /v1/rtc/connections`は、`202`と`retry_after_ms`を返します。その時間が経過したら新しい`Idempotency-Key`で再度リクエストしてください。ルームの準備ができると`201`が返ります。JavaScript SDKの`rtc.connect`は待機と再試行を自動で行います。
- [SDKのケイパビリティと互換性](../reference/generated/sdk-compatibility.md)のページで、各SDKの対応内容を確認できます。
- ESP32:`onesay_esp32_rtc_prepare`は、`media_encryption`にどの値を指定しても、リクエストを送る前に`ONESAY_ERR_INVALID_ARG`で拒否します。このフィールドは設定しないでください。
## 2026-10-17:タスク音声とRTCで1つのルームを共有
- `POST /v1/rooms`で作成したルームは、タスク音声とRTCに同時に使えます。`POST /v1/rooms/{room_id}/close`は両方を終了します。接続が閉じ、SDKのセッションは`closed`を報告します。閉じたルームには参加できず、再び開くこともできません。
- リアルタイム接続で`context_snapshot.read`のグラントを要求できるようになり、その接続で作成したタスクがContextSnapshotを持てます。ContextSnapshotを利用できないディクテーションタスクは、作成時に`task_profile_input_unsupported`で拒否されます。
- ESP32のRPC:SDKはRPCの呼び出しに応答し、元の呼び出し元にだけ返信します。RPCの呼び出しを行う機能はまだありません。
## 2026-10-15:JavaScriptでRTC音声のエンドツーエンド暗号化
- `rtc.connect({ mediaEncryption: "e2ee" })`は、サーバーが発行して30秒ごとにローテーションする参加者ごとの鍵で、音声フレームをエンドツーエンドで暗号化します。暗号化を実行できないブラウザーは参加前に失敗し、暗号化なしで参加することはありません。`session.capabilities.e2ee`はこのモードでのみtrueです。鍵はOneSayが発行するため、OneSayは音声を復号できます。
- 新しいエラーコード`resource_busy`:別のキャプチャがマイクを使用中のとき、JavaScript SDKは`publishMicrophone`からこのエラーを返します。ESP32では、キャプチャと再生のコールバックが`ONESAY_ERR_RESOURCE_BUSY`を返すことができ、`onesay_esp32_rtc_read_media_status`がそれを報告します。
## 2026-10-14:コンソールのリソースビュー
- コンソールでは、リソースの詳細、リクエストのタイムライン付きのリクエスト診断、ディメンション別の使用量、Agentの詳細を確認でき、確認したうえでAgentを停止できます。
- リソースの作成とメタデータの更新、APIキーの作成とローテーション(ローテーションすると以前のキーはすぐに失効します)、デバイスとそのプロビジョニングコードの作成、デバイスの認証情報のローテーションを、それぞれ変更内容を確認してから実行できます。返されたシークレットは表示するまでマスクされ、スコープを変えるかページを離れると消去されます。