■ 프로젝트 개요
로컬 폴더(C:\Users\user\Desktop\out)에 저장된 .txt 파일을 자동으로 읽고, 해당 내용을 ChatGPT 입력창에 삽입한 후 “이 글의 감정을 분석해줘”라는 문장을 전송하는 크롬 확장 기반 자동화 시스템을 구축했습니다.
■ 디렉토리 구성
emotion_plugin/
- background.js: 백그라운드에서 Native 연결 및 입력창 조작
- popup.html: 버튼 UI
- popup.js: 버튼 클릭 시 메시지 전송
- manifest.json: 크롬 확장 메타 정보
native_host/
- emotion_host.py: 로컬 파일 읽어 Chrome에 전송
- emotion_host_manifest.json: Native Messaging용 manifest
■ 주요 구성 요소
- Chrome Extension에서 Native Messaging을 호출해 Python 스크립트 실행
- Python에서 로컬 파일을 읽어 결과를 stdout으로 전송
- 크롬 확장 background.js가 메시지를 수신해 ChatGPT 입력창에 삽입 후 자동 클릭
■ 문제 해결 히스토리
- Native host 인식 불가 → path 이스케이프(\) 및 .json 확장자 확인
- Chrome이 manifest를 무시함 → Windows 레지스트리 수동 등록
- 로그 미출력 → emotion_log.txt, env_debug.txt 생성 코드 추가
- 확장 ID 오등록 → chrome://extensions에서 정확히 복사
- 경로 오류 → chrome://version에서 User Data 경로 확인
■ 레지스트리 등록
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\com.user.emotion_host]
@="C:\Users\user\AppData\Local\Google\Chrome\User Data\NativeMessagingHosts\emotion_host_manifest.json"
■ 테스트 시나리오
- out 폴더에 .txt 파일 생성
- ChatGPT 열기
- 플러그인 버튼 클릭
- 텍스트가 자동으로 입력창에 삽입됨
- 자동 전송
- emotion_log.txt 생성 여부 확인
■ 향후 확장 계획
- 분석 결과를 JSON/DB로 저장
- Threads 글 자동 업로드와 연동
- 감정 기반 콘텐츠 추천 기능 연결
- Firefox 확장 호환성 확보
'개발자 일기 > 좌충우돌 주니어 개발자 도전기' 카테고리의 다른 글
| 포트폴리오 (0) | 2025.05.02 |
|---|---|
| 🛠 실전 운영 매뉴얼 1.0: 공실 공유오피스 플랫폼 (0) | 2025.04.24 |
| 캔버스 자동 저장 스크립트 (0) | 2025.04.14 |
| 🧠 ChatGPT 대화 자동 저장 크롬 확장 프로그램 만들기 (JSON 실시간 저장까지!) (0) | 2025.04.13 |
| 코드넘어 소통으로 (0) | 2025.03.30 |