Manga View 共通の文字認識・Ollama・Qwen音声の初期設定 0.12.183

0.12.183の補助プログラム停止・削除の再試行修正（2026-10-25）
古い接続先ポートの記録が多数あり、停止確認が時間切れになる場合に、再試行しても同じ記録の確認を繰り返して進まない問題を修正しました。停止を確認できた記録から整理し、次の再試行で残りを確認します。状態確認が時間切れになった場合も、管理欄の「停止」で整理を進められます。各接続先を認証して停止し、削除は起動状態を確認できた場合だけ行います。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。共通部品0.12.154、追加OCR・Qwen補助プログラム0.12.183、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.182の補助プログラム削除範囲の修正（2026-10-25）
所有情報を一時的に読み取れず「接続登録だけを解除する」と確認した場合は、その後に所有情報を読み取れても補助ファイルを削除しません。確認した削除範囲を途中で広げず、設定・外部環境の参照・補助ファイルを保持して接続登録だけを解除します。残した環境には再接続できます。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。共通部品0.12.153、追加OCR・Qwen補助プログラム0.12.182、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.181の補助プログラム削除修正（2026-10-25）
削除前に設定・外部環境の参照ファイルの属性を一時的に確認できなかった場合も、接続登録と補助ファイルを保持して中断します。エラー解消後に削除を再試行し、残したSDK・モデルへ再接続できます。リンクや不正な保存先の検査と、所有を確認できないファイルを残す動作は引き続き適用します。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。共通部品0.12.152、追加OCR・Qwen補助プログラム0.12.181、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.180の補助プログラム停止・削除修正（2026-10-25）
処理エラー後の復旧やOCRの切り替えによる終了処理と停止操作が重なった場合も、処理用プロセスの終了を確認してから停止を完了します。また、削除前の所有ファイル照合中に設定・外部環境の参照ファイルを一時的に読めなかった場合は、接続登録・補助ファイル・再接続情報を保持して中断します。読み取りエラー解消後に削除を再試行できます。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。共通部品0.12.151、追加OCR・Qwen補助プログラム0.12.180、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.179の補助プログラム停止・削除修正（2026-10-25）
削除前に再接続情報を読む処理が一時的に失敗した場合は、接続登録・補助ファイルを保持して中断します。エラー解消後に削除を再試行し、残したSDK・モデルへ再接続できます。また、処理用プロセスの生成中に停止した場合は、その子プロセスの所有確認と後始末が終わってから補助プログラムの停止を完了します。通常の読み取り中止では、従来どおり処理待ちをせず中断できます。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。共通部品0.12.150、追加OCR・Qwen補助プログラム0.12.179、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.178の補助プログラム停止・削除修正（2026-10-25）
停止後の確認が終了処理中の応答を本人確認の失敗と誤判定する問題を修正し、確認済みの終了中応答だけを期限内で再確認します。状態確認が進行中の接続や有効な接続状態を取り消さないようにしました。旧版の本棚から削除範囲の確認情報なしで削除を要求された場合は、停止・登録解除・ファイル削除を行わず、拡張機能の更新と削除内容の再確認を案内します。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。共通部品0.12.149、追加OCR・Qwen補助プログラム0.12.178、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.177の補助プログラム停止・削除修正（2026-10-25）
起動失敗時に新しく追加したポートの記録を取り消し、後から別のアプリがその番号を使っても停止・削除を妨げないようにしました。削除確認後に共有登録や所有情報が変わった場合は、停止・登録解除・ファイル削除を始めず、状態の更新と削除内容の再確認を案内します。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。共通部品0.12.148、追加OCR・Qwen補助プログラム0.12.177、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.176の補助プログラム停止・削除修正（2026-10-25）
起動確認が時間切れ・中断・失敗になった場合は、その操作で起動した補助プロセスの終了を確認してから起動ロックを解放します。起動が遅れたプロセスが、停止操作の後から動き出す問題を修正しました。削除時に一部の設定ファイルが残った場合も、保持した再接続情報と一致する環境なら「既存環境に接続」で復旧できます。保存した再接続情報と一致しない設定は、古い情報で上書きしません。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。共通部品0.12.147、追加OCR・Qwen補助プログラム0.12.176、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.175の補助プログラム停止・削除修正（2026-10-25）
別ポートで起動した同じ補助プログラムも確認して停止し、処理用プロセスの終了を確認してから削除します。削除の判断中にほかの拡張機能が接続登録された場合は、その登録と共通処理を保持します。接続登録の削除途中で失敗した場合は登録を元へ戻し、再試行できるようにします。残したモデル・実行環境は「既存環境に接続」で再利用できます。一部の管理ファイルを削除できなかった場合は、その一覧を表示します。
拡張機能を再読み込みして本棚タブを開き直し、最新の「既存環境に接続」のファイルを保存・実行してください。モデルの再取得は不要です。更新前に別ポートで動いていた旧補助プログラムは、接続設定の更新で終了します。共通部品0.12.146、追加OCR・Qwen補助プログラム0.12.175、LAN補助プログラム0.12.170です。追加権限はありません。

0.12.174の補助プログラム管理（2026-10-24）
本棚の「取り込み・テキストの設定」→「音声・テキスト」→「追加OCR・Qwen3-TTSの補助プログラム管理」で起動状態・保存先を確認し、停止・接続登録の削除を行えます。状態確認だけでは起動・モデル取得・設定変更をしません。停止は共通の追加OCR・Qwen処理全体に作用し、同じ補助プログラムを使う別の拡張機能にも影響します。
削除時は内容を確認してから実行します。別の拡張機能が利用中なら、この拡張機能の登録だけを解除します。単独利用時は初期設定で所有を記録した管理ファイルだけを削除し、モデル・Python・仮想環境・外部環境・本・履歴は残します。旧版で所有情報がないファイルは残します。
既存環境には、最新の「既存環境に接続」のファイルを保存・実行して管理機能を反映します。モデルの再取得は不要です。拡張機能は0.12.174、共通部品は0.12.145、追加OCR・Qwen補助プログラムは0.12.174、LAN補助プログラムは0.12.170です。追加権限はありません。

0.12.172の接続先ポート設定（2026-10-24）
「取り込み・テキストの設定」→「音声・テキスト」→「接続先のポート番号」で、VOICEVOX・AivisSpeech・Ollama・Ollama並列用・追加OCRとQwen3-TTS共通補助アプリのポートを保存できます。変更後は接続を確認してください。標準値へ戻すこともできます。接続先は同じPC内に限定し、保存した設定は次回起動時にも引き継ぎます。変更時は古い接続確認・再生・先読みを中止し、旧接続先の応答や生成済み音声が新しい設定へ混ざらないようにします。
追加OCR・Qwen3-TTSのポートを変える場合は、最新の「既存環境に接続」の設定ファイルを一度実行して補助アプリを更新してください。モデルの再取得は不要です。VOICEVOX・AivisSpeech・Ollamaは各アプリ側と同じ番号を設定します。LAN接続は従来どおり接続先URLでポートを指定できます。拡張機能を再読み込みしてManga Viewタブを開き直してください。共通部品は0.12.144、追加OCR・Qwen補助アプリは0.12.172、LAN補助アプリは0.12.170です。追加権限はありません。

0.12.163のOCR・Qwen準備中断後の復旧判定修正（2026-10-23）
初回準備の中断でpipの一部だけがコピーされた場合、未完成の環境を準備済みと誤判定し、再実行も失敗する問題を修正しました。OCR・Qwenの両方でpipの導入情報も確認し、不足している場合はPythonの同梱機能による復旧を試みます。復旧や検査に失敗した場合はライブラリ・モデルの導入前に停止し、既存環境・モデルを保持します。
拡張機能を再読み込みして本棚タブを開き直し、準備中断後に失敗が続いていた場合は最新の「初期設定」から「新しく準備」を保存し直して実行してください。共通部品は0.12.143、追加OCR・Qwen補助アプリは0.12.163です。正常に使えている環境の再設定・モデル再取得、権限の追加は不要です。

0.12.159のIndra OCR接続引き継ぎ修正（2026-10-23）
Indraを「venv」など利用者が付けた名前のPython仮想環境へ導入して接続した後、別のPythonから再接続や他のOCRの追加を行うと、登録済みの環境を見失う問題を修正しました。記録済みの起動パスと設定・ライブラリを再確認し、正常な既存環境を優先して引き継ぎます。明示的に新しく準備した環境の優先と、不正なリンク・不足したライブラリの確認は維持します。
拡張機能を再読み込みして本棚タブを開き直し、再接続・OCR追加時は最新の初期設定から設定ファイルを保存し直してください。共通部品は0.12.140、追加OCR・Qwen補助アプリは0.12.159です。権限の追加はありません。

0.12.158のIndra OCR環境検出修正（2026-10-23）
MacのHomebrewで、版別の別名パスからPythonを起動した場合、導入済みのIndraを見つけられない問題を修正しました。仮想環境の設定がない通常のPythonを正しく判別し、現在のPythonに対応するライブラリを確認します。仮想環境の設定ファイル、モデル、ライブラリのリンク確認は維持します。
拡張機能を再読み込みして本棚タブを開き直し、再接続する場合は最新の初期設定から設定ファイルを保存し直してください。共通部品は0.12.139、追加OCR・Qwen補助アプリは0.12.158です。権限の追加はありません。

0.12.157のIndra OCR接続保持修正（2026-10-23）
別のOCRが壊れた際、セットアップに使うPythonが以前と異なると、正常なIndraまで再準備を要求される問題を修正しました。記録済みのライブラリとモデルを確認し、正常な接続を保持して壊れたOCRだけを修復します。修復失敗時には元の登録を保持し、変更・欠落したライブラリや曖昧な参照先は再利用しません。
また、保存した設定ファイルから既存環境を探し直す際、同梱の接続処理を読み込めず停止する問題を修正しました。設定ファイルと同じ場所にある確認済みの処理だけを読み込みます。
拡張機能を再読み込みして本棚タブを開き直し、修復時は最新の初期設定から設定ファイルを保存し直してください。共通部品は0.12.138、追加OCR・Qwen補助アプリは0.12.157です。権限の追加はありません。

0.12.156のIndra OCR復旧・接続保持修正（2026-10-23）
古い設定でPython 3.14などの非対応版の専用環境が途中まで作られた場合、対応するPythonでやり直しても同じ保存先で失敗し続ける問題を修正しました。記録されたPythonの版を確認し、元の環境・モデルを残したまま別の管理用保存先で準備します。対応版で準備中の保存先は再利用し、失敗時は以前の接続登録を保持します。版を判定できない環境やfree-threaded版等には、引き続き導入前の確認と診断を行います。
また、Indraを通常のPython環境へ導入して接続した後、セットアップ側のPythonを変更して別のOCRを追加すると、元のSDKを見失うか別のSDKへ切り替える問題を修正しました。登録内容と現在のファイルを照合し、一意に確認できる既存SDKへの接続を保持します。モデルの整合性確認と、明示的な新規準備の優先は維持します。
拡張機能を更新してタブを開き直し、最新の「初期設定」から設定ファイルを保存し直してください。途中で失敗した準備の復旧には「新しく準備」、準備済み環境の登録には「既存環境に接続」を使います。共通部品は0.12.137、追加OCR・Qwen補助アプリは0.12.156です。権限の追加はありません。

