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で再ビルドも可能です。

動作フロー(簡略化)

  1. キャプチャ – WGCがターゲットチャットウィンドウを継続的に取得します。
  2. メッセージ領域の特定 – ピクセルベースのアンカーでチャットバブルが含まれる領域を特定します。
  3. OCR – RapidOCR(または韓国語用のWindows OCR)でテキストを読み取り、色でバブルを分離し、タイムスタンプ、画像などをフィルタリングします。
  4. 新しいメッセージの検出 – 相手からの新しいメッセージが表示されたときにパイプラインがトリガーされます。
  5. Jev分析 – 最近のメッセージと関係設定をJev意思決定APIに送信。意図要約と勝率ランクを受信します。
  6. 返信草案作成 – Jevの要約を生成型LLMに送信し、3つの候補返信を草案します。
  7. ランク付け – Jevを再び呼び出して3つの草案をランク付け。UIで確率を表示します。
  8. ユーザー操作 – 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
  • プロジェクト