jev-chat/jev-chat-windows

JevChat-Windows:聊天窗口旁挂的回复辅助。窗口截图 + 本地离线 OCR 读对方消息 → Jev 判断意图 → 3 条候选一键填入,发送永远手动

JevChat‑Windows – 데스크톱 채팅 앱용 AI 보조 응답 도우미

무엇인가요

  • Windows 전용 데스크톱 프로그램으로, 채팅 창(WeChat, KakaoTalk 등)을 감시하고 화면에서 오프라인 OCR로 텍스트를 읽어내어 추출된 메시지를 언어 모델에 전송하고, 세 가지 제안된 응답을 반환합니다.
  • 제안된 응답은 작은 의사결정 모델(Jev)에 의해 순위 매겨지며, 짧은 의도/긴급도 요약도 제공됩니다.
  • 사용자는 수동으로 Send 를 누릅니다. 도구는 선택한 텍스트를 입력 필드에 붙여넣는 것만 수행합니다.

주요 기능

기능 설명
창 캡처 + OCR Windows Graphics Capture (WGC)를 사용해 채팅 창을 캡처하고, RapidOCR(중국어/영어) 또는 내장된 Windows.Media.Ocr(한국어)를 통해 텍스트를 완전히 로컬에서 읽어냅니다.
Jev 의도 분석 OpenRouter 또는 TypeSafe를 통해 가벼운 의사결정 모델을 호출하여 7개의 사전 정의된 질문(의도, 필요성, 제안된 행동, 긴장도 등)에 답변하고 각 응답에 대한 확률을 반환합니다.
세 가지 AI 생성 응답 Jev 요약과 최근 대화 맥락을 생성형 LLM(기본값: DeepSeek‑Flash)에 전송하여 세 가지 후보 응답을 초안합니다.
순위 매기기 Jev가 세 가지 초안을 다시 평가하고 승률을 부여합니다. 가장 높은 점수를 받은 응답은 "추천"으로 강조 표시됩니다.
플로팅 UI 작은 항상 위에 표시되는 오버레이로 의도 요약, 세 가지 후보, 선택한 텍스트를 붙여넣는 버튼을 표시합니다.
대화 단위 메모리 각 채팅 세션은 OCR로 추출된 대화 제목으로 식별되며, 기록, 맥락, 생성된 응답은 세션별로 별도로 유지됩니다.
그룹 채팅 지원 발화자 이름을 감지하고 특정 참여자에게 타겟팅할 수 있으며, 선택적으로 @name을 응답에 접두사로 붙일 수 있습니다.
디버그 뷰(옵션) 캡처된 프레임과 모든 OCR 경계 상자들을 시각화하는 두 번째 창을 열어, 왜 한 줄이 잘못 감지되었는지 확인할 수 있습니다.
자동 전송 없음 / 데이터 저장 없음 프로그램은 전송 버튼을 클릭하지 않으며, 스크린샷이나 키를 디스크에 기록하지 않으며, 추론에 필요한 최소한의 텍스트만 전송합니다.
포터블 실행 파일 미리 빌드된 jev-chat-windows.exe (약 146MB)는 Python 설치 없이 실행 가능하며, PyInstaller로 소스에서 다시 빌드할 수 있습니다.

작동 방식(간단한 흐름)

  1. 캡처 – WGC가 타겟 채팅 창을 지속적으로 캡처합니다.
  2. 메시지 영역 찾기 – 픽셀 기반 앵커로 채팅 버블이 포함된 영역을 찾습니다.
  3. OCR – RapidOCR(또는 한국어용 Windows OCR)로 텍스트를 읽고, 색상으로 버블을 분리하며, 타임스탬프, 이미지 등을 필터링합니다.
  4. 새로운 메시지 감지 – 상대방의 새로운 메시지가 나타나면 파이프라인이 트리거됩니다.
  5. Jev 분석 – 최근 메시지 + 관계 설정을 Jev 의사결정 API에 전송하여 의도 요약과 승률 랭킹을 수신합니다.
  6. 응답 초안 작성 – Jev 요약을 생성형 LLM에 전달하여 세 가지 후보 응답을 초안합니다.
  7. 순위 매기기 – Jev를 다시 호출하여 세 가지 초안을 랭킹하고 UI에 확률을 표시합니다.
  8. 사용자 작업 – Fill 을 클릭하면 텍스트가 클립보드에 복사되어 채팅 입력 상자에 붙여넣어집니다. 사용자가 언제(또는 어떻게) 전송할지 결정합니다.

설치 및 사용법

  • 다운로드 – 릴리스 페이지에서 최신 zip을 다운로드하고 전체 폴더를 추출한 후 jev-chat-windows.exe를 더블클릭합니다.
  • 첫 실행 시 설정 창이 나타납니다. 두 가지 API 키를 제공해야 합니다:
    • JEV_API_KEY – Jev 의사결정 모델용 (OpenRouter 또는 TypeSafe).
    • LLM_API_KEY – 생성형 모델용 (기본값: DeepSeek, 다른 선택 가능).
  • 키는 사용자 환경 변수(HKCU\Environment)에만 저장되며, 파일에는 포함되지 않습니다.
  • 관계 설정(예: "친구", "동료")과 선택적 말투를 선택합니다.
  • 채팅 창을 열어두세요(최소화하지 마세요). 새로운 메시지가 도착하면 플로팅 패널이 분석 결과와 세 가지 응답 옵션을 표시합니다.
  • Fill 을 클릭하여 선택한 응답을 붙여넣습니다. 필요 시 편집하고 직접 Send 를 누릅니다.

지원되는 채팅 앱(기본 제공)

  • WeChat – 중국어/영어 OCR, 녹색 버블 감지.
  • KakaoTalk – Windows.Media.Ocr를 통한 한국어 OCR, 노란색 버블 감지.
  • 다른 앱 추가는 app/chatapps.py에 한 줄 추가만 하면 됩니다.

개인정보 및 보안

  • 모든 스크린샷 처리는 메모리 내에서 이루어지며, 이미지는 디스크에 기록되거나 업로드되지 않습니다.
  • 선택된 LLM 엔드포인트로 전송되는 것은 최근 N개 메시지의 텍스트(설정 가능, 기본값 10), 관계 설정, 자신의 최근 메시지의 짧은 샘플, 선택적 스타일 프롬프트뿐입니다.
  • 업데이트 확인을 위한 GitHub Releases에 대한 선택적 단일 요청 외에는 텔레메트리가 없습니다.
  • 프로그램은 다른 프로세스에 핸드폰하지 않으며, 다른 앱의 메모리를 읽지도 않으며, 금전 관련 콘텐츠도 전송하지 않습니다.

시스템 요구 사항

  • 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
  • 프로젝트