0.12.155のIndra OCR接続・準備修正（2026-10-23）
補助アプリが一時的に混雑した場合、Indraの準備確認と各OCRの処理を期限内で再試行するようにしました。中止・待機時間の上限と接続元の確認を維持します。
Indraの新規準備では、固定ライブラリに対応する通常版CPython 3.11〜3.13を選びます。既定のPythonが3.14以降でも、導入済みの対応版を探します。対応版がない場合や、以前作った専用環境が非対応の場合は、ライブラリ導入前に理由を表示します。既存の非対応専用環境は自動で削除・置換しません。
また、仮想環境のPythonを更新して旧SDKが残っている場合、再接続が成功扱いなのにOCRを起動できない問題を修正しました。明示的な再接続で現在のSDKを確認し直し、新規準備では壊れた環境の再利用を避けます。準備に失敗した場合は以前の接続設定を保持します。
拡張機能を更新してタブを開き直してください。初回準備・再接続の修正は、最新の「初期設定」から設定ファイルを保存し直して実行します。正常なモデルの再取得は不要です。共通部品は0.12.136、追加OCR・Qwen補助アプリは0.12.155です。権限の追加はありません。

0.12.154のIndra OCR再準備修正（2026-10-23）
接続済みのIndraモデルフォルダに未対応の追加モデルが置かれた場合、「新しく準備」も途中で止まり復旧できない問題を修正しました。元のファイルを変更せず、別の管理用保存先に対応モデルを準備し直せます。正常な他のOCR接続を保持し、修復が失敗した場合は元の接続設定を保持します。未対応モデルを認識に使わない検証も維持しています。
拡張機能を更新してタブを開き直し、最新の「初期設定」からIndra OCRの「新しく準備」を保存・実行すると修正が反映されます。正常に使えている環境のモデル再取得は不要です。共通部品は0.12.135、追加OCR・Qwen補助アプリは0.12.154です。権限の追加はありません。

0.12.153のIndra OCR接続・再準備修正（2026-10-23）
公式SDKが通常取得する認識用12ファイルだけのIndraキャッシュにも接続できます。認識モデルの固定版・サイズ・SHA-256確認は維持し、新規準備時には利用条件の文書も含む13ファイルを取得します。
初回準備後にモデルが壊れた場合も、「新しく準備」で破損を確認して修復を試みます。正常な取得済みモデルは「既存環境に接続」で再利用してください。共通部品は0.12.134です。

0.12.152のIndra OCR追加（2026-10-23）
文字認識と初期設定の選択肢に「Indra OCR（試験中）」を追加しました。日本語の横書き向けで、縦書き・漫画の認識精度は試験中です。モデルは拡張機能・設定ZIPに同梱せず、利用者が「新しく準備」の設定ファイルを実行したときに公式の固定版（約76MB）と必要なライブラリを取得します。取得したモデルのサイズとSHA-256を照合し、文字認識はPC内で行います。
利用する場合は拡張機能を更新してタブを開き直し、「初期設定」でIndra OCRを選び、「新しく準備」のZIPを保存・展開してOSに合うファイルを実行します。完了後「接続して使う」へ進み、文字認識でIndra OCRを選択します。既存の追加OCRを使っている場合も、Indra対応の補助アプリ0.12.152へ更新するため最新の設定ファイルを使ってください。共通部品は0.12.133です。
IndraのコードはApache-2.0ですが、モデルにはAI PUBS Open RAIL-M（改変版）が適用されます。利用制限、帰属表示、出力のShare-a-Like、一定の事業規模・競合用途に関する追加条件があります。別途ダウンロードでも利用条件は適用されます。モデルの利用条件：https://huggingface.co/datalab-to/indra-ocr/blob/bd02167fdf2005a19962cc15188f8496a2c87d3b/LICENSE

0.12.129の終了処理修正
補助アプリの終了と文字認識・音声生成の開始が重なっても、終了後に処理用アプリを起動し直したり、古い結果を返したりしないようにしました。拡張機能を更新し、最新の「接続登録ファイルを保存」から設定を再実行してください。準備済みのモデルは再利用します。

このPCの導入状況で選ぶ
----------------------
・このPCに追加OCR・AIを初めて入れる：必要な対象だけ選び「新しく準備」へ進みます。
・自分でOllamaなどを導入済み：導入済みの対象だけ選び「既存環境に接続」へ進みます。ダウンロードは行いません。
・この拡張機能で接続登録済み：使う対象を選び「接続して使う」を押します。
・導入状況が分からない：「必要な操作を調べる」を押します。停止中と未導入を区別できない場合もあります。

共通パネルでは「手動で設定ファイルを保存する」の「接続登録ファイルを保存」／
「新しく準備するファイルを保存」に対応します。
アプリやモデルの不足が確認できたら、不足した対象だけを「新しく準備」で追加します。すべて選ぶ必要はありません。

同じPCの別拡張機能で準備済みの場合
----------------------------------
この初期設定で扱う追加OCR・Ollama・Qwenは、同じPCの準備済みモデルを再利用できます。
ただし、新しい拡張機能には、その拡張機能自身のIDの接続登録が初回に必要です。
使う拡張機能の画面で「手動で設定ファイルを保存する」→「接続登録ファイルを保存」から
新しいZIPを保存し、展開して中の .cmd（Windows）／.command（Mac）を一度実行します。
正常完了したら同じ拡張機能へ戻り、「接続して使う」を押してください。
Manga Viewなど別の拡張機能から保存したファイルでは、新しい拡張機能のIDは登録されません。
IDは自動で埋め込まれます。利用者がIDをコピー・入力する必要はありません。
登録済みの別拡張機能の許可は保持し、どちらからも利用できます。
ID登録だけのためにモデルや対応するPythonを入れ直す必要はありません。
通常は次回から再実行せず、IDが変わった場合や修復・更新の案内がある場合に実行し直します。
AivisSpeech・VOICEVOXへの直接接続は、この初期設定とは別の接続手順です。

配布内容と、初めて設定ファイルを実行する前の準備
------------------------------------------------
追加OCR・Qwen用の補助アプリは、ソースと設定用ファイルを配布します。
Python本体・仮想環境・追加AIモデルの重みは、Chrome拡張ZIPや設定ファイルに含みません。
標準の文字認識で使うTesseractの日本語データは、Chrome拡張ZIPに同梱しています。

「新しく準備」を保存・実行すると、選んだものの不足するアプリ・ライブラリ・追加モデルを取得します。
準備済みのものは再利用します。初回取得にはインターネット接続が必要です。
「既存環境に接続」はダウンロードしません。対応する既存環境を確認し、接続設定だけを更新します。
不足・非対応なら理由を表示して止まります。自動で新規取得へ切り替えません。
保存しただけでは導入は始まりません。ZIPを展開し、中の .cmd（Windows）／.command（Mac）を実行します。

設定ファイルを実行するにはPython 3.11以上が必要です。Ollamaだけを選んだ場合も同じです。Indraを新しく準備する場合は通常版CPython 3.11〜3.13を使います（free-threaded版・PyPy・3.14以降は非対応）。
Pythonが未導入なら処理は停止し、Pythonを自動インストールしません。
未導入ならPython 3.13.xの通常版を、以下の公式サイトから準備してください。
すでに対応するPythonがある場合、Python本体を入れ直す必要はありません。
OSの音声や、準備済みOllama・VOICEVOX・AivisSpeechへの通常の接続には、このPython導入は不要です。

WindowsでPythonを準備する
1. https://www.python.org/downloads/windows/ を開きます。
2. Python 3.13.xの「Windows installer (64-bit)」を保存して開きます。
   通常版のフルインストーラーを選びます。
3. 最初の画面で「Add python.exe to PATH」にチェックを入れ、「Install Now」を押します。
4. 完了したら、保存済みの同じ設定ファイル（.cmd）をもう一度実行します。

MacでPythonを準備する
1. https://www.python.org/downloads/macos/ を開きます。
2. Python 3.13.xの「macOS 64-bit universal2 installer」（.pkg）を保存して開き、画面の案内に従います。
3. Finderの「アプリケーション」→「Python 3.13」で「Install Certificates.command」を実行します。
4. 完了したら、保存済みの同じ設定ファイル（.command）をもう一度実行します。

設定ファイルが正常完了したら、この拡張機能へ戻って「接続して使う」を押してください。
Python本体を準備した後、設定ファイルが選択した追加モデルと実行環境を確認します。

必要な操作を自動で調べる
----------------------
モデルを選んだら「必要な操作を調べる」を押してください。
Chromeの接続許可を確認し、選んだ追加OCR・Qwen3-TTSの認証済み起動設定と、Ollamaのモデル一覧を確認します。
この確認だけでは補助アプリを起動せず、画像・本文の送信、文字認識、音声生成、モデル取得、使用設定の切替も行いません。

・接続できる／追加OCR・Qwen補助アプリが停止中：そのまま「接続して使う」を案内します。
  停止中の場合、モデルの有無はまだ未確認です。接続操作で起動して確認します。
・現在の拡張機能の接続登録が見つからない・許可されていない：既存環境の接続登録ファイルを案内します。
・応答した補助アプリでモデルまたは実行環境の不足が確認できた：不足したものだけの準備・修復ファイルを案内します。
・Ollamaの正常なモデル一覧で対象モデルだけ不足：Ollamaだけのモデル準備ファイルを案内します。
・OllamaのHTTP 403：接続元の許可を確認するファイルを案内します。モデル不足とは扱いません。
・Ollamaに接続できない：停止中・未導入・接続制限は区別できないため、まず既存環境の起動・接続を確認します。
・応答待ちの時間切れ・不正応答・混雑・別アプリの可能性：理由と再確認を案内します。未導入と推測してモデルを取得しません。

確認結果のボタンから保存するファイルには、必要な対象だけを含めます。準備済みの別モデルの選択は変えません。
配布内容とPythonの準備は、保存前に折りたたみの説明を開いて確認できます。保存後にも実行方法を案内します。
接続できる方に不要な初期設定の操作を促しません。
ファイルを保存した場合はZIPを展開し、中の .cmd（Windows）／.command（Mac）を実行してから、もう一度確認します。
拡張機能は外部の設定ファイルを勝手に実行できません。この保存・実行は利用者が行います。
接続登録がまだないPCでは、拡張機能だけでPC内のモデルやPythonの有無を確定できません。
既存環境の確認ファイルが不足・非対応を案内した場合は、「手動で導入・接続方法を選ぶ」の「新しく準備」を使います。
この確認の対象は初期設定欄の5種類です。AivisSpeech・VOICEVOXは「音声・テキスト」の個別接続で確認します。

設定ファイルを保存・実行する
----------------------------
1. このPCのManga Viewで「取り込み・テキストの設定」→OSの初期設定を開きます。
2. 導入状況に合わせて対象だけをチェックし、「既存環境に接続」または「新しく準備」のファイルを保存します。
   すでにこの拡張機能で登録済みなら「接続して使う」、導入状況が不明なら「必要な操作を調べる」を使います。
3. 保存したZIPを展開し、中の .cmd（Windows）／.command（Mac）を実行して完了まで待ちます。
   実行にはPython 3.11以上が必要です。不足分を準備する場合は初回取得にネット接続を使います。
4. ファイルを実行した場合はManga Viewへ戻り、もう一度確認してから「接続して使う」を押します。
5. 「確認画像で読み取りテスト」「短い文章を試聴」で、実際に読み取る・発声することを確認します。

以前使えていたPC・拡張機能を削除して入れ直した場合
準備済みのモデルだけを選び、「既存環境に接続」のファイルを、このPCの現在のManga Viewから保存・実行します。
対応する以前のモデル・実行環境を確認し、現在の拡張機能の接続登録をやり直します。
モデルは再取得しません。対応する環境が見つからない場合は、その理由を表示して止まります。
以前の4種類は使えていたがOllamaは未設定なら、最初はその4種類だけを「既存環境に接続」で登録します。
その後「選択を解除」→Ollamaだけ選択し、「新しく準備」を保存・実行します。
チェックを外す操作で、導入済みモデルが削除されることはありません。

