diff --git a/src-python/backend_test.py b/src-python/backend_test.py index 7c91cb51..c43a622d 100644 --- a/src-python/backend_test.py +++ b/src-python/backend_test.py @@ -528,6 +528,12 @@ class TestMainloop(): case "/run/feed_watchdog": data = None expected_status = [401] # !!!Cant be tested here!!! + case "/run/lmstudio_connection": + data = None + expected_status = [200, 400] + case "/run/ollama_connection": + data = None + expected_status = [200, 400] case _: data = None expected_status = [404] diff --git a/src-python/docs/details/controller.md b/src-python/docs/details/controller.md index 66adb775..3dd3e73b 100644 --- a/src-python/docs/details/controller.md +++ b/src-python/docs/details/controller.md @@ -8,7 +8,7 @@ VRCTアプリケーションのビジネスロジックを制御するコント ### 新規ローカルLLM翻訳エンジン統合 -- LMStudio / Ollama への接続確認エンドポイント追加: `/get/data/lmstudio_connection`, `/get/data/ollama_connection` +- LMStudio / Ollama への接続確認エンドポイント追加: `/run/lmstudio_connection`, `/run/ollama_connection` - LMStudio URL 設定: `/get|set/data/lmstudio_url` - モデルリスト取得と選択: `/get/data/*_model_list`, `/get|set/data/*_model` (lmstudio / ollama / plamo / gemini / openai) - 認証・接続成功時に `selectable_*_model_list` / `selected_*_model` を run 経由で通知 (例: `/run/selectable_lmstudio_model_list`, `/run/selected_lmstudio_model`) @@ -38,6 +38,17 @@ VRCTアプリケーションのビジネスロジックを制御するコント - `getListLanguageAndCountry()` が YAML からロード済み `translation_lang` / `transcription_lang` を統合して互換言語のみ抽出 +### APIキー検証の厳格化 + +- Plamo API: キー長判定を「==72」から「>=72」へ変更し 72 文字以上を許容 +- Gemini API: 最小キー長を 20 → 39 へ引き上げ +- OpenAI API: "sk-" 接頭辞必須かつ長さ 164 文字以上の厳格化、エラーメッセージを「無効」に統一 + +### 翻訳モデル選択時の適用確実化 + +- OpenAI / Plamo / Gemini / LMStudio / Ollama でモデル設定後に `setTranslatorXModel()` と `updateTranslatorXClient()` を必ず呼び出してクライアント状態を確実反映 +- デフォルトモデル自動選択時もモデル適用を即座実行 + ### デバイス自動選択改善 - マイク/スピーカー自動選択機能で更新前後に適切な停止/再開コールバックをチェーン設定 (energy チェック再起動含む) diff --git a/src-python/docs/details/mainloop.md b/src-python/docs/details/mainloop.md index e89909d9..02175264 100644 --- a/src-python/docs/details/mainloop.md +++ b/src-python/docs/details/mainloop.md @@ -11,6 +11,8 @@ VRCTアプリケーションのメインイベントループを管理するモ - VRAM 関連エラー通知エンドポイント追加: `/run/error_translation_chat_vram_overflow` など 5 種類 (翻訳/音声認識送受信別) - ローカル LLM (LMStudio/Ollama) モデルリスト通知: `/run/selectable_lmstudio_model_list`, `/run/selectable_ollama_model_list` と選択モデル `/run/selected_*_model` - 従来の Plamo/Gemini/OpenAI モデル取得通知と形式統一 +- LMStudio/Ollama 接続確認エンドポイント: `/get/data/lmstudio_connection`, `/get/data/ollama_connection` を `/run/lmstudio_connection`, `/run/ollama_connection` に移動して非同期通知統一 +- 文字変換エンドポイント追加: `/set/data/convert_message_to_romaji`, `/set/data/convert_message_to_hiragana`, `/set/enable/convert_message_to_romaji`, `/set/enable/convert_message_to_hiragana`, `/set/disable/convert_message_to_romaji`, `/set/disable/convert_message_to_hiragana` で音訳機能制御 ### エンドポイントロックキー正規化