スマホ上で動くローカルAIの音声合成が、31言語まで広がりました。
Tether傘下のQVACが、オンデバイスAI向けSDK「QVAC SDK 0.14.0」を2026年6月29日に公開しました。モバイル向けの推論高速化、コーディングエージェント連携の整備、多言語TTSの拡張が中心です。クラウドAPIに頼らず端末内でAIを動かしたい開発者にとって、実装の選択肢が一段増えたリリースです。
この記事でわかること
- QVAC SDK 0.14.0の主な変更点と破壊的変更
- OpenCode公式プラグインとコーディングエージェント連携の仕組み
- ローカルTTSの31言語対応と新モデル群
- アップデート時に確認すべき注意点
0.14.0で何が変わったか
https://github.com/tetherto/qvac/releases/tag/sdk-v0.14.0
QVAC SDKは、LLM推論・音声認識・TTS・OCRなどを端末内で動かすためのJavaScript/TypeScript向けSDKです。Node.js、Bareランタイム、Expo(Android/iOS)に対応し、同一コードベースでデスクトップとモバイルの両方を狙えます。
公式のリリースノートによると、0.14.0では次の変更が入っています。
- ログ出力がデフォルトで無音になり、診断ログは設定ファイルやAPIで明示的に有効化する方式に変更
- OCRの推論基盤をONNXからGGML-OCR 0.4.0へ移行(旧OCR定数2種は削除)
- 医療向けLLM(1.7B/4B)、Qwen3.5マルチモーダルプロジェクタ、Supertonic 3多言語TTSなどのモデル追加
reasoning_budgetやremove_thinking_from_contextによる推論チャネル制御RequestValidationFailedErrorによるフィールド単位のバリデーションエラー- TTSエンジンごとの言語バリデーション強化
QVAC公式のX投稿では、加えてモバイル向けオンデバイススタックの高速化と「developer-agent path」の提供も告知されています。リリースノートのバグ修正欄には、分類プラグインのバンドル修正やモバイル向けe2eテストの追加も記載されており、モバイル実装の安定性向上が含まれています。
コーディングエージェント連携が一段楽になった理由
クラウドのコーディングエージェントを使うと、ソースコードが外部サーバーへ送られます。ローカルモデルをエージェントから呼び出せれば、プライバシーとコストの両面でメリットがあります。一方で、サーバー起動・モデル設定・コンテキスト長の調整など、セットアップの手間が壁になりがちです。
0.14.0では、この課題に対する公式の連携経路が揃いました。
OpenCode公式プラグイン
https://docs.qvac.tether.io/cli/http-server/connection/
QVAC公式ドキュメントでは、OpenCode向けに@qvac/opencode-pluginの利用を推奨しています。プロジェクトのopencode.jsonに次の1行を足すだけで、ローカルのQVACサーバーを自動起動し、OpenCode終了時にクリーンアップします。
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@qvac/opencode-plugin"]
}
プラグインはデフォルトでqvac/qwen3.5-9bを使います。より大きなモデルが必要な場合は、プラグインのオプションでGPT_OSS_20B_INST_Q4_K_Mなどに切り替えられます。裏側では@qvac/ai-sdk-providerのmanagedモードがqvac serveを起動し、OpenAI互換APIとしてOpenCodeへ接続します。
QVAC公式のX投稿では、これを「初の公式OpenCodeプラグイン」として紹介しています。別ターミナルでサーバーを立ち上げる手順が不要になる点が、developer-agent pathの実用面での核心です。
OpenClawとの連携
OpenClawは、SlackやTelegramなどのチャットアプリとAIエージェントをつなぐセルフホスト型ゲートウェイです。QVAC公式のX投稿では、OpenClaw向けの「maintained」な互換パスも提供すると述べています。
OpenClaw自体はOpenAI互換エンドポイントをカスタムプロバイダーとして登録できる設計です。QVAC側はqvac serve openaiコマンドでOpenAI互換のHTTPサーバー(デフォルトhttp://localhost:11434/v1)を提供するため、OpenClawのプロバイダー設定からローカルモデルを指定する構成が可能です。0.13.0以降で整備された@qvac/ai-sdk-providerのmanagedモードを使えば、サーバー起動もプログラム側に任せられます。
ただし、ローカルモデルでツール呼び出しを安定させるには14Bパラメータ以上のコーダー系モデルが必要という制約は変わりません。QVAC公式ドキュメントでも、4B/8BのInstructモデルは会話はできてもツール呼び出しは信頼できないと明記されています。
ローカルTTSが31言語に広がった意味
https://docs.qvac.tether.io/ai-capabilities/text-to-speech/
クラウドTTSは品質が高い一方、通信が必要でデータが外部に出ます。オフラインで動く音声合成は、プライバシー重視のアプリや通信制限のある環境で有効です。
0.14.0ではSupertonic 3多言語TTSモデル(TTS_MULTILINGUAL_SUPERTONIC3_*)が追加され、対応言語は31言語に達しました。量子化形式はFP16、FP32、Q4_0、Q8_0の4種類です。Chatterboxエンジン側もヘブライ語(he)、ロシア語(ru)、中国語(zh)、ヒンディー語(hi)が加わり、エンジンごとにTTS_CHATTERBOX_LANGUAGESとTTS_SUPERTONIC_LANGUAGESの定数で言語を型安全に指定できます。
ExpoアプリからはloadModelでTTSモデルを読み込み、textToSpeechで音声バッファを取得する流れは従来どおりです。Android 12以降・iOS 17以降の実機でGPUアクセラレーション(Vulkan/Metal)を使える点も、モバイル向けTTSの実用性を支えています。
破壊的変更とアップグレード時の注意
ログがデフォルトで出なくなった
開発中にコンソールへ大量のネイティブログが流れていた挙動は終わりました。qvac.config.jsonでloggerConsoleOutput: trueを設定するか、subscribeServerLogsでプログラムから取得します。ネイティブバックエンドの詳細ログにはloggerLevel: "debug"も必要です。
Bare環境でprocessが使えなくなった
bare-processの同梱が廃止されました。Bareランタイム上でprocess.exit()などを使う場合は、bare-processを明示的にインストールしてインポートする必要があります。
OCR定数の置き換え
OCR_CRAFT_DETECTOR_GGMLとOCR_LATIN_RECOGNIZER_GGMLは削除されています。代わりにOCR_CRAFT、OCR_DOCTR、OCR_LATINなどのGGMLバックエンド定数へ移行してください。
0.13.0からの位置づけ
0.13.0ではElectron向けデスクトップパッケージングやOpenCode向けの手動プロバイダー設定が整備されました。0.14.0はその延長線上で、プラグインによるワンコマンド連携、TTS言語の大幅拡張、推論制御の細分化、エラーメッセージの改善を届けるリリースです。npmパッケージ@qvac/sdkの0.14.0は、2026年6月29日付で公開済みです。
ローカルファーストのAI開発を進めるなら、まずnpm i @qvac/sdkでSDKを入れ、コーディングエージェント連携を試すなら@qvac/opencode-pluginの導入から始めるのが最短ルートです。TTSを組み込むアプリでは、Supertonic 3の31言語対応モデルが新たな選択肢になります。