設定中にOllamaの再起動を求められたら
Windows：通知領域（時計付近の「＾」）からOllamaを完全に終了し、同じCMDを再実行します。
アイコンがない場合は、タスクマネージャーでOllamaと確認できるプロセスを終了してから再実行します。
CMDが対応するアプリの起動も試みるため、スタートメニューに見つからなくても探し回る必要はありません。
Mac：Ollamaを終了し、同じ設定ファイルを再実行します。対応するアプリの起動も試みます。
この許可反映のためのPC再起動や、取得済みモデルの再ダウンロードは不要です。
ただし、まだないモデルはその後に初回取得します。古いOllama本体の更新を案内された場合は更新後に再実行します。

次回からの使い方
・Manga Viewを開いて本を選び、「読み上げ」→「再生」を押します。モデル選択と音声の設定は記憶します。
・追加OCR・Qwen3-TTSは必要なときに自動起動します。毎回CMDを実行したり、モデルを取得し直したりする必要はありません。
・Ollama・AivisSpeech・VOICEVOXは利用前に起動します。自動起動済みなら手動操作は不要です。
・Ollamaの起動元が見つからない場合は、Ollamaだけを選んで「既存環境に接続」のファイルを保存・実行します。
  対応するアプリの起動も試みます。起動できない場合は実行画面の理由を確認します。
・拡張機能を入れ直した場合や接続登録のやり直しを案内された場合は、「既存環境に接続」を使います。

Chrome拡張版では、「取り込み・テキストの設定」→「Windows初期設定」または「Mac初期設定」で、
NDLOCR-Lite・PP-OCRv6 small・manga-ocr・Indra OCR（試験中）・Ollama（Qwen3-VL）・Qwen3-TTSの6種類を選べます。
文字認識と音声は片方だけでも併用でも構いません。文字認識を複数選ぶときは「今使う読み取り方法」を1つ選びます。
通常の本の表示だけなら、この設定は不要です。

すでに接続できる環境なら「接続して使う」を押します。初回の準備・接続登録が必要なら、
導入済みの環境には「既存環境に接続」、不足分の導入・追加には「新しく準備」を選びます。
選んだモデルをまとめて扱う1つのZIPを保存し、展開して中の .cmd（Windows）／.command（Mac）を実行します。
保存したファイルの実行にはPython 3.11以上が必要です。保存ボタンだけでは導入は始まりません。
Ollamaだけを選んだ場合も同じ手順です。別のOllama専用CMDを追加で保存する必要はありません。
完了表示を確認してからManga Viewへ戻り、「接続して使う」を押してください。

「既存環境に接続」は、アプリ・モデル・ライブラリをダウンロードしません。
対応する既存環境を確認して接続設定を更新します。不足・非対応なら理由を表示して止まり、
自動で「新しく準備」へ切り替えません。すでに取得済みのモデルは再取得不要です。
「新しく準備」は選んだものの不足分を取得します。Ollamaを選ぶと、導入済みの公式アプリを再利用し、
未導入の場合は公式アプリを、画像モデルが不足する場合は qwen3-vl:4b-instruct を取得します。
Ollama本体の取得先・版・サイズ・SHA-256は同梱の ollama-install-lock.json で固定し、取得後に照合します。
Ollama本体・追加AIモデルの重みを拡張機能ZIPへ同梱する方式ではありません。

普段の起動と、接続ファイルを再実行する場合
NDLOCR-Lite・PP-OCRv6 small・manga-ocr・Qwen3-TTSは、接続登録後にChromeの
Native Messaging経由で必要なときだけ起動します。毎回のCMD実行や手動サーバー起動は不要です。
Ollamaだけを使う接続確認・読み取りには、Native Messagingの許可・登録や追加OCR用補助アプリは不要です。
Ollama・VOICEVOX・AivisSpeechは、利用前に各公式アプリを起動してください。
Ollamaの接続元設定は、Windowsではユーザー環境変数へ保存します。正常接続後は通常のPC再起動ごとにCMDを実行しません。
Macは現在のログイン中に有効です。同じログイン中のOllama再起動では設定を保持しますが、
ログインし直した後にHTTP 403になった場合は、共通の「既存環境に接続」の接続ファイルを再実行してください。

起動済みOllamaがHTTP 403になる場合
共通のOS別初期設定でOllamaを選び、「既存環境に接続」の接続ファイルを保存・実行します。
現在の拡張機能IDを、既存のOLLAMA_ORIGINSを保持して追加します。HTTP 403をモデル不足とは扱いません。
稼働中のOllamaが以前の接続元設定を保持している場合、設定ファイルは未完了として止まり、再起動を案内します。
Windowsでは通知領域（トレイ）からOllamaを完全に終了し、同じ設定ファイルを再実行します。アイコンがない場合はタスクマネージャーでOllamaと確認できるプロセスを終了します。設定ファイルが対応アプリの起動も試みます。
MacではOllamaを通常の終了操作で終了し、アプリを起動し直します。その後、同じ接続ファイルを再実行し、
完了を確認してから「接続して使う」を押します。既存プロセスを勝手に強制終了することはありません。
拡張機能の入れ直しなどでIDが変わった場合は、現在のManga Viewから新しい接続ファイルを保存してください。
追加する許可は現在のManga Viewだけです。任意サイト・全拡張機能の許可やLAN公開は追加しません。
OSに保存済みのOLLAMA_HOST・OLLAMA_MODELSや、取得済みモデルは変更しません。

「既存環境に接続」で見つかるAI
追加OCR・Qwen3-TTSは、以前のManga View登録先・標準保存先、対応するHugging Face／PaddleOCRの
既知のキャッシュ、既知のNDLOCR配置を確認します。Windowsでは起動中の既知のManga View補助アプリの実行元も候補です。
モデルと互換SDK（Python・ライブラリの組合せ）が必要で、文字認識ごとに別の対応SDKを使えます。
モデルだけでは動きません。PC全体・AppData全体・本のフォルダを走査するものではありません。
Ollamaは公式アプリ・CLIと、このPC内のOllamaのモデル一覧を別に確認します。上記のPython SDKは使いません。
不足分を自動取得せず、接続設定に必要なファイル・登録情報だけを保存・更新します。

接続・設定ファイルは、初めてのPC・OSユーザー、拡張機能IDの変更、登録の削除、
補助アプリ更新の案内、モデル・SDK移動後の参照先確認などで保存し直して実行します。
保存済みの古いCMD・commandは自動更新されません。別PCではそのPCのManga Viewから保存してください。
不足・破損を修復する場合だけ、案内されたモデルを選んで「新しく準備」を使います。

接続確認と、実際にAIが動くことの確認は別です
「接続確認済み」は、接続とモデルの準備状態を確認した表示で、実際の推論成功を意味しません。
初回は「確認画像で読み取りテスト」「短い文章を試聴」も実行してください。
本を使わずに実際の文字認識・音声生成を確認できます。最初のモデル読み込みには時間がかかる場合があります。
Windows実機での初回設定・Ollamaの再接続・実モデル推論は未確認です。

Ollamaのライセンスと取得方法
Ollama本体はMIT、画像モデル qwen3-vl:4b-instruct はApache 2.0です。再配布が禁止されているために別アプリにするのではありません。
MITの著作権表示・許諾文、Apache 2.0のライセンス文・対象の著作権と帰属表示・該当するNOTICEを保持し、
改変ファイルへ変更を明示するなど、対象の条件に従います。依存物の条件を一律にMIT／Apache 2.0とは扱いません。
拡張機能にはセットアップ用ソースを同梱し、利用者が「新しく準備」を実行した場合だけ不足分を取得します。
https://github.com/ollama/ollama/blob/main/LICENSE
https://ollama.com/library/qwen3-vl:4b-instruct
https://www.apache.org/licenses/LICENSE-2.0

以下の版番号付きの項目は変更履歴です。普段の使い方は上記と「通常の設定方法」を参照してください。

0.12.116の音声末尾での一時停止・再開
---------------------------------------------------------
AivisSpeech・VOICEVOX・Qwen3-TTSに共通するブラウザ側の音声再生で、
終了通知の直前に一時停止・再開すると、終わった音声を先頭から再生しようとする問題を修正しました。
拡張機能の更新と再読み込みで反映します。補助アプリの実行処理に変更はなく、
この修正のための接続ファイルの再実行・モデルの再取得は不要です。
実Chromeと生成した無音WAVで確認し、実Windows・実モデル推論は未確認です。

0.12.115の標準OCRの送信失敗と補助プロセスの終了競合
---------------------------------------------------------
標準OCR（Tesseract）のWorkerへの送信例外が呼び出し元へ届かず、待ち続ける問題を修正しました。
起動中と初期化後の送信を通常のエラー処理へつなぎ、次の要求で復旧できるようにします。

追加OCRの既存SDK用プロセスとQwen3-TTSの起動中に終了操作が重なり、
終了後に遅れて作られたプロセスが残る問題を修正しました。
起動中・待機中だった古い要求を無効にし、後着プロセスを解放して古い成功結果を採用しません。
内部の失敗回復は、自分のプロセスだけを片付けます。後から明示的に始めた要求は再試行できます。
標準OCRの送信失敗と、2つの補助プロセスにある終了競合という2種類の問題への修正です。

補助アプリ側は、更新後のOS別初期設定から「既存環境に接続」のファイルを保存・実行して更新します。
正常なモデルは再取得しません。保存済みの古い設定ファイルは自動更新されません。
合成Worker・SDK応答と一時環境の小さなPython子プロセスで検証し、実Windows・実モデル推論は未確認です。

0.12.114のOCR中止・OS音声の再開・初期設定の復帰
---------------------------------------------------------
標準OCR（Tesseract）の起動中の中止・終了を、未返却の処理用Workerにも伝えるようにしました。
Workerの終了を試みて待機を解除し、古い通知による次の処理の停止や終了済みWorkerへの送信を防ぎます。
OS音声では、通知処理内で一時停止と再開が連続すると同じ文章を二重に送る問題を修正しました。

追加OCRのモデル準備では、強制終了した設定プロセスの実行中の印が残り、再試行できない問題を修正しました。
新しい準備処理は専用のOSロックを使います。ロックファイルは残しますが、プロセス終了でロックは解放されます。
稼働中の別の準備処理は同時実行せず、共通インストーラーのロックとも分けます。
旧版の所有者不明のロック用フォルダは安全に所有者を判断できないため、自動では削除せず診断を表示します。

追加OCRの初期設定側は、更新後のOS別初期設定から「既存環境に接続」のファイルを保存・実行して反映します。
保存済みの古い設定ファイルは更新されません。正常なモデルは再取得不要です。
試験は合成Worker・音声API・一時環境の設定プロセスで行い、実Windows・実モデル推論は未確認です。

0.12.113の標準OCRの異常終了と追加OCRの復旧・読み順
---------------------------------------------------------
標準OCR（Tesseract）の初期化後に処理用Workerが異常終了すると、
現在ページと待機中のページが止まったままになる問題を修正しました。
異常終了をエラーとして通知し、壊れたWorkerを解放します。次の要求は新しいWorkerで処理します。
中止済みの古いWorkerの通知が、新しい処理を停止しないようにします。

同梱Tesseract.jsでは、初期化中の言語データ読み込み・初期化失敗やWorkerエラーで、
起動処理が未完了のまま残る別の境界も修正しました。失敗を返し、未返却のWorkerも終了します。
標準OCRの初期化中と初期化後の復旧、追加OCRの準備修復、NDLOCRの読み順の計4件です。

追加OCRの準備済み印だけが残り、必要なファイルが欠けた・0バイトになった場合、
明示的なセットアップを再実行しても準備を飛ばす問題を修正しました。
選択したモデルとmanga-ocrが使う検出モデルの必要ファイルを確認します。
健康なモデルは再利用します。非ゼロの破損・ハッシュ不一致を新たに検出する変更ではありません。

NDLOCR-Liteでは表の文字が本文の最後へ送られる問題を修正しました。
ページ内の各領域に有効な読み順の情報がそろう場合、その順序で領域を並べます。
領域内の順序・ルビや柱の扱いは維持し、情報が不足する場合は元のXML順を使います。

