Commit Graph

27 Commits

Author SHA1 Message Date
misyaguziya
01061cf98f [Fix] Error Handling: Update setter methods to clarify None value handling and enhance authentication failure response policy. 2025-12-30 07:52:08 +09:00
misyaguziya
588b95eebe [Fix] Error Handling: Update setter methods to allow None values for type checks and enhance sensitive data handling in authentication failures. 2025-12-30 06:44:15 +09:00
misyaguziya
dac903e07c feat: Implement translation prompt history injection for Chat/Mic/Speaker
- Added a history management system in model.py to store and retrieve recent messages from Chat, Mic, and Speaker.
- Updated controller.py to automatically add messages to the translation history after processing.
- Enhanced translation clients (OpenAI, Gemini, Groq, etc.) to accept and utilize context history for improved translation quality.
- Introduced YAML configuration options for enabling history injection and customizing its behavior across different translation models.
- Ensured that only original messages are stored in history to optimize token usage during translation.
2025-12-15 01:15:47 +09:00
misyaguziya
c2cd5ee973 [Add] Documentation: Integrate Groq and OpenRouter API support, including model management and authentication details. 2025-12-11 14:16:02 +09:00
misyaguziya
215f5f6815 [Refactor] Update endpoint names to use 'selectable' prefix for mic, speaker, and translation engines 2025-11-12 20:55:08 +09:00
misyaguziya
3af594960a test_endpoints.py と docs/test_endpoints.md を追加: APIエンドポイント総合テストモジュールを実装・文書化
- 新規: src-python/test_endpoints.py を追加。メインループ統合の総合テストモジュールを実装
  - /set/data/* の動的値を実行時に /get/data/... から取得して self.config_dict にキャッシュしてから選択する方式を導入
  - main_instance の start()/controller.init() 呼び出しと、Watchdog 用の no-op コールバック設定を追加
  - main.mapping のすべての status を True に設定してテスト対象を列挙
  - /set/enable /set/disable /set/data /run /delete/data の個別テスト実装(single/all/random/specific パターン)
  - LLM/API 関連(plamo/gemini/openai/lmstudio/ollama 等)のモデルリスト取得・ランダム選択、認証キー/URL 系は期待ステータスに [200,400] を設定
  - マイク/スピーカー等の検証(閾値・タイムアウト)で不正値時に期待ステータスを [400] にするバリデーション追加
  - 実行系エンドポイント(/run/*)のテスト実装、テスト不能な操作は [401] でスキップ扱い
  - ランダムアクセステスト(全体/ON-OFF/特定セット)を実装
  - 翻訳の総当たりテスト機能と結果を translation_test_results.json に出力
  - テスト結果を収集する record_test_result と generate_summary によるサマリー出力を実装
  - 実行中のデバッグログ出力やスキップ/エラー時の詳細ログを追加

- 新規: src-python/docs/test_endpoints.md を追加。上記モジュールの目的・使用方法・取得/キャッシュ戦略・対象エンドポイント一覧などを文書化

目的: API エンドポイントの包括的な自動テスト基盤を整備し、動的値取得による安定化・LLM/API の接続挙動検査・ランダム負荷試験を容易にする
2025-10-30 22:03:37 +09:00
misyaguziya
8e73469e41 backend_test.mdを更新・mainloop.mdを更新・test_client.mdを追加: /set/data/* の実行時取得とキャッシュ挙動を文書化して動的値選択の理由を追記、mainloopの start() 簡素化(メインループ維持、KeyboardInterruptでstop)と Watchdog(/run/feed_watchdog) 連携を明記、status=348ログ取り扱い・初期化待機・Watchdog運用などドキュメント整形と説明強化 2025-10-29 11:51:04 +09:00
misyaguziya
0a9cb9952b overlay: 大ログにトランスリテレーション(ルビ)対応を追加し描画/APIを拡張
- controller/model: transliteration_message / transliteration_translation を伝搬するよう変更し、createOverlayImage* 呼び出しの引数を更新
- overlay: createTextboxLargeLogWithRubyTokens を実装し、大ログでのトークン単位ルビ描画(フォールバックロジック、外側パディング、行間等)を追加
- overlay: 小型ログAPI/呼び出しを transliteration_* 名に合わせて修正・簡素化
- docs: overlay_ruby.md に大ログ向け仕様と使用例を追記
2025-10-23 14:41:37 +09:00
misyaguziya
66d3c09a0d overlay: ルビ表示の上下パディングを対称化(outer_padding導入)しテキスト周囲にUIパディングを追加、ルビ機能のドキュメントを追加 2025-10-22 17:22:50 +09:00
misyaguziya
87d11c617c backend_test/docs: LMStudio/Ollama run 接続エンドポイントのテスト追加とドキュメント修正
- backend_test: /run/lmstudio_connection, /run/ollama_connection をテスト対象に追加(期待ステータス 200,400)
- docs: controller.md / mainloop.md の LMStudio/Ollama 接続エンドポイント表記を /get/data→/run に修正
- docs: APIキー検証の厳格化と翻訳モデル選択時の適用確実化に関する説明を追記
2025-10-20 12:23:16 +09:00
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
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
914789c9cb mainloopのスレッド管理を改善し、マルチワーカー化を実装。デバイス管理の初期化を遅延させ、エラーハンドリングを強化。ドキュメントを更新し、設定の変更点を明示化。 2025-10-13 08:28:27 +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
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
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
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