From 87d11c617c969cfd5ce1504eac078080394e67ca Mon Sep 17 00:00:00 2001 From: misyaguziya <53165965+misyaguziya@users.noreply.github.com> Date: Mon, 20 Oct 2025 12:23:16 +0900 Subject: [PATCH] =?UTF-8?q?backend=5Ftest/docs:=20LMStudio/Ollama=20run=20?= =?UTF-8?q?=E6=8E=A5=E7=B6=9A=E3=82=A8=E3=83=B3=E3=83=89=E3=83=9D=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=83=88=E3=81=AE=E3=83=86=E3=82=B9=E3=83=88=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E3=81=A8=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1=E3=83=B3?= =?UTF-8?q?=E3=83=88=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - backend_test: /run/lmstudio_connection, /run/ollama_connection をテスト対象に追加(期待ステータス 200,400) - docs: controller.md / mainloop.md の LMStudio/Ollama 接続エンドポイント表記を /get/data→/run に修正 - docs: APIキー検証の厳格化と翻訳モデル選択時の適用確実化に関する説明を追記 --- src-python/backend_test.py | 6 ++++++ src-python/docs/details/controller.md | 13 ++++++++++++- src-python/docs/details/mainloop.md | 2 ++ 3 files changed, 20 insertions(+), 1 deletion(-) 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` で音訳機能制御 ### エンドポイントロックキー正規化