拡張機能を更新して再読み込みしてください。追加OCR側の修正は、更新版の
OS別初期設定から「既存環境に接続」のファイルを保存・実行して反映します。
実際に必要ファイルが欠けている場合は、対象を選んで「新しく準備」を実行します。
検証は合成Worker・公式読み順処理と小さな試験ファイルで行い、実Windows・実モデル推論は未確認です。

0.12.112の追加OCR・読み上げエンジンの修正
---------------------------------------------------------
AivisSpeech・VOICEVOX・Qwen3-TTSの音声一覧と音声生成で、画面側が重いと
制限時間後の応答を成功として採用していた問題を修正しました。
追加OCRの接続確認・文字認識でも、同じ条件で期限後の本文を採用する別経路を修正しました。
タイマーの発火だけでなく経過時間も確認し、明示的な中止を優先します。

PaddleOCRの文字検出・認識と、manga-ocrの文字検出へ画像を渡す際に、
SDKが要求するBGR配列へ変換せずRGB配列を渡し、赤と青が逆になっていた問題を修正しました。
NDLOCR-Liteは、必須の検出設定ファイルndl.yamlが欠けていても準備済みとする判定を修正しました。
文字認識の精度や実モデルの動作を保証する検証ではありません。

拡張機能を更新して再読み込みしてください。PaddleOCR・manga-ocr・NDLOCR-Lite側の修正は、
更新後の「Windows初期設定」または「Mac初期設定」→「既存環境に接続」から
接続ファイルを保存・実行し、補助アプリのソースも更新してください。
正常なモデルは再取得しません。必須ファイルが実際に欠けている場合は、不足として案内します。
試験は合成SDK・HTTP・音声イベントと一時環境で行い、実Windows・実モデル推論は未確認です。

0.12.111のWindows初期設定と話者設定・待機期限
---------------------------------------------------------
OllamaのWindows初期設定で、Windows本体がCドライブ以外にある場合、
正しいSYSTEMROOTを見落としてCドライブのPowerShellを使おうとする問題を修正しました。
本体署名確認とインストール前のプロセス確認に、実際のWindows配置先を使います。
標準のCドライブ環境で起きた403や接続時間切れの原因だと断定する修正ではありません。
この条件に該当する場合は、更新後の拡張機能から接続・準備ファイルを保存し直してください。

保存済みの人物設定を読み込み中にChromeの話者AIを準備すると、
手動の人物名・声を初期状態で上書きする問題を修正しました。
人物設定を読み終えるまで、話者AIの接続確認・準備ボタンを使用不可にします。
読み込みが終われば接続確認・準備を使え、保存済みの手動設定を保持します。

Chrome端末内AIによる話者推定では、前の中断処理の後片付けを待っている時間まで
60秒の制限へ含める問題と、画面側の処理が混んでタイマーが遅れた際に期限後の結果を
採用する問題を、同じ待機期限の処理として修正しました。
この話者経路の制限は、自分の準備・推定を始めてから数えます。明示的な中止・終了を優先します。
Ollama本体では対処済みだった、別のChrome話者経路への補完です。

今回の不具合はWindows初期設定1件と共通の話者処理2件です。
一時ファイル・合成OS/AI応答・音声イベントとChromeの一時プロファイルで検証します。
実Windows・PowerShell・実サービス接続・実モデル推論は未確認です。
接続済みの環境は拡張機能の更新で反映し、モデル再取得は不要です。

0.12.110の話者応答の確認と人物名の照合
---------------------------------------------------------
Ollama・Chrome端末内AIによる話者推定で、同じ項目が重複する応答を受理し、
後の値で人物や割り当てを置き換えて成功にしていた問題を修正しました。
人物一覧・割り当て・各項目の中に重複がある曖昧な結果は採用せず、再試行できるエラーにします。
本文認識では対処済みだった検査を、別の話者推定の経路にも追加する修正です。
再推定に失敗した場合に既存の手動割り当てを保持する動作も維持します。

また、AIが人物名の先頭に空白・改行等を付けると、「人物1」等の仮名が実名として扱われ、
別ページの別人物と混同される問題を修正しました。前後の空白等を除いてから照合します。
同じ表示名・特徴の仮名だけを根拠に、別ページの人物を同一人物とは扱いません。
既知の人物IDや手動の声設定は保持し、名前が分かっている人物の再利用も維持します。
旧版で保存し手動で改名した人物も、以前の識別情報と照合して名前・声を引き継ぎます。
本文や画像の文字認識をやり直す修正ではなく、実際のAI推定精度を保証するものでもありません。

検証は合成AI応答・画像・音声イベント、一時ファイルとChromeの一時プロファイルで行います。
Windows実機・実サービスとの接続・実モデル推論は未確認です。
接続済みの環境は、拡張機能の更新だけで反映します。再設定やモデル再取得は不要です。

0.12.109のOllama起動時のプロキシ設定と話者割り当て保持
---------------------------------------------------------
接続・準備ファイルから導入済みのOllamaを起動する際、HTTPS_PROXYを取り除き、
既存のNO_PROXYを上書きしていた問題を修正しました。HTTPSプロキシが必要な環境での
モデル取得用設定と、既存の除外先を引き継ぎます。localhostと127.0.0.1は除外先へ追加します。
HTTP_PROXY・ALL_PROXYを起動するOllamaへ渡さない方針は維持し、認証情報を起動引数へ出しません。
本体の初回ダウンロードやOSの証明書設定を変更する修正ではありません。
この修正を接続・準備ファイルで使う場合は、更新後の拡張機能から保存し直してください。
接続済みの環境に再設定やモデル再取得は不要です。

TXT・HTML等の共通読み上げ処理では、編集した本文の文字サイズを変えると、
手動の話者割り当てが消える、または隣の文字へずれる問題を修正しました。
文字数が増えた編集・減った編集の両方で、割り当てた文字を保持してページを調整します。
Ollama固有の通信エラーとは別の、読み上げ共通処理の修正です。読書位置の保存方式は維持します。

合成HTTP・画像・音声イベント、一時ファイル、およびChromeの一時プロファイルで検証します。
Windows実機・実サービスとの接続・実モデル推論は未確認です。

0.12.108の再推定時の手動割り当て保持と並列接続案内
---------------------------------------------------------
「このページを再推定」で、Ollamaの推定が失敗・中止した場合にも、
前に保存した手動の話者割り当てを消してしまう問題を修正しました。
新しい推定が正常に完了した時だけ割り当てを置き換えます。
失敗した場合は以前の割り当てを維持し、作品を開き直した後も利用できます。
この操作のために本文の文字認識をやり直すことはありません。

並列読み取り用のOllamaだけに接続できなかった場合、通常のOllamaは利用できるため、
その理由を案内表示として出しています。この案内にもOS別の手順変換を適用しました。
初期設定タブを切り替えた時も元の案内から表示を更新します。前回の表示修正の補完です。

確認は合成HTTP・画像・音声イベントと一時ファイルで行います。
Windows実機・実サービスとの接続・実モデル推論は未確認です。
接続済みのユーザーの再設定やモデル再取得は不要です。

0.12.107のOllamaエラー案内と並列起動の確認
---------------------------------------------------------
設定画面の接続確認ではOS別にしていた案内が、本文の取得・再生・話者推定のエラー表示では
変換されず、WindowsでMacの手順も表示される問題を修正しました。
同じ案内の変換を読み取り中の状態表示・通知・話者編集欄にも適用します。
モデル不足とHTTP 403の違いは保ち、エラーの元データ・本文・手動割り当ては変更しません。

詳細設定用の並列起動スクリプトで、API応答に error があっても、versionやmodelsも含むと
「既存Ollamaを利用します」と誤表示する検査漏れを修正しました。
同じモデル行の name と model が矛盾する場合も、モデルを確認済みとは扱いません。
このスクリプトはChrome拡張ZIPに同梱していません。通常の接続ボタンの処理への変更ではありません。
対象は helpers/start-local-reading-ai.command と helpers/parallel-helper.ps1 です。
既存プロセスの停止やモデルの再取得を追加する修正ではありません。

検証は合成HTTP・画像・音声・一時ファイルと、置き換えた通信処理でのzsh・plutil試験で行います。
Windows実機・PowerShellの実行・実サービスとの接続・実モデル推論は未確認です。
接続済みのユーザーの再設定やモデル再取得は不要です。

0.12.106のWindows接続元設定の読み戻し確認
---------------------------------------------------------
Windowsで接続元設定を保存した直後、別の設定処理が値の種類だけを書き換えると、
環境変数の参照式が展開されなくなっても、保存成功と判断する問題を修正しました。
保存後は文字列と値の種類を両方確認し、一致しなければ成功表示や後続の接続確認へ進みません。
別の処理が書き換えた設定を巻き戻す処理は追加していません。
これは同時の設定変更を合成した試験で再現した条件で、通常の接続失敗の原因と断定するものではありません。

先読み中の設定変更、読了後の再生、手動の話者割り当てと本文保持も確認し、追加の不具合は見つかりませんでした。
今回新しく修正した不具合は1件です。実Windowsの設定変更・アプリ起動・実モデル推論は未確認です。
接続済みの環境は、この修正のために再設定やモデルの再取得をする必要はありません。
初期設定の修正を使う場合は、更新版から接続用ファイルを保存して実行してください。

0.12.105の接続元・話者推定への入力・AI応答の確認
---------------------------------------------------------
既存のOllama接続元設定の全体が引用符で囲まれている場合、Manga Viewを追加すると、
それまで許可されていた接続元が使えなくなる問題を修正しました。
Ollamaが受け取る値の意味を保ち、既存の文字列やWindowsの環境変数の参照式を残して追加します。
変数の展開時だけ現れる引用符などで既存の許可を保てない場合は、設定を書き込む前に停止して理由を表示します。
接続元の許可を無条件に広げたり、Ollamaを終了させたりする処理は追加していません。

小説でセリフが連続している場合、次のセリフまで「後の地の文」としてAIへ渡す問題を修正しました。
地の文だけをその手がかりに使い、本文と発言の順序は保ちます。
また、登録できる人物は64人なのに、話者推定へ先頭32人しか渡さない問題を修正しました。
登録上限の64人まで既知の人物を渡し、後半の人物のIDと手動の声も利用できるようにします。
人物名・特徴の文字数とモデルの処理範囲は維持します。人物数に応じて入力は長くなります。
これは入力の欠落・誤情報を直すもので、実際のAIの推定精度を保証するものではありません。

AIの応答内で同じ項目が重複すると、後の空の本文などで最初の本文を上書きし、
読み取り成功にしてしまう問題を修正しました。本文が消える曖昧な応答は読み上げへ渡さず、再試行できるエラーにします。
Ollamaの通常応答とストリーミング、Chrome端末内AIの両方に適用します。
本に実際に同じ文章が繰り返されている場合は、そのまま読み取ります。

接続済みのユーザーは拡張機能の更新だけで話者・応答確認の修正が反映し、モデルの再取得は不要です。
接続元設定の修正を行う場合は、新しい拡張機能から接続用ファイルを保存して実行してください。
検証は一時ファイル・合成OS応答・画像・AI応答・音声イベントで行います。
Windows実機・実アプリの署名や起動・実モデル推論は未確認です。

0.12.104の人物の区別・区間数の上限・Macの既存環境
---------------------------------------------------------
AIが別々の人物IDを返していても、「人物1」「人物2」のような仮名で特徴が同じ場合に、
同じ人物へまとめて声まで一つにする問題を修正しました。
仮名や共通の特徴だけで別人物を統合せず、同じ推定内容なら同じページの再推定も安定したIDを使います。
同名であっても一つの推定内で別IDを与えられた人物は区別し、明示された既知IDを先に確保します。
別ページの再登場は、AIが返した既知の人物IDを優先します。実名の人物の引き継ぎは維持します。

