Commit Graph

2650 Commits

Author SHA1 Message Date
misyaguziya
bcfbf51696 LMStudio 認証呼び出しで base_url を明示渡しへ修正 + ドキュメント整備(ローカルLLM/言語マッピング/フォント等)
- controller: model.authenticationTranslatorLMStudio 呼び出しに base_url=config.LMSTUDIO_URL を明示的に渡すよう修正(LMStudio 接続判定で設定 URL を利用)
- docs: 新規ドキュメントを追加・更新
  - 追加: translation_gemini.md, translation_lmstudio.md, translation_ollama.md, translation_openai.md, translation_plamo.md
  - 更新: config.md, controller.md, mainloop.md, model.md, overlay.md, translation_languages.md, translation_translator.md, 仕様書.md(翻訳/モデル管理・エンドポイント・YAML 言語定義・フォント探索・VRAM フォールバック等の記載追加)
- ドキュメントに記載した主な変更点
  - LMStudio / Ollama のローカルLLM統合(モデルリスト/選択用プロパティ追加、接続確認エンドポイント)
  - CTranslate2 の言語定義を weight_type ネスト構造へ変更対応
  - 外部 YAML による言語マッピング導入(loadTranslationLanguages)
  - フォント探索を PyInstaller バンドル(_internal/fonts/) を考慮して強化
  - 認証後のモデルリスト自動更新・SELECTED_* プロパティ名統一、VRAM エラー検知時の自動フォールバック等の動作説明追加

(コードの振る舞いは既存処理に合わせた引数指定の修正とドキュメント反映が主体)
2025-10-20 01:19:49 +09:00
misyaguziya
83e72b37cc LMStudio 接続チェックとモデル選択処理を追加・強化、mainloop にエンドポイント追加、LMStudio/Ollama のモデル取得を例外耐性化
- Controller に checkTranslatorLMStudioConnection を追加し、接続成功時に SELECTABLE_TRANSLATION_ENGINE_STATUS や SELECTABLE_LMSTUDIO_MODEL_LIST を更新、選択モデルのフォールバック設定・クライアント更新・UI 更新呼び出しを行うよう実装
- setTranslatorLMStudioURL を接続成功時にモデルリスト/ステータス更新や選択モデルのフォールバック処理を行うよう拡張
- checkTranslatorOllamaConnection 成功時にも SELECTABLE_TRANSLATION_ENGINE_STATUS/モデルリスト更新、選択モデルフォールバック、クライアント更新、UI 更新呼び出しを追加
- mainloop に /get/data/lmstudio_connection エンドポイントを追加して LMStudio 接続チェックを公開
- translation_lmstudio.py と translation_ollama.py のモデル取得処理を try/except で保護し、例外時は空リストを返すよう修正(接続失敗やレスポンス異常に対する耐性向上)
2025-10-20 00:38:38 +09:00
misyaguziya
e71bf17e13 各翻訳クライアントで supported_languages を YAML から translation_lang に移行・参照するよう修正、プロンプトYAMLの重複した supported_languages ブロックを削除、LMStudio のデフォルト URL を /v1 に変更、mainloop に LMStudio/Ollama のモデル関連エンドポイントと run_mapping を追加、Controller 内の Ollama 表記のtypo(Lollama→Ollama)を修正してメソッド名・ログ文を更新、各クライアントで translation_languages のフォールバック import を追加 2025-10-19 22:07:58 +09:00
misyaguziya
6596743b6b 翻訳言語定義を YAML に移行しロード処理を実装
- 言語マッピングを src-python/models/translation/languages/languages.yml として追加
- translation_languages.py を全面リファクタ:YAML から読み込み、構造検証、スレッドロック、キャッシュ対応を導入
- config.py に loadTranslationLanguages のインポート/フォールバックを追加し、Config 初期化時に言語定義を読み込むよう変更
- PyYAML を requirements.txt / requirements_cuda.txt に追記
- PyInstaller spec (backend.spec / backend_cuda.spec) に言語ファイル配布先を追加
- translation_ollama.py の loadPromptConfig 呼び出しを修正(ファイル名を明示)
2025-10-18 23:16:22 +09:00
misyaguziya
7e7b3505a1 LMStudio と Ollama の翻訳バックエンドを追加・統合。
- config: SELECTABLE_/SELECTED_ の LMStudio/Ollama 項目と LMSTUDIO_URL を追加。
- Controller: LMStudio/Ollama の認証チェック、URL取得/設定、モデル一覧取得/設定のエンドポイントを実装。
- Model/Translator: LMStudio/Ollama 用の認証・モデル一覧・モデル設定・クライアント更新メソッドを追加し、翻訳処理の選択肢に対応。
- translation_* クライアント: 各クライアントでのプロンプト読み込み処理を共通化し、translation_utils.loadPromptConfig を利用するようにリファクタ。
- translation_languages: LMStudio/Ollama 用の言語マッピングを追加。
2025-10-17 21:48:44 +09:00
misyaguziya
965bee818a LM Studio と Ollama の翻訳クライアントとプロンプトを追加、requirements に langchain-ollama を追記
- src-python/models/translation に LM Studio 用 (translation_lmstudio.py / translation_lmstudio.yml) を追加
- Ollama 用クライアント (translation_ollama.py / translation_ollama.yml) を追加
- 各クライアントでプロンプト YAML から system_prompt / supported_languages を読み込み、認証チェック・モデル一覧取得・モデル設定・クライアント更新・translate 呼び出しを実装
- requirements.txt と requirements_cuda.txt に langchain-ollama==0.3.10 を追記
2025-10-17 15:58:50 +09:00
misyaguziya
c18748f6bc 翻訳モデル設定を SELECTED_* に統一し、Controller と UI 更新の連携を追加
- config: PLAMO_MODEL/GEMINI_MODEL/OPENAI_MODEL を SELECTED_PLAMO_MODEL/SELECTED_GEMINI_MODEL/SELECTED_OPENAI_MODEL にリネーム
  - JSON シリアライズキーも SELECTED_* に変更
  - 初期化フィールドを新キーに合わせて修正
