jev-chat/jev-chat-windows
JevChat-Windows:聊天窗口旁挂的回复辅助。窗口截图 + 本地离线 OCR 读对方消息 → Jev 判断意图 → 3 条候选一键填入,发送永远手动
JevChat‑Windows – デスクトップチャットアプリ用AI支援返信ヘルパー
何ができるか
- Windows専用のデスクトッププログラムで、チャットウィンドウ(WeChat、KakaoTalkなど)を監視し、画面からオフラインOCRでテキストを読み取り、抽出されたメッセージを言語モデルに送信し、3つの返信候補を返します。
- 候補は、小さな意思決定モデル(Jev)によってランク付けされ、短い意図/緊急度要約も提供されます。
- ユーザーは手動で Send を押します。ツールは選択したテキストを入力フィールドに貼り付けるのみです。
主な機能
| 機能 | 内容 |
|---|---|
| ウィンドウキャプチャ + OCR | Windows Graphics Capture (WGC) でチャットウィンドウを取得し、RapidOCR(中国語/英語)または組み込みの Windows.Media.Ocr(韓国語)でテキストを完全にローカルで読み取ります。 |
| Jev 意図分析 | OpenRouter や TypeSafe を通じて軽量な意思決定モデルを呼び出し、7つの事前定義された質問(意図、必要性、提案アクション、緊張度など)に回答し、各返信に対する確率を返します。 |
| 3つのAI生成返信 | Jevの要約と最近の会話文脈を、生成型LLM(デフォルトは DeepSeek‑Flash)に送信し、3つの候補返信を草案します。 |
| ランク付け | Jevが3つの草案を再評価し、勝率を割り当てます。最もスコアが高い返信が「推奨」表示されます。 |
| 浮動UI | 小さな常に前面表示のオーバーレイで、意図要約、3つの候補、選択したテキストを貼り付けるボタンを表示します。 |
| 会話単位のメモリ | 各チャットセッションはOCRで抽出された会話タイトルで識別され、履歴、文脈、生成された返信はセッションごとに別々に保持されます。 |
| グループチャット対応 | 発言者名を検出でき、特定の参加者にターゲットを絞ることができ、オプションで @name を返信に前置できます。 |
| デバッグビュー(オプション) | キャプチャフレームとすべてのOCRバウンディングボックスを可視化する2番目のウィンドウを開き、なぜ行が誤検出されたかを確認できます。 |
| 自動送信なし / データ保存なし | プログラムは送信ボタンをクリックせず、スクリーンショットやキーをディスクに書き込まず、推論に必要な最小限のテキストのみを送信します。 |
| ポータブル実行可能ファイル | 事前にビルドされた jev-chat-windows.exe(約146 MB)はPythonのインストールなしで実行可能。PyInstallerで再ビルドも可能です。 |
動作フロー(簡略化)
- キャプチャ – WGCがターゲットチャットウィンドウを継続的に取得します。
- メッセージ領域の特定 – ピクセルベースのアンカーでチャットバブルが含まれる領域を特定します。
- OCR – RapidOCR(または韓国語用のWindows OCR)でテキストを読み取り、色でバブルを分離し、タイムスタンプ、画像などをフィルタリングします。
- 新しいメッセージの検出 – 相手からの新しいメッセージが表示されたときにパイプラインがトリガーされます。
- Jev分析 – 最近のメッセージと関係設定をJev意思決定APIに送信。意図要約と勝率ランクを受信します。
- 返信草案作成 – Jevの要約を生成型LLMに送信し、3つの候補返信を草案します。
- ランク付け – Jevを再び呼び出して3つの草案をランク付け。UIで確率を表示します。
- ユーザー操作 – Fill をクリック。テキストがクリップボードにコピーされ、チャット入力ボックスに貼り付けられます。ユーザーがいつ(またはどう)送信するかを判断します。
セットアップと使い方
- ダウンロード:リリースページから最新のzipをダウンロードし、フォルダ全体を展開して
jev-chat-windows.exeをダブルクリックします。 - 初回起動時に設定ウィンドウが表示されます。2つのAPIキーを入力する必要があります:
JEV_API_KEY– Jev意思決定モデル用(OpenRouterまたはTypeSafe)。LLM_API_KEY– 生成型モデル用(デフォルトはDeepSeek、他の選択可能)。
- キーはユーザーの環境変数(
HKCU\Environment)にのみ保存されます。ファイルには含まれません。 - 関係性の文脈(例:「友人」、「同僚」)とオプションの話し方スタイルを選択します。
- チャットウィンドウを開いたままにしてください(最小化しないでください)。新しいメッセージが届くと、浮動パネルが意図要約と3つの返信オプションを表示します。
- Fill をクリックして選択した返信を貼り付けます。必要に応じて編集し、自分で Send を押します。
対応チャットアプリ(標準搭載)
- WeChat – 中国語/英語OCR、緑色バブル検出。
- KakaoTalk – Windows.Media.Ocrによる韓国語OCR、黄色バブル検出。
- 他のアプリを追加するには
app/chatapps.pyに1行追加するだけです。
プライバシーとセキュリティ
- すべてのスクリーンショット処理はメモリ内に留まり、画像はディスクに書き込まれず、アップロードもされません。
- 送信されるのは、最近のNメッセージのテキスト(設定可能、デフォルトは10)、関係設定、自身の最近のメッセージの短いサンプル、およびオプションのスタイルプロンプトのみです。
- 更新チェックのためのGitHub Releasesへのオプションの1回のリクエスト以外、テレメトリは一切ありません。
- プログラムは他のプロセスにフックせず、他のアプリのメモリを読み取らず、お金関連のコンテンツも送信しません。
システム要件
- Windows 10(バージョン1903以上)または Windows 11(黄色キャプチャフレームを非表示にするために必須)。
- 事前にビルドされたexe用:追加ソフトウェア不要。
- ソースからビルドする場合:Python 3.10–3.12、
rapidocr、windows-capture、PySide6‑Fluent‑Widgets、およびそれぞれのLLM SDK。
ライセンス
- コードはMITライセンスで公開されています。
- バンドルされたUIライブラリ(
PySide6‑Fluent‑Widgets)はGPL‑v3のため、商業利用の場合は全体としてGPL‑v3の対象となります(そのコンポーネントの商業ライセンスを取得するか、コンポーネントを置き換える必要があります)。
誰に役立つか?
- デスクトップチャットクライアントで長時間過ごすユーザーで、チャットウィンドウから離れずに、迅速かつ文脈に応じた返信提案を望む人。
- OCRベースの画面スクレイピングとLLM推論、軽量な意思決定モデルオーバーレイをWindowsネイティブで実装した例を求める開発者。
上記のすべての情報はリポジトリのREADMEから直接取得しており、追加機能は一切推測されていません。
関連
- プロジェクト
- Dispatch
- プロジェクト
- Dispatch
- プロジェクト