話者推定の区間数が256を超えた場合、末尾を一つにまとめる際にセリフと地の文を混ぜる問題も修正しました。
区間を混ぜずに保持し、自動推定の上限を超えるページは理由を表示して標準の声で読みます。
本文は省略せず、本文を選択して手動で人物を割り当てることもできます。
区間一覧は先頭256件まで表示し、続きの手動編集方法を案内します。

MacでPATHの先頭にCLIだけのOllamaがあると、後ろにある既存のOllamaアプリを見落とす問題を修正しました。
明示されたローカルの絶対パスを順番に確認し、利用できる既存アプリを再利用します。
署名確認と実行権限の確認は維持し、カレントフォルダや相対パスを新しく探索することはありません。

接続済みのユーザーは、拡張機能の更新だけで人物・区間数の修正が反映します。
Macの初期設定で既存アプリを見つけられなかった場合は、新しい拡張機能から接続用ファイルを保存し直してください。
検証は一時ファイル・合成OS応答・画像・AI応答・音声イベントを使い、既存のサービスやモデルは操作しません。
Windows実機・実アプリの署名や起動・実モデル推論は未確認です。

0.12.103の本文修正とWindows初回準備
----------------------------------------------
長い引用の開始ページが本文の保存範囲から外れた後、本文の単語を手修正すると、
変更していない前ページの引用状態まで失い、会話の続きが地の文扱いになる問題を修正しました。
取得済み本文の世代と、接続・編集操作を取り消すための状態を分けて管理します。
修正ページに入る時点の確認済みの引用状態は保ち、修正した本文を使って、その後の区切りを計算し直します。
手動の話者・声を保持し、前ページの修正で影響を受ける後続ページは判定し直します。
別作品・読み取り方法・縦横設定の変更では古い状態を破棄し、未知の引用を推測して補いません。

Windowsの本体初回準備で、公式インストーラーが停止対象にする別のAIプロセスを見落とす問題にも対処しました。
本体取得前とインストーラー起動直前に、Ollama・llama-serverの稼働と標準保存先を確認します。
対象が起動中・確認できない・取得中に既存ファイルやリンクが現れた場合は、インストーラーを起動しません。
Manga Viewが他のプロセスを終了させたり、既存の保存先を上書きしたりする処理は追加していません。
検査後や公式インストーラーの操作待ちの間に別プロセスが起動する競合を、完全に排除する保証ではありません。

接続済みのユーザーは拡張機能の更新だけで反映し、設定ファイルの再実行・モデルの再取得は不要です。
これからWindowsの本体初回準備を行う場合は、新しい拡張機能から保存した準備ファイルを使ってください。
検証は一時フォルダ・合成OS応答・画像・AI応答・音声イベントを使い、実際のプロセスやモデルは操作していません。
Windows実機・実PowerShell・実モデル推論は未確認です。

0.12.102の話者設定変更とページをまたぐセリフ
----------------------------------------------
長い会話を読み進め、引用の開始ページが本文の保存範囲から外れた後に話者モデルを変更すると、
続きのセリフが地の文扱いになる問題を修正しました。「自動→手動→自動」の切り替えも対象です。
確認済みの引用の区切りは保持し、話者推定の設定変更に合わせて人物の判定だけを更新します。
本文・手修正・人物ごとの声を保持し、この修正のための全ページの再読み取りは行いません。
前ページが不明な飛び読み、別作品、読み取り方法や縦横設定を変更した場合の境界は維持します。
未知の文脈から会話を推測して補う変更ではなく、漫画には小説の引用継続の判定を適用しません。
拡張機能の更新だけで反映し、設定ファイルの再実行・モデルの再取得は不要です。
検証は合成画像・AI応答・音声イベントを使用し、実際の音声・モデル・補助アプリは起動していません。
Windows実機・実モデル推論は未確認です。

0.12.101の接続再確認と修正した本文の保持
----------------------------------------------
Ollamaで読み取った本文を手で修正した後、同じ読み取り方法のまま接続を確認し直すと、
修正を破棄して再度文字認識する問題を修正しました。通常の「Ollamaへ接続」と、
初期設定の「接続して使う」の両方で、同じ読み取り方法ならタブ内の本文と修正を保持します。
取得済みの本文があるページは、接続確認だけで画像から読み直すこともありません。
本文を取り直す場合は「このページの本文を取得」を使えます。読み取り方法を変更した場合は、
選んだ方法で本文を取り直します。人物の手動割り当てや声の設定も保持します。
既に接続できているユーザーの設定ファイル再実行・モデルの再取得は不要です。
検証は合成画像・AI応答・音声イベントを使い、実際の音声・モデル・補助アプリは起動していません。
Windows実機・実モデル推論は未確認です。

0.12.100のOllama接続・話者モデル
----------------------------------------------
並列読み取りで、読み取り用と異なる話者モデルを選んだとき、次ページの話者推定が
そのモデルを持たない並列側へ送られ、標準の声になってしまう問題を修正しました。
変更した話者モデルは接続確認済みの側へ送ります。本文の並列先読みと、既定モデルでの
並列側の利用は維持し、モデルの自動取得や別モデルへの差し替えは行いません。
本文・人物ごとの声・手動の割り当ては維持します。

PATHのollamaコマンドが、標準の場所以外にあるOllama.app内の実行ファイルを指しているとき、
コマンドだけの導入と誤認し、既存接続で起動できない／新規準備で本体を取り直そうとする問題を修正しました。
見つかったコマンドの実体がOllama.app/Contents/Resources/ollamaの場合に限り、対応するアプリを使います。
起動・モデル取得前の署名検証は維持し、任意のフォルダ探索や、別名アプリ・ラッパースクリプトからの推測は行いません。
通常の場所のアプリ、コマンドだけの環境、Windowsの検出方法は維持します。
既に接続できている場合は設定ファイルの再実行は不要です。この検出問題に該当する場合だけ、
現在の拡張機能から「既存環境に接続」のファイルを保存し直して実行してください。
検証では一時フォルダ内のダミー構造と合成応答を使用し、実アプリの起動・署名確認・モデル取得は行っていません。
Windows実機・実モデル推論も未確認です。

0.12.99の改ページをまたぐセリフの扱い
----------------------------------------------
小説のセリフが次のページへ続くとき、前ページの文脈があっても続き全体を地の文として扱い、
人物の推定を省略する問題を修正しました。引用符が閉じているかという状態を、AIへ渡す末尾600字の
文脈とは別に引き継ぎます。連続した前ページの本文と状態を保持していれば、引用の開始位置が
600字の外にある長いセリフや、3ページをまたぐセリフも区別します。人物や声をそのまま継承する処理ではありません。
本文・読み順・手動で直した割り当てを保ち、漫画には小説の引用継続の判定を適用しません。
前ページが不明な場合、飛び読みで連続した状態がない場合、引用の深さが上限を超えた場合は、
継続を推測で補いません。このために全ページの文字認識や原本の追加取得を始めることもありません。
人物推定の完全性を保証する変更ではなく、引用符のない会話や誤認識には手動の割り当てを使えます。
既存ユーザーの接続再設定・設定ファイルの再実行・モデルの再取得は不要です。
実アプリと実読み取りモジュールへ合成応答を渡す試験で再現・確認した修正です。
Chromeでの検証でも画像・AI応答・音声イベントは合成し、実際の音声は再生しません。
Windows実機・実モデル推論は未確認です。

0.12.98のOllama待機期限の確認
----------------------------------------------
画面側の処理が混み合ってタイマーの実行が遅れた場合、制限時間を過ぎたOllamaの接続確認応答を
成功と扱う問題を修正しました。タイマーに加えて、応答を受け取った時点でも経過時間を確認し、
期限後の結果は採用せず、従来の時間切れメッセージで再試行を案内します。
通常の接続確認5秒、本文読み取り180秒（並列用は360秒）、話者推定60秒の上限は変更しません。
処理の順番待ちと前の処理の後片付けを待つ時間を、この上限へ含めない従来の扱いも維持します。
OSスリープ中やアプリ停止中の計時を保証する修正ではありません。
アプリ画面本体と共通初期設定の処理、Native・CSP・権限・認証・通信先は変更しません。
既存ユーザーの接続再設定や、接続・準備ファイルの保存し直し・再実行は不要です。
取得済みモデルを再取得する必要もありません。
Windows実機での接続・実モデル推論は未確認です。

0.12.97のOllama接続確認のエラー応答判定
----------------------------------------------
HTTP 200でも、Ollamaのバージョン・モデル一覧の応答の最上位に error 項目がある場合は、
正常な version や models が併記されていても成功とは扱わないようにしました。
共通初期設定の /api/version・/api/tags と、接続・読み取り側の /api/tags の確認に適用します。
エラー付きの空一覧をモデル不足と誤認して取得を始めず、読み取り側もその応答から推論へ進みません。
error の内容はそのまま表示せず、応答を確認できないことを既存の固定メッセージで案内します。
成功用の項目と error を併記した合成応答で再現した修正で、実環境での発生を確認したものではありません。
0.12.96のモデル名の矛盾チェックと、片側だけの正常なモデル名を受け付ける処理は維持します。
アプリ画面本体・Native・CSP・権限・認証・通信先は変更しません。
既存ユーザーの接続再設定は不要です。初期設定側の修正を使う場合だけ、現在のManga Viewから
新しい共通の接続・準備ファイルを保存し直して実行してください。取得済みモデルの再取得は不要です。
実サービス・モデル・OS設定は操作していません。Windows実機での接続・初期設定・実モデル推論は未確認です。

0.12.96のOllamaモデル名の照合修正
----------------------------------------------
Ollamaのモデル一覧（/api/tags）の同じ1項目で、name と model が異なる名前を示す場合に、
両方のモデルを準備済みと誤認する問題を修正しました。接続・読み取り側と共通初期設定側の両方で矛盾を拒否します。
name または model の片方だけを含む正常な応答は引き続き受け付けます。
これは矛盾する一覧への対処で、正常なOllamaや通信全体を一律に拒否する変更ではありません。
接続確認後の読み上げ中に声を変更し、非表示・停止・別の本での再開を行う連続操作も合成応答で確認しました。
アプリ画面本体の追加修正はありません。Native・CSP・権限・認証・通信先は変更しません。
既存ユーザーの接続再設定は不要です。初期設定側の照合修正を使う場合だけ、現在のManga Viewから
新しい共通の接続・準備ファイルを保存し直して実行してください。取得済みモデルの再取得は不要です。
確認は合成応答と代替した環境によるもので、実サービス・モデル・OS設定は操作していません。
Windows実機での接続・初期設定・実モデル推論は未確認です。

0.12.95のOllama接続確認・応答検証の修正
----------------------------------------------
Ollamaの接続確認が終わる直前に読み取りクライアントを終了した場合、遅い結果を「利用可能」として返さないようにしました。
モデル一覧の各項目・モデル名・外部モデル情報の形式を確認し、不正な一覧を接続成功やモデル不足と誤認しません。
不正な一覧を受け取った場合は、本文や話者を推論する要求へ進みません。
空の一覧・正常な未知のモデル名・空文字の外部モデル情報など、従来受理していた正常な形式は維持します。
一覧確認後に受け取った推論の返答でも、remote_host／remote_model が非空または不正な型なら、
通常JSON・ストリーム応答の両方で読み取り結果として採用しません。
これは返答を拒否する処理です。すでにローカルのOllamaが外部へ転送した通信を防止・取り消せることを保証するものではありません。
本文の先読みと話者接続確認を同時に進め、途中で話者モデルを変更する条件も合成応答で確認しました。
本文処理を維持し、新しいモデルだけで推定し、古い成功・403の応答で表示や保存結果が上書きされないことを確認しています。
アプリ画面本体・Chrome端末内AI・共通初期設定の製品処理、Native・CSP・権限・認証・通信先は変更しません。
確認は合成応答と代替した環境によるもので、実サービス・モデル・OS設定は操作していません。
Windows実機での接続・実モデル推論は未確認です。今回の修正のためだけに取得済みモデルを再取得する必要はありません。