- controller: すべての参照を新しい SELECTED_* プロパティへ置換
  - モデル一覧取得時に run コールバックで selectable リストを通知
  - 選択モデルを更新した際に run コールバックで選択状態を通知
  - モデル更新・クライアント再構築処理の呼び出しを保持
- mainloop: GUI 更新用の run_mapping に selectable/selected のモデル関連エンドポイントを追加
2025-10-16 21:55:27 +09:00
misyaguziya
a862805a05 OpenAI関連のメソッド名を統一し、認証後のモデル更新処理を追加
- メソッド名を OpenAi -> OpenAI に統一(get/set/del/get_model_list/get_model/set_model)
- OpenAI 認証キー設定時にモデル一覧を取得して SELECTABLE_OPENAI_MODEL_LIST を更新、選択モデルが存在しなければ第一候補へフォールバックして OpenAI クライアントを再初期化する処理を追加
- model のメソッド名を setTranslatorOpenAiModel -> setTranslatorOpenAIModel に変更
- mainloop のエンドポイントマッピングを新しいメソッド名に合わせて更新
2025-10-16 18:53:45 +09:00
misyaguziya
526fd4d5aa 翻訳バックエンドを拡張・リファクタリング:OpenAI/Plamo/Gemini クライアントを追加・改修し、プロンプトを YAML から読み込むように変更。各クライアントでモデル一覧取得・認証・クライアント更新機能を実装し、Translator/Model 層の対応メソッドを追加。Controller と mainloop にプラモ・ジェミニ・OpenAI の認証/モデル操作エンドポイントを追加・整備。config のモデル/API設定をプロパティ化して既定値を None に変更し、選択肢リストを初期化。translation_languages に OpenAI 用マッピングを追加。requirements ファイルの依存記述を調整。 2025-10-16 18:09:08 +09:00
misyaguziya
f8466bd6e4 翻訳APIの認証ロジックを改善し、YAMLファイルからプロンプト設定を読み込む機能を追加。新しいフォントファイルを追加し、データパスを更新。 2025-10-15 18:50:26 +09:00
misyaguziya
7d0f63c118 CTranslate2に対応する翻訳言語の設定を追加し、翻訳ロジックを更新 2025-10-14 23:15:49 +09:00
misyaguziya
6fc89fbb3e Merge branch 'develop' into translate_api
# Conflicts:
#	requirements.txt
#	requirements_cuda.txt
#	src-python/config.py
#	src-python/mainloop.py
#	src-python/model.py
#	src-python/models/osc/osc.py
#	src-python/models/translation/translation_languages.py
#	src-python/models/translation/translation_translator.py
#	src-python/models/translation/translation_utils.py
2025-10-14 12:47:47 +09:00
misyaguziya
b0403cfa70 Merge branch 'refacta_backend' into develop 2025-10-14 12:14:28 +09:00
misyaguziya
d1aef28c7a Add comprehensive detailed design documents 2025-10-14 07:28:03 +09:00
misyaguziya
fcb1295302 Add documentation and coding guidelines for VRCT backend
- Introduced a comprehensive coding rules document outlining naming conventions, module structure, import order, type annotations, error handling, and testing practices.
- Created a specification document detailing project goals, target users, and functional/non-functional requirements for the VRCT project.
- Added a design document describing the application's architecture, initialization policies, concurrency models, and error handling strategies.
- Included a detailed design document specifying major classes, functions, data structures, and exception handling.
- Removed outdated mypy configuration and several unused scripts related to documentation verification and cleanup.
- Deleted test files for OSC and overlay imports as part of the cleanup process.
2025-10-13 22:55:48 +09:00
misyaguziya
d4f89a734d デバイスマネージャーの監視機能を追加し、マイクおよびスピーカーの自動選択機能の有効/無効に応じて監視を開始・停止するロジックを実装。 2025-10-13 16:41:34 +09:00
misyaguziya
914789c9cb mainloopのスレッド管理を改善し、マルチワーカー化を実装。デバイス管理の初期化を遅延させ、エラーハンドリングを強化。ドキュメントを更新し、設定の変更点を明示化。 2025-10-13 08:28:27 +09:00
Sakamoto Shiina
2da132eebc Merge branch 'version' into develop 2025-10-10 09:30:16 +09:00
Sakamoto Shiina
127ff3e84a 👍️[Update] Version 3.3.0 -> 3.3.1 2025-10-10 09:29:35 +09:00
Sakamoto Shiina
69a3d36b20 Merge branch 'hotfix_slow_message_sending' into develop 2025-10-10 09:27:34 +09:00
Sakamoto Shiina
0e786cd04f [bugfix] Hotfix: Fix slowed message sending.(too much sent '/run/typing_message_box'). set 2 secs cool time. 2025-10-10 09:26:07 +09:00
misyaguziya
0130792682 mainloopモジュールのドキュメントを新規作成し、Mainクラスのstart()/stop()メソッドを追加。受信スレッドとハンドラスレッドのライフサイクル管理を明示化し、エラーハンドリングを強化。ポーリング負荷を低減するためにqueue.get()にタイムアウトを追加。 2025-10-09 22:52:15 +09:00
misyaguziya
6f33f8afbd Controllerの初期化時にmodel.init()を呼び出す互換レイヤを追加し、オーバーレイの存在チェックを安全に行うためのヘルパメソッドを導入。未使用のimportを削除し、ドキュメントを新規作成して変更点と注意事項を明示化。 2025-10-09 22:38:50 +09:00
misyaguziya
2b6611ef8e Modelクラスの初期化を遅延させる設計に変更し、各メソッドでのensure_initialized()呼び出しによって必要時にリソースを初期化するように修正。これにより、インポート時の副作用を抑止。 2025-10-09 21:47:19 +09:00
misyaguziya
ba13443d1c config.pyのリファクタリングを実施し、外部モジュールのインポートをガードして安全性を向上。初期化時のエラーハンドリングを強化し、デフォルト値の取得を安全に行えるように修正。関連ドキュメントを新規作成し、変更点と利用上の注意を明示化。 2025-10-09 19:27:55 +09:00
misyaguziya
61cbe07f0f デバイス管理モジュールのインポートをガードし、Windows固有の依存関係をオプショナルに変更。クラスの初期化メソッドを修正し、デフォルトデバイス変更時のコールバックを追加。ドキュメントを新規作成し、使用例や注意点を明示化。エラーハンドリングを強化し、コードの可読性を向上。 2025-10-09 19:04:31 +09:00
misyaguziya
eca5e31429 torchとctranslate2のインポートをガードし、安全なデフォルトを提供。型注釈とdocstringを追加して可読性を向上。ログ設定の重複ハンドラ追加を防ぐチェックを導入。encodeBase64はデコード失敗時に空辞書を返すように変更。getComputeDeviceListはGPU情報取得失敗時にCPU情報を返すように例外保護を追加。 2025-10-09 18:53:42 +09:00
misyaguziya
35e8d7dda9 スレッドセーフなトークナイザーアクセスのためにロックを追加。トークナイザーの呼び出し時に発生する可能性のあるRuntimeErrorを防ぐために、アクセスを直列化。 2025-10-09 18:43:12 +09:00
misyaguziya
944577eaf4 OSCモジュールのドキュメントを更新し、使用例や注意点を追加。型注釈を強化し、エラーハンドリングを改善。OSCHandlerクラスの初期化メソッドを修正し、サービスのアドバタイズ中の例外処理を追加。テストファイルを新規作成し、OSCモジュールのインポートテストを追加。 2025-10-09 17:39:52 +09:00
misyaguziya
690a2f081b ドキュメントを更新し、型注釈を追加してコードの可読性とメンテナンス性を向上。各モジュールの使用例や依存関係を明示化し、エラーハンドリングを改善。 2025-10-09 17:35:55 +09:00
misyaguziya
b26129af68 翻訳モジュールのドキュメントを更新し、セットアップ手順やAPI使用例を追加。型注釈を強化し、関数の戻り値を明示化。エラーハンドリングを改善し、コードの可読性を向上。 2025-10-09 17:30:48 +09:00
misyaguziya
7d24b3839c 型注釈を追加し、関数の戻り値を明示化。コードの可読性と型安全性を向上。 2025-10-09 17:07:21 +09:00
misyaguziya
7255722b67 ウォッチドッグのドキュメントを更新し、使用例を追加。型注釈とエラーハンドリングの改善を反映。 2025-10-09 17:01:31 +09:00
misyaguziya
569d8e3f76 [ref] overlayのリファクタリングとテストを追加 2025-10-09 16:43:41 +09:00
misyaguziya
c1cf78cda4 [改善] 型注釈の追加とドキュメントの更新
- config.py, controller.py, model.py, mainloop.py, utils.py での型注釈の追加
- CODING_RULES.md と api.md のドキュメントを更新
- 不要なコードの削除とリファクタリング
2025-10-09 13:34:05 +09:00
misyaguziya
e67242a0c4 [新規追加] ドキュメントのエンドポイントとマッピングの検証スクリプトを追加 2025-10-09 13:15:01 +09:00
misyaguziya
5efa9c37d6 Add documentation for modules and runtime instructions
- Created detailed documentation for the device_manager, model, model_extra, osc, overlay, overlay_image, transcription, translation, transliteration, utils, watchdog, and websocket modules.
- Added a comprehensive run events payloads document outlining the payloads sent during various run events in the controller.
- Included runtime instructions and dependencies for setting up the project in a Windows environment.
- Introduced a mypy configuration file to manage type checking and ignore errors in specific modules temporarily.
2025-10-09 13:11:59 +09:00
Sakamoto Shiina
b0fd63afbd Merge branch 'version' into develop 2025-10-09 09:24:14 +09:00
Sakamoto Shiina
28e952ada3 👍️[Update] Version 3.2.2 -> 3.3.0 2025-10-09 09:23:05 +09:00
Sakamoto Shiina
1a7c0b1e1d Merge branch 'ui' into develop 2025-10-08 16:30:11 +09:00
Sakamoto Shiina
faec6e91ba [bugfix] UI: Fix the bug that the main functions ware not in loading status even while restoring the status 'enable'. 2025-10-08 16:25:15 +09:00
misyaguziya
b23b40d8e4 Merge branch 'bugfix_error_message' into develop 2025-10-08 13:01:57 +09:00
misyaguziya
78a580f521 OSCQueryの名前解決のためservice名をユニークに変更
service_nameを "VRCT" -> f"VRCT:{UTC}"
2025-10-08 13:01:16 +09:00
misyaguziya
6c655b6043 [Update] OverlayImage: Improve font loading logic with error handling for font file paths 2025-10-07 19:01:55 +09:00
misyaguziya
2d6beef2ed Merge branch 'bugfix_translate_lang' into develop 2025-10-07 13:34:50 +09:00
misyaguziya
a167e57ff0 [Update] Test: Add translation tests for all language pairs and log results
[Update] remove unsupported langs
2025-10-07 13:33:04 +09:00
misyaguziya
cfd674bc5c Merge branch 'test' into change_translation_process 2025-10-06 16:44:33 +09:00
misyaguziya
4572aee2b7 [Update] Controller and Model: Refactor translation device management and add parameter change tracking 2025-10-06 16:40:05 +09:00
misyaguziya
e2d401b848 実装漏れを修正 2025-10-06 14:30:35 +09:00
Sakamoto Shiina
b632d66225 [Update] UI: Add disable translation function when config page has opened. 2025-10-06 14:30:24 +09:00