doc ワークフローの追加・READMEの修正
This commit is contained in:
74
doc/design.md
Normal file
74
doc/design.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# VRC_OSC 設計書
|
||||
|
||||
## 目的
|
||||
|
||||
VRC_OSC は、VRChat の状態をきっかけにして、Discord のミュート操作、ログ通知、OCR、翻訳をまとめて扱うためのツールです。
|
||||
|
||||
## 全体構成
|
||||
|
||||
- `src/app.py`
|
||||
- 起動処理の入口
|
||||
- OSC パラメータを受け取って各機能に振り分ける
|
||||
- `src/osc/gateway.py`
|
||||
- OSC の受信とログ出力
|
||||
- `src/discord_control/actions.py`
|
||||
- Discord のミュート切り替え
|
||||
- `src/vrc_log/log_actions.py`
|
||||
- VRChat ログの収集、監視、Discord 通知
|
||||
- `src/ocr/ocr_actions.py`
|
||||
- 画面 OCR
|
||||
- `src/translate/translate_actions.py`
|
||||
- OCR 結果の翻訳とコピー
|
||||
- `src/common/config_loader.py`
|
||||
- 設定ファイルの読み込み
|
||||
|
||||
## 主要な機能
|
||||
|
||||
### 1. Discord ミュート連動
|
||||
|
||||
VRChat 側の `DiscordSend` パラメータを受けると、Discord のミュートを切り替えます。
|
||||
ミュート操作は、Discord ウィンドウがあればそこに対して行い、見つからない場合はブラウザ版 Discord も探します。
|
||||
|
||||
### 2. VRC ログ通知
|
||||
|
||||
`vrc_log` パラメータでログ監視の開始・停止を切り替えます。
|
||||
監視中は VRChat のログファイルを読み、入室や退室、ワールド変更を検出して、必要なら Discord Webhook に通知します。
|
||||
|
||||
### 3. OCR
|
||||
|
||||
`ocrEnabled` パラメータを受けると、VRChat 画面を読み取って OCR を実行します。
|
||||
結果は `runtime/` に記録されます。
|
||||
|
||||
### 4. 翻訳
|
||||
|
||||
`translation` パラメータを受けると、OCR を実行してから翻訳します。
|
||||
翻訳結果はクリップボードへコピーし、あわせて `runtime/` に保存します。
|
||||
|
||||
## 設定
|
||||
|
||||
設定は `config/` に置きます。
|
||||
|
||||
- `config/config.toml`
|
||||
- 自分の名前、guest 名簿、OCR 設定、ログ通知の設定
|
||||
- `config/secrets.toml`
|
||||
- Discord Webhook URL、VRChat の認証情報
|
||||
- `config/guests.txt`
|
||||
- guest として扱う名前を 1 行ずつ書くファイル
|
||||
|
||||
## データの流れ
|
||||
|
||||
1. `src/app.py` が OSC サーバーを起動する
|
||||
2. VRChat からパラメータが届く
|
||||
3. 受け取ったパラメータに応じて、Discord ミュート、ログ監視、OCR、翻訳の処理に分岐する
|
||||
4. 必要に応じて Discord、クリップボード、`runtime/`、WebHook に反映する
|
||||
|
||||
## 保存先
|
||||
|
||||
- `runtime/runtime.log`
|
||||
- `runtime/latest_ocr.png`
|
||||
- `runtime/latest_screenshot.png`
|
||||
|
||||
## 補足
|
||||
|
||||
この設計書は、ソースコードを見なくても全体像が分かることを目的にしています。
|
||||
細かな判定ルールは `src/vrc_log/log_actions.py` と `src/translate/translate_actions.py` を参照してください。
|
||||
Reference in New Issue
Block a user