0.12.94の起動直後・応答待ち・中止後の確認
----------------------------------------------
共通初期設定が正規のOllamaアプリを起動した直後だけ、未起動・一時的な接続失敗・応答待ちの時間切れを再確認します。
起動待ちは経過時間で20秒までとし、期限前に始めた1回の照会には最大10秒の上限があるため、待機全体は30秒程度までです。
20秒の起動確認期限を過ぎた成功応答は採用しません。最初の照会が不応答という理由で別のアプリを起動することはありません。
HTTP 403・不正な応答・その他のHTTPエラーは、起動中の一時的な未応答と区別して扱います。
Ollamaの接続確認は開始時の中止信号を使います。呼び出し元の設定が後から変わった場合に、
別の中止信号で通信失敗を「中止」と誤判定する問題を修正しました。
Chrome端末内AIの利用状況の照会は5秒以内に応答しなければ待機を終え、再確認できるようにしました。
OllamaからChrome AIへ切り替える場合や、自動選択でChrome AIを確認する場合にも適用します。
期限後の遅い成功を採用せず、終了時は残った照会とタイマーを解放します。初回のモデル取得・推論の制限時間は変更しません。
共通の接続確認を中止して単体のOllama確認へ移る操作と、設定画面の閉じ直しを合成応答で追加確認しました。
アプリ画面本体の追加修正はありません。Chrome権限・CSP・Native接続・サーバー認証は変更しません。
確認は合成応答と代替した環境によるもので、実サービス・モデル・OS設定は操作していません。
Windows実機での起動・初期設定・実モデル推論は未確認です。
初期設定側の修正を使う場合は、現在のManga Viewから共通の接続・設定ファイルを保存し直して実行してください。
正常に接続できている場合、毎回の再実行や取得済みモデルの再取得は不要です。

0.12.93の話者接続確認・Ollama初期設定の修正
----------------------------------------------
話者AIが「自動」の接続確認中に読み取り方法を変えると、以前のOllamaの成功を表示する問題を修正しました。
変更前の確認を中止して再確認できる状態へ戻し、遅い旧応答で表示を上書きしません。
共通初期設定で新しい読み取り方法が適用された場合も同じ扱いです。接続失敗で選択が変わらない場合や、
話者AIを明示的に選んだ独立した確認は維持します。
Ollama初期設定は、不正なモデル一覧を「モデルなし」と解釈して取得を始めず、確認できない理由を示して止まります。
話者用モデルだけを指定した場合も、Ollamaのバージョン応答の形式を確認します。
モデル取得後の一覧確認がHTTP 403になった場合も、通常の終了・再起動と同じ設定ファイルの再実行を案内します。
Windowsの共通設定CMDは、OS所定のPowerShellを絶対パスで起動します。作業フォルダの同名ファイルを参照せず、
PowerShellがPATHに登録されていない場合もその所定の実行ファイルを使います。
Chrome権限・CSP・Native接続・サーバー認証・読み取りエンジン本体は変更しません。
合成応答・代替した環境による再現条件を確認した範囲で、実サービス・モデル・OS設定は操作していません。
Windows実機でのCMD実行・初期設定・実モデル推論は未確認です。
初期設定側の修正を使う場合は、現在のManga Viewから共通の接続・設定ファイルを保存し直して実行してください。
正常に接続できている場合、毎回の再実行や取得済みモデルの再取得は不要です。

0.12.92のWindows Ollama PATH探索の修正
------------------------------------------
WindowsのPATHで先に見つかるOllamaがCLIだけの場合に、その後に登録された正常なアプリを見落とす問題を修正しました。
PATHに明示された、このPC内の絶対パスのフォルダ直下にある ollama.exe を順に確認し、
起動可能なアプリ付きの候補を優先します。該当がなければCLIだけの候補情報を保持します。
候補のCLIやアプリへアクセスできない場合も後続の候補を確認し、1つのアクセス拒否で探索全体を止めません。
作業中のフォルダを暗黙に探したり、相対パス・UNCの共有先を探索したりしません。
署名確認・接続元許可・通信先・Native接続方式・Chromeの読み取り処理は変更しません。
403の先読み失敗後に接続許可を取り消し、明示的に再接続して読み上げを再試行する条件と、
話者推定の時間切れ後の手動割り当てを、遅い旧応答が上書きしない条件を合成応答で確認しました。
実サービス・モデル・OS設定を操作した確認ではなく、Windows実機での起動・設定反映・推論は未確認です。
この探索修正を使う場合は、現在のManga Viewから共通の接続・設定ファイルを保存し直して実行してください。
正常に接続できている場合、毎回の再実行や取得済みモデルの再取得は不要です。

0.12.91のWindows Ollama候補の選び方の修正
------------------------------------------
標準の保存先にCLIだけが残っていても、PATHに登録された別の既知候補に起動可能なOllamaアプリがあれば、
そちらを優先して再利用します。先に見つかったCLIだけの候補が、正常なアプリへの接続を妨げる問題を修正しました。
起動可能な候補がない場合も、CLIだけの候補情報を残して、準備・接続の判断に使います。
署名確認・接続元許可・通信先・Native接続方式は変更しません。Chromeのアプリ本体にも追加修正はありません。
モデル準備の中止後にロックが解放され、再実行で不足分だけを取得する条件を合成試験で確認しました。
非表示・再表示、本の切り替え、タブ終了中のOllama確認に古い応答が届く条件も回帰試験に追加しました。
実サービスやモデルを操作した確認ではありません。Windows実機での起動・設定反映・推論は未確認です。
今回の候補選択修正を使う場合は、現在のManga Viewから共通の接続・設定ファイルを保存し直して実行してください。
正常に接続できている場合、毎回の再実行や取得済みモデルの再取得は不要です。

0.12.90のOllama起動・接続設定の追加監査
------------------------------------------
WindowsでOllamaアプリを起動する前に、CLIに加えて実際に起動する ollama app.exe の署名も確認します。
接続元設定に環境変数の参照が含まれる場合は、展開後の値も保存・Windowsへの変更通知より前に検証します。
不正な値を検出した場合は、ユーザー環境変数を書き換えません。
初期設定ファイル内のOllama状態確認（/api/version・/api/tags）は、各要求のヘッダーと本文を含む全体を10秒に制限します。
少しずつ応答が届き続ける場合も中断し、期限後の結果を成功として扱いません。中断した確認は次の再試行を妨げません。
Chromeの通常の接続確認5秒・本文推論180秒・並列推論360秒、アプリやモデルの取得・pullの待機上限は変更しません。
開発用Mac起動ファイルは、古いターミナルに残る値より現在のログイン中の接続元設定を優先し、
Ollamaの応答をJSONの空でないversion文字列として確認します。この起動ファイルはChrome拡張ZIPには含みません。
Chrome内の読み取り・Native接続方式・許可範囲は変更しません。画像テスト中止後の試聴と、
読み取り先変更・本文手編集に古い話者推定が重なる条件も合成応答で確認し、アプリ本体の追加修正はありません。
Windows実機での署名確認・環境設定・実モデル推論は未確認です。
保存済みのファイルは自動更新されません。今回の起動・設定修正を反映する場合は、現在のManga Viewから
「既存環境に接続」のファイルを新しく保存・実行します。対応する取得済みモデルは再取得しません。

0.12.89の共通5モデル初期設定
--------------------------------
Ollama（Qwen3-VL）を追加OCR3種類・Qwen3-TTSと同じOS別初期設定へ統合しました。
「既存環境に接続」はアプリ・モデル・ライブラリを取得せず、「新しく準備」は選択した不足分だけを準備します。
Ollamaの未導入時は固定版・サイズ・SHA-256を確認した公式アプリを利用し、画像モデルは qwen3-vl:4b-instruct を使います。
Ollamaだけの接続・確認画像テストはNative Messagingを使いません。保存した共通ファイルの実行にはPython 3.11以上が必要です。
起動中Ollamaへの設定反映に再起動が必要なら、未完了のまま手順を案内し、既存プロセスを強制終了しません。
Windowsの接続元設定はユーザー環境変数へ保存し、Macは現在のログイン中だけ有効です。
Windows実機での設定・実モデル推論は未確認です。

ここからは0.12.88以前の履歴です。当時の専用Ollama CMDと自動導入なしの説明は、0.12.89の共通設定には当てはまりません。

0.12.88のOllama接続・キャンセルの再監査
主Ollamaの接続確認の既定を3分から5秒へ変更しました。画像推論180秒・並列360秒・話者推定60秒は維持します。
設定画面で話者推定AIの確認を中止しても、別に進んでいるページ準備を巻き込まないようにしました。
接続先変更後に以前のOllamaの拒否理由を表示する競合を修正し、新しい結果と古い処理の理由を分けて保持します。
Ollama用のWindows接続設定CMDは、保存先の %変数名% 等を別のCMDで再解釈しない起動方法へ変更しました。
この修正を使う場合は現在のManga ViewからOllama用CMDを保存し直します。接続が正常なら再実行は不要です。
開発用並列起動ファイルのJSON・モデル名・リモート参照確認も補強します。開発用起動ファイルはChrome拡張ZIPには含みません。
追加OCR・Qwen用補助アプリの認証・モデル参照は変更しません。今回のためだけに追加OCR・Qwen用ファイルを再実行する必要はありません。
Windows実機でのCMD実行・Ollama本体や実モデルの接続と推論は未確認です。Ollama本体・モデルの同梱や自動導入も追加していません。

0.12.87のOllama接続・話者の追加監査
Ollama接続確認中に読み取り方法を変更した場合の中止・再試行と、古い確認結果の適用を修正しました。
並列用AIが使えない理由を画面に表示し、本体・画像モデルの導入と接続許可CMDの違いを案内します。
人物の特徴が同じでも実名が異なる場合や、同じ仮名でも特徴が異なる場合の、誤った人物統合を修正しました。
既知の人物IDを優先し、通信途中の切断・取消後の再試行を読み取り本体の回帰試験へ追加しています。
追加OCR・Qwen用の補助アプリや認証・モデル参照は変更しません。正常に接続済みなら、この更新のためだけに
追加OCR・Qwen用の接続ファイルを再実行する必要はありません。Ollamaの403には上記の専用CMDを使用します。
開発用の並列起動ファイルは接続元設定を保持し、既存Ollamaの接続元許可も確認しますが、Chrome拡張ZIPには含みません。
権限・送信先・プライバシー条件は維持します。Windows実機でのCMD実行、Ollama本体・実モデルの再接続と推論は未確認です。

0.12.84の接続案内
設定画面・README・設定完了メッセージに、既存AIの探し方、再起動後の使い方、
接続・設定ファイルを再実行する条件を追記しました。
説明の更新です。接続済みなら補助アプリの更新やCMD／commandの再実行は不要です。

0.12.83のSDK実行境界の監査
文字認識・音声生成の子プロセスで、AIライブラリのログが処理結果の返答へ混ざる問題を修正しました。
ライブラリの初期化・推論中の出力と、画像認識結果・音声データの返答を分離します。
この修正は、現在の拡張機能から「既存環境に接続」の接続ファイルを保存・実行すると反映します。
モデル・SDKの再取得はありません。認証や権限、通常のモデル検証は維持します。
合成SDKを用いた実子プロセスの試験です。Windows実機と実モデル推論は未確認です。

0.12.82の追加接続監査
登録済みのモデル・SDKに不足がある場合、「新しく準備」から選んだ不足分を別の作業先へ準備できます。
健全なエンジンは既存参照を維持し、壊れていても未選択のエンジンは勝手に準備しません。
未選択の不足分も必要な場合は、エンジン名と追加の選択を案内して準備前に停止します。
公式モデル・対応SDKの全検証が成功した場合だけ接続を更新します。失敗や中止では旧設定を保持します。
通常の使用時の参照検証、リンク・UNC拒否、既存環境への接続で取得を行わない条件は維持します。
修復時は現在の拡張機能の「新しく準備」から最新の設定ファイルを保存・実行してください。
Windows実機での登録・起動は未確認です。

0.12.81の追加接続監査
受付が混雑して本人確認前にHTTP 429となった場合、古いアプリの本人確認失敗と混同しない案内にしました。
本人確認前の画像・本文送信、混雑時の別プロセス起動や自動再送は行いません。
明示的な「既存環境に接続」では、消えた旧モデル・SDK参照を候補ヒントにして既知の保存先を再探索します。
モデル・SDKをすべて再検証した場合だけ参照を更新します。不足や不正な参照では以前の設定を保持します。
通常の使用時に参照先の存在確認や検証を省く変更はありません。モデルの再ダウンロードも行いません。
補助アプリ側の修正は、現在の拡張機能から接続ファイルを保存・実行すると反映します。
Windows実機での登録・起動は未確認です。

0.12.80の追加接続監査
Windowsで32ビットの登録がない場合、64ビットの既存接続設定も書き込み前に確認します。
別の保存先への既存登録がある場合は、元の拡張機能の接続を隠す上書きをしません。
設定失敗時は変更されていないファイルの再置換を避け、他のファイルも最後まで復元します。
復元できないファイルがある場合は reading_install_rollback の診断で区別します。
補助アプリの接続方式・本人確認と0.12.79の互換性は維持します。
正常に接続登録済みの0.12.79環境では、この版の接続ファイルの再実行は不要です。
Windows実機での登録・起動は未確認です。OS条件を模した回帰試験で確認しています。

0.12.79の接続再監査
起動済みアプリへの遅い状態確認が、別タブの接続を起動ロックで拒否する競合を修正しました。
状態確認を起動ロックから分離し、停止から起動する場合だけ再確認して1回起動します。
起動待ち・ロック待ち・確認処理は全体25秒の予算を共有します。起動後の認識・音声処理の300秒予算には影響しません。
接続準備とQwen一覧・追加OCRの状態確認の待機を整合させ、キャンセル後の不要な起動と再試行できない接続フレームも修正しました。
Nativeが使用できない保存先は、設定成功後に接続失敗するのを避けるため、書き込み前に拒否します。
最新版から接続ファイルを保存・実行して、補助アプリ側の修正も反映してください。モデル・ライブラリは再取得しません。
Windows実機での接続成功は未確認です。合成環境とローカル通信で再現した条件を修正しています。

0.12.78のWindows起動修正
停止中の接続先へのTCP接続が時間切れになった場合、補助アプリの起動前に停止していた問題を修正しました。
Windowsの停止判定を受け取れるようTCP接続の待機を3秒にし、停止確認後に登録済み補助アプリを一度だけ起動します。
一時的なTCP接続の時間超過は「接続して使う」で最大2回確認し、停止を確認できない場合は起動しません。
本人確認が不正な場合や、接続後の処理が時間切れの場合は新しい起動・本文の再送を行いません。
Windowsの待ち受けは排他設定を使用し、既に使われている接続口を共有しません。別アプリの強制停止は行いません。
拡張機能を更新後、「既存環境に接続」から新しい接続ファイルを保存・実行してください。
モデルやライブラリの再ダウンロードは不要です。Windows実機では未検証です。

0.12.77の接続修正
本人確認の応答に1秒以上かかると、正常な補助アプリでも接続が切れる問題を修正しました。
本人確認は専用の2秒制限を使い、モデルの準備状態は10秒まで確認します。
接続・本人確認・モデル確認のどこで時間超過や切断が起きたかを診断表示します。
拡張機能を更新後、同じPCの「既存環境に接続」から最新の接続ファイルを保存・実行してください。
モデル・ライブラリの再ダウンロードは行いません。保存済みの古いCMDは自動更新されません。
保存するZIPと中の実行ファイルに0.12.77の版番号が付き、実行冒頭でも版と接続区分を表示します。
古いCMDは、正常終了した新しい設定のロックファイルも「実行中」と誤認する場合があります。
ロックは削除せず、最新版から保存した接続ファイルだけを実行してください。

0.12.76の修正
旧start-extra-reading-engines.command / .ps1は、Chromeでの接続方法を案内するだけの
ファイルに変更しました。手動でサーバーを起動する必要はありません。
旧ファイルが起動した補助アプリは、現在のChrome拡張の本人確認に対応していません。
以前の手動起動で「Local reading engines」と表示された画面が開いている場合は、
その画面でCtrl+Cを押して停止し、Manga Viewの「取り込み・テキストの設定」→
「Windows初期設定」または「Mac初期設定」→「接続して使う」を押してください。
初回の接続登録がまだの場合は、同じ画面の「既存環境に接続」から接続ファイルを
保存・実行し、完了後に「接続して使う」を押します。
AivisSpeech・VOICEVOX・Ollamaを終了する必要はありません。
既に保存した古い起動ファイルは自動更新されないため、今後は開かないでください。
今回、本人確認を省略したり、起動済みの別アプリを自動停止したりする変更はありません。

0.12.74の修正
設定ファイルを強制終了した後でも、再実行できるロックへ変更しました。
同時に開いた設定は互いを上書きせず、再試行時に最新の登録・モデル構成を確認します。
以前のmanaged構成へモデルを追加接続するときも、登録済みモデルを保持して確認します。
旧版のディレクトリ形式のロックは、以前の設定が実行中の可能性があるため自動削除しません。
reading_install_legacy_lock が出た場合は、以前の設定画面が終了していることを確認し、
解消しなければ診断表示を開発者へ伝えてください。

0.12.73の修正
別モデルの追加準備で、現在使っている実行環境のライブラリを上書きしないようにしました。
不足分は参照中のモデル・SDKがない固定の作業先へ準備し、成功した場合だけ接続を更新します。
準備失敗・中止後も、それまでのモデルと接続を利用できます。準備済みの分は再利用します。
補助アプリの終了後に処理を新しく作らず、終了中を接続成功と表示しないよう修正しました。
最新版の「既存環境に接続」から接続ファイルを保存・実行すると、補助アプリを更新できます。
モデルの追加は「新しく準備」で行います。以前に保存した設定ファイルは自動更新されません。

中止の範囲
通信や画面の待機を中止しても、AI内部で始まった計算を直ちに止められない場合があります。
その場合、処理が完了・失敗・時間上限に達するまでは、そのエンジンが前の処理を保持します。
今回の修正で推論の強制終了は追加していません。別の利用者の処理を強制停止することもありません。

通常の設定方法（Chrome拡張版）
1. Manga Viewの「取り込み・テキストの設定」で、
   「Windows初期設定」または「Mac初期設定」を開きます。
2. NDLOCR-Lite・PP-OCRv6 small・manga-ocr・Ollama（Qwen3-VL）・Qwen3-TTSから
   使いたいモデルにチェックを入れます。文字認識・音声は片方だけでも
   両方でも選べます。文字認識を複数選んだ場合は、今使うものを1つ選びます。
   「接続して使う」を押します。すでに設定済みなら、ファイル保存・実行は不要です。
   接続とモデルの準備状態が確認できた場合だけ、使用する設定に切り替えます。
3. 初めての方や接続できなかった方は、導入状況に合うほうを選びます。
   ・導入済み：「既存環境に接続」の「接続ファイルを保存」
     アプリ・モデル・ライブラリをダウンロードせず、対応する既存環境を確認し、
     この拡張機能への接続を登録します。不足・非対応なら理由を表示して停止します。
   ・これから導入・追加：「新しく準備」の「設定ファイルを保存」
     選んだモデルと必要なライブラリの不足分をダウンロードして準備します。
     Ollamaは公式アプリが未導入の場合に本体も準備し、既存アプリ・モデルは再利用します。
   保存したZIPを展開し、Python 3.11以上で中のファイルを実行して完了までお待ちください。
   再起動が必要と表示された場合は未完了です。Ollamaを通常の操作で再起動し、同じファイルを再実行します。
   接続用は Manga-View-Reading-Connect-0.12.111.cmd（Macは.command）、
   新規準備用は Manga-View-Reading-Setup-0.12.111.cmd（Macは.command）です。
   コマンド入力・拡張機能IDの転記・モデルのフォルダ選択は不要です。
   初回の既存モデル確認は、ファイルの容量により時間がかかる場合があります。
4. 完了したら同じOS別初期設定に戻り、「接続して使う」を押します。
   「確認画像で読み取りテスト」「短い文章を試聴」で、実際の動作も確認できます。
   本の内容は使いません。初回はモデルを読み込むため時間がかかる場合があります。
   「接続確認済み」と「動作確認済み」は別々に表示します。
   「音声・テキスト」側の「接続を確認」「Ollamaへ接続」「Qwen3-TTSへ接続」も利用できます。
   Ollamaだけの接続・確認画像テストは、Native Messagingや追加OCR用補助アプリを使いません。

0.12.72の接続修正
接続確認中に設定画面を閉じる・別タブへ移ると、その確認を中止します。
中止後は応答を待たずに再試行でき、古い応答で使用モデルや結果を上書きしません。
既存環境に別モデルを新しく準備した場合も、未選択の登録済みモデルを維持します。
準備したモデルと以前の環境を両方確認できなければ、以前の接続設定へ戻します。
Qwen処理が自然終了した際の終了競合・パイプ解放も修正しました。
Windowsの既定文字コードがCP932でも、日本語本文・結果はUTF-8で受け渡します。
CP932を再現した試験を通していますが、Windows実機での推論は未確認です。
補助アプリ側の修正を反映するには、最新版の「既存環境に接続」から
接続ファイルを保存・実行します。対応する既存モデルは再取得しません。
新しいモデルを追加する場合だけ「新しく準備」を使ってください。

「補助アプリの起動情報を確認できません」と表示された場合
起動に必要な情報を補助アプリが確認できず、起動を受け付けていない状態です。
Windowsでは、最新版のManga Viewから上記1〜3の「既存環境に接続」の
接続ファイルを保存・実行し、起動ファイルを更新してください。通常はWindowsの再起動は不要です。
更新後、上記4の接続ボタンで接続します。更新済みでも同じ表示になる場合は、
エラー全文（native_launch_context）を開発者へ伝えてください。

設定ファイルには、保存したPCで使っている拡張機能のID、選択したエンジン、
接続・新規準備の区分が設定されます。ほかのPCへ配布する場合、そのPCの拡張機能から
設定ファイルを保存してください。以前の開発用IDを入力する必要はありません。
Chromeを複数のプロファイルで使う場合、それぞれの拡張機能から初回設定を行います。

AivisSpeech・VOICEVOXは各公式アプリを導入・起動してManga Viewから接続します。共通の5モデルには含めません。
Ollamaは共通の初期設定で扱いますが、接続・読み取りには追加OCR用のNative補助アプリを使いません。
追加OCRやQwen3-TTSも選んだ場合だけ、その機能のNative接続登録が必要です。

必要なもの
・Python 3.11以上。インストールされていない場合、設定画面の案内に従って
  https://www.python.org/downloads/ から準備し、設定ファイルを開き直します。
・新しく導入するエンジンの初回準備時のみネット接続が必要です。
  Python本体・仮想環境・追加AIモデルの重みはChrome拡張ZIPには同梱していません。
  標準の文字認識で使うTesseractの日本語データは同梱しています。
・MacのQwenはApple Silicon向けMLX版、WindowsはQwen公式SDKを使用します。
  WindowsのCUDAが使えない場合、CPUでの音声生成に時間がかかることがあります。

Ollamaを選んだ場合の初回設定
標準の配置とPATHにある既知候補を確認し、起動可能なアプリ付きの候補をCLIだけの候補より優先します。
WindowsではPATHに明示されたローカル絶対パスを順に確認します。暗黙の作業フォルダ・相対パス・UNC共有先は探索しません。
アクセスできないCLI・アプリの候補があっても、後続の候補の確認を続けます。
起動可能な候補がない場合はCLIだけの候補を保持します。PC全体を走査する探索ではありません。
公式アプリ・CLI、固定loopbackの既存Ollamaとモデル一覧を確認します。既存アプリを上書き更新せず再利用し、
「新しく準備」の未導入時だけ公式v0.40.5を取得します。ollama-install-lock.jsonの公式URL・サイズ・SHA-256と
照合したWindowsのOllamaSetup.exe、またはMacのOllama-darwin.zipを利用します。
Windowsは公式インストーラーの画面に従います。Macは署名を確認したOllama.appを ~/Applications へ配置します。
Windowsで既存のアプリを起動する前には、CLIと実際に起動する ollama app.exe の署名を確認します。
展開型のユーザー環境変数（REG_EXPAND_SZ）は、展開後の値を保存・変更通知より先に検証します。
本体の固定値（v0.40.5、詳しいURLは ollama-install-lock.json）:
  Windows: OllamaSetup.exe / 1584489392 bytes
    SHA-256 ea0b50685d382bc0af164abdbf9b41bd89abb98de14fc51e4890a7176757a519
  Mac: Ollama-darwin.zip / 213253158 bytes
    SHA-256 b07392350465d52b24cf23d6cfba61093fda312452b60d41867b4216ede6c8b2
共通UIが指定するOllamaモデルは既定の画像モデルだけです。詳細設定の別の話者推定モデルは別途準備します。
不足する画像モデルは qwen3-vl:4b-instruct です。既存モデルを削除したり、OSのモデル保存先を変えたりしません。
接続元設定はWindowsのユーザー環境変数、Macの現在のログインセッションへ保存します。
OSに保存済みのOLLAMA_HOST・OLLAMA_MODELSは変更しません。設定ファイルが起動する処理だけに
固定loopbackのHOSTとOLLAMA_NO_CLOUD=1を渡します。稼働中のプロセスを強制終了せず、
設定が未反映なら再起動・再実行を案内して失敗終了します。完了したことにはしません。
本体・モデル・ライブラリの取得はprepareだけです。connectは不足時に停止します。
通常の利用ではOllamaアプリを起動します。Windowsの設定はPC再起動後も保存されます。
Macはログインし直した後403になった場合、同じ共通接続ファイルを再実行してください。
公式設定の根拠: https://docs.ollama.com/faq

追加OCR3種類・Qwen3-TTSの初回設定の内容
このユーザー専用のフォルダへ起動用アプリを配置し、このChrome拡張機能にだけ
起動を許可します。管理者権限、OSの証明書変更、セキュリティ設定の無効化は不要です。
既存の起動設定が別のアプリを指している場合は、上書きせずに停止します。
MacやWindowsが未署名のファイルとして確認を求める場合があります。
OSの保護設定を自動で変更・回避する処理は含んでいません。

Macの保存先:
  ~/Library/Application Support/Manga View/Local Reading Engines
Windowsの保存先:
  %LOCALAPPDATA%/Manga View/Local Reading Engines

0.12.69以降の通常セットアップでは、フォルダ選択画面を表示しません。
0.12.70の「既存環境に接続」は、以前の登録先・標準保存先の環境に加え、
対応する公式モデルキャッシュとSDKを読み取り専用で確認します。
Hugging Faceの標準キャッシュ ~/.cache/huggingface/hub と、設定済みの
HF_HOME・HF_HUB_CACHE・HUGGINGFACE_HUB_CACHE の対象先を確認します。
PaddleOCRは ~/.paddlex/official_models と、設定済みのPADDLE_PDX_CACHE_HOME、
NDLOCRは ~/ndlocr-lite・~/.cache/ndlocr-lite などの既知の配置を確認します。
Windowsでは、すでに起動している既知のManga View補助サーバーの実行元も確認します。
利用者のAppData全体や本のフォルダを走査しません。
任意の場所・任意の版のモデルを自動検出できるものではありません。
モデルと動かすためのSDKが対応版で揃っている必要があります。対応しない場合に
「新しく準備」へ自動で切り替えたり、勝手にモデルを取得したりしません。
OCRごとに別の既存Python環境を利用できます。同時に保持するOCR用の処理は1つです。
OCRを切り替えると前の処理を終了し、次のモデルを読み込みます。Qwenも別環境で利用できます。
モデルは公式の固定版と照合して直接参照し、コピー・変換しません。
接続後にモデル・SDKが変更された場合は接続設定のやり直しを案内します。

専用環境の初回準備では、選択したエンジンの不足分だけを準備します。
準備済みと確認できたエンジンについては、依存ライブラリ・モデルを再取得しません。
以前のManga View環境を再利用する場合、接続用のPythonソースを更新しますが、
.venv・.venv-qwen・models・取得したライセンス情報は保持します。
別ソフト用の既存モデル・SDKを参照する場合、その原本は変更しません。
「新しく準備」へ明示的に切り替える場合も、既存の参照先を残して別の管理環境を
準備し、成功後にManga Viewの接続設定を切り替えます。
通常の「接続」、文字認識、音声生成ではダウンロードしません。
起動するのはこのPC内の http://127.0.0.1:11436 です。外部には公開しません。
起動用の登録名は com.mangaview.local_reading です。
この追加OCR・Qwen補助アプリはOllama・AivisSpeech・VOICEVOXを管理しません。
共通設定でOllamaも選んだ場合の公式アプリの準備・起動は、上記の別処理です。既存プロセスの強制終了は行いません。

安全な接続への更新（0.12.59以降）
以前に初回設定した方も、このPCの拡張機能のOS別初期設定で「既存環境に接続」の
「接続ファイルを保存」からZIPを保存し、中のファイルを実行してください。
対応する準備済みの環境を再利用し、モデルは再取得しません。不足があれば理由を表示します。
古い手動起動の補助アプリが開いている場合は、先にその画面から終了してください。
完了後は、拡張機能の「接続」で起動します。
旧版の補助アプリが起動中と表示され、閉じる画面がない場合は、一度PCを再起動して
から接続してください。新しい設定を読み込んでいない旧版へ本文・画像は送信しません。
0.12.70以降の補助アプリは、設定変更を検知すると自身のサーバーを終了します。
次の接続ボタンで新設定のサーバーを起動するため、他のアプリを終了する必要はありません。

初回設定で、このOSユーザー専用の接続確認キー reading-auth.key を作成します。
更新時は同じキーを保持します。キーを拡張機能や外部へ送ることはありません。
文字認識の画像や音声用の本文は、登録済みの起動アプリを経由し、相手が同じキーを
持つことを確認した同じ接続だけで送ります。同じポートで別のアプリが応答しても、
本人確認に失敗した接続先へ画像や本文は送りません。
0.12.70では接続設定の指紋も署名で確認し、旧設定のサーバーへの送信を拒否します。
外部SDKを使う場合は、その環境の.pth・sitecustomize等の起動処理を実行せず、
外部への通信を止めてから確認済みのSDKの保存先だけを読み込みます。
確認に失敗した場合は自動で通常のHTTP接続へ切り替えず、更新・再接続を案内します。
この保護は上記の初回設定で登録した追加OCR・Qwen環境が対象です。
0.12.67以降のChrome拡張版は、起動用アプリが未登録の場合も直接HTTPへ自動で
切り替えません。以前に登録した環境や標準保存先のモデルは、初期設定から再利用できます。
Chrome拡張以外の開発用HTTP連携や、AivisSpeech・VOICEVOX・Ollamaへの直接接続には、
この接続確認は適用されません。
同じOSユーザーのファイルを読める不正なソフトや、端末自体の乗っ取りへの保護を
保証するものではありません。キーやその保存フォルダを他の利用者と共有しないでください。

「この接続元は許可されていません」と表示された場合
古い起動ファイルで動いている補助アプリを、そのアプリの画面から終了します。
初期設定済みなら、まずChromeを完全に終了して開き直し、拡張機能の「接続」を押します。
起動登録が見つからないと表示された場合は、このPCのManga ViewのOS別初期設定から
「既存環境に接続」の接続ファイルを保存・実行してください。対応する準備済み環境を再利用します。
別のIDで起動中の補助アプリを、この拡張機能が勝手に終了することはありません。

ソースZIPの内容（開発・手動管理用）
README.txt                               この説明書（ZIPの最上位）
manga-viewer/helpers/
  start-extra-reading-engines.command     Chromeでの接続方法の案内（Mac）
  start-extra-reading-engines.ps1         Chromeでの接続方法の案内（Windows）
  local-reading-engines/
    server.py / ocr_engines.py / qwen_tts_engine.py
    existing_reading.py / existing-reading-lock.json
    setup_ocr.py / setup_qwen.py
    reading_native.py / install_reading.py
    install_ollama.py / ollama-install-lock.json

開発者向け手動管理
通常は上記の設定ボタンを使います。以下はソースを直接管理する場合の補足です。
Chrome拡張への登録を手動で行う場合も、対象PCの実際の32文字の拡張機能IDを指定します。
  python3 install_reading.py --extension-id 実際のID --engines ndlocr,qwen --mode connect
選べるエンジンは ndlocr,paddle,manga,ollama,qwen です。Ollamaだけなら --engines ollama を指定します。
接続だけの場合は --mode connect を指定します。既存環境が不足・非対応なら停止します。
新しく準備する場合は --mode prepare を指定します。省略時も prepare です。
prepareは、以前の登録先・標準の保存先を自動確認し、不足分を準備します。
実行したソースフォルダにある独自環境を、そのまま登録する指定ではありません。
Windowsではpython3の代わりにpy -3.12等の利用するPythonを指定します。

Chrome拡張以外の開発用HTTP連携を試す場合は、補助アプリのソースフォルダで
Python 3.11以上を使って、その手動環境を準備します。
  python3 setup_ocr.py --install --engine ndlocr
  python3 setup_qwen.py --install
開発用HTTP連携の手動起動は、ソースフォルダで直接指定します。
  python3 server.py --extension-id 実際のID
この開発用サーバーにはChrome拡張の本人確認がありません。Chrome拡張と同時に
使わず、開発用の起動画面でCtrl+Cを押して終了してから、Chromeの接続へ戻ります。
start-extra-reading-engines.command / .ps1は、現在はChromeの接続案内だけを表示します。
Chrome拡張から利用する場合は、上の install_reading.py で起動登録してください。
HTMLをfile://で直接開いた状態からは接続できません。

接続確認と制限
状態確認は各エンジンの ready / missing / error を返します。
readyは取得済みモデルと環境の確認です。読み取り品質・Windows実機での
動作を保証するものではありません。状態確認で推論を始めることはありません。
画面の動作テストを押すと、短い確認画像・文章で実際に推論します。
0.12.71ではMacの既存環境でNDLOCR・PaddleOCR・manga-ocrの確認画像認識と
Qwen MLX音声生成を実試験しました。Windows実機・CUDA版は未確認です。
この設定方法のMac・Windows共通処理とWindows用登録内容は分離環境で試験しています。
Windows実機での初回設定・依存ライブラリ取得・推論は別途確認が必要です。

ライセンスと配布
初回準備で保存されるモデル・依存ライブラリのライセンスに従ってください。
Chrome拡張はローカルAPIへ接続する構成です。モデル等も別途同梱して再配布する場合は、
その版のライセンス・著作権表示・NOTICE・改変表示の条件を確認してください。
Qwenは標準話者Ono_Annaのみを使用し、声クローンや参照録音の入力は受け付けません。
