Skip to content

PRISM-INSIGHT v2.8.0

Choose a tag to compare

@dragon1086 dragon1086 released this 24 Mar 03:39
128cea7

PRISM-INSIGHT v2.8.0

발표일: 2026년 3월 24일

개요

PRISM-INSIGHT v2.8.0은 ChatGPT OAuth 프록시를 통한 구독 기반 API 접근포트폴리오 조정 일관성 개선, KR/US 매매 안정성 강화에 초점을 맞춘 마이너 버전입니다.

ChatGPT Plus/Pro 구독만으로 OpenAI API를 사용할 수 있는 OAuth 프록시를 도입하여 별도 API 크레딧 결제 없이도 파이프라인 운영이 가능해졌습니다. 또한 매도 판단 에이전트의 포트폴리오 조정 로직에서 발견된 구조적 결함(이중 경로 DB 변경, trailing stop 비일관성)을 해결하고, KR/US 매매 주문 에러 다수를 수정했습니다.

주요 수치:

  • 총 11개 PR (#216 ~ #226)
  • 23개 파일 변경, +2,536 / -59 라인

주요 변경사항

1. ChatGPT OAuth 프록시 ⭐ NEW (#221, #224)

ChatGPT Plus/Pro 구독의 OAuth 토큰을 활용하여 OpenAI API를 호출할 수 있는 로컬 프록시 서버를 도입했습니다. 별도 API 크레딧 충전 없이 구독만으로 파이프라인 운영이 가능합니다.
(깃허브 이슈로 제안 주신 @Leuconoe 님께 감사드립니다)

항목 설명
OAuth 로그인 Playwright 기반 브라우저 자동화로 ChatGPT OAuth 토큰 획득
토큰 관리 자동 갱신, 만료 감지, 파일 기반 캐싱
API 변환 OpenAI /v1/chat/completions 호환 프록시 (FastAPI)
모델 매핑 gpt-5.4 → ChatGPT 내부 모델 자동 변환

신규 파일 구조

cores/chatgpt_proxy/
├── __init__.py          # 패키지 엔트리포인트
├── oauth_login.py       # Playwright OAuth 로그인
├── token_manager.py     # 토큰 캐싱/갱신
├── api_translator.py    # API 요청/응답 변환
├── proxy_server.py      # FastAPI 프록시 서버
└── constants.py         # 상수 정의

사용 방법

# 1. 최초 OAuth 로그인 (브라우저 팝업)
python -m cores.chatgpt_proxy.oauth_login

# 2. 프록시 서버 실행
python -m cores.chatgpt_proxy.proxy_server

# 3. 기존 코드에서 base_url만 변경
# OPENAI_BASE_URL=http://localhost:8766/v1

2. 포트폴리오 조정 일관성 개선 (#226)

매도 판단 에이전트의 손절가/목표가 조정이 매 실행마다 비일관적으로 변경되는 구조적 결함을 수정했습니다.

근본 원인 수정 내용
이중 경로 DB 변경: AI가 sqlite 직접 UPDATE + JSON 응답 두 경로로 stop_loss 수정 sqlite 직접 UPDATE 지시 제거, portfolio_adjustment JSON 경로로 통일
highest_price 영속 상태 없음: trailing stop 계산이 매번 달라짐 scenario JSON에 highest_price 필드 추가, 매 실행 시 자동 갱신
stop_loss > current_price 검증 없음: 비정상 값이 DB에 기록 _process_portfolio_adjustment()에서 stop_loss > current_price이면 거부
US에 portfolio_adjustment 처리 없음: AI JSON 응답이 무시됨 US tracking agent에 _process_portfolio_adjustment() 신규 추가

기존 보유종목은 마이그레이션 없이 첫 실행 시 max(buy_price, current_price)로 highest_price를 초기화하며, AI 프롬프트에 첫 추적 경고를 표시하여 OHLCV로 실제 최고가를 확인하도록 유도합니다.


3. OpenAI 크레딧 소진 알림 (#225)

OpenAI API insufficient_quota 에러(HTTP 429) 발생 시 텔레그램으로 즉시 알림을 전송합니다. 기존에는 파이프라인이 조용히 실패하여 크레딧 소진을 인지하기 어려웠습니다.

항목 설명
감지 위치 KR/US 오케스트레이터 run_full_pipeline + 번역 파이프라인 3곳 (총 10곳)
알림 내용 🚨 OpenAI API 크레딧 소진 알림 + Billing 페이지 링크
공통 유틸 telegram_config.pyis_openai_quota_error(), send_openai_quota_alert() 추가

4. KR/US 매매 주문 안정성 (#216 ~ #220, #223)

문제 PR 수정
KR 장후 시간외 매수 ORD_DVSN 오류 (APBK0918) #216 02(장전) → 06(장후) 수정
번역 시 base64 이미지 누락 #217 비율 기반 위치 재삽입 로직 추가
KR 매수 판단 시 AI의 Skip 결정 무시 #218 US 로직과 통일 — AI가 Skip하면 매수 중단
US 장중 매수 시장가 주문 에러 (APBK1507) #219 시장가 → 지정가 주문으로 변경
US pending order batch import 실패 #220 sys.path 순서 수정
US 매수 보류(sector 집중) 시 관망 메시지 누락 #223 텔레그램 관망 메시지 전송 추가

변경된 파일

파일 주요 PR 변경 내용
cores/chatgpt_proxy/__init__.py #221 OAuth 프록시 패키지 엔트리포인트
cores/chatgpt_proxy/oauth_login.py #221 Playwright 기반 OAuth 로그인
cores/chatgpt_proxy/token_manager.py #221 토큰 캐싱/갱신 관리
cores/chatgpt_proxy/api_translator.py #221, #224 API 요청/응답 변환 + 버그 수정
cores/chatgpt_proxy/proxy_server.py #221 FastAPI 프록시 서버
cores/chatgpt_proxy/constants.py #221 상수 정의
cores/agents/trading_agents.py #226 KR 매도 에이전트 프롬프트 수정
stock_tracking_enhanced_agent.py #226 highest_price 추적 + 검증 로직
stock_analysis_orchestrator.py #225 OpenAI quota 감지 + 알림
stock_tracking_agent.py #225 번역 파이프라인 quota 감지
telegram_config.py #225 quota 감지/알림 공통 유틸
trading/domestic_stock_trading.py #216 장후 ORD_DVSN 수정
prism-us/cores/agents/trading_agents.py #226 US 매도 에이전트 프롬프트 수정
prism-us/us_stock_tracking_agent.py #223, #226 관망 메시지 + portfolio_adjustment 추가
prism-us/us_stock_analysis_orchestrator.py #225 OpenAI quota 감지 + 알림
prism-us/trading/us_stock_trading.py #219 시장가→지정가 주문 변경
prism-us/us_pending_order_batch.py #220 sys.path 순서 수정
tests/test_chatgpt_oauth/test_api_translator.py #221 API 변환 유닛 테스트
docs/chatgpt-oauth/PRD.md #221 OAuth 프록시 PRD
docs/chatgpt-oauth/architecture.md #221 OAuth 프록시 아키텍처
docs/chatgpt-oauth/setup.md #221 OAuth 프록시 설정 가이드
.env.example #221 OAuth 관련 환경변수 예시 추가

업데이트 방법

1. 코드 업데이트

git pull origin main

2. 의존성 설치

pip install -r requirements.txt

# ChatGPT OAuth 프록시 사용 시 추가 설치
pip install fastapi uvicorn playwright
python -m playwright install chromium

3. 환경변수 설정 (OAuth 프록시 사용 시)

.env에 추가:

CHATGPT_EMAIL=your-email@example.com
CHATGPT_PASSWORD=your-password
OPENAI_BASE_URL=http://localhost:8766/v1  # 프록시 사용 시

4. 동작 확인

# KR 전체 파이프라인 (텔레그램 없이)
python stock_analysis_orchestrator.py --mode morning --no-telegram

# US 전체 파이프라인 (텔레그램 없이)
python prism-us/us_stock_analysis_orchestrator.py --mode morning --no-telegram

# ChatGPT OAuth 프록시 테스트
python -m cores.chatgpt_proxy.proxy_server

알려진 제한사항

  1. ChatGPT OAuth 프록시: ChatGPT 웹 UI의 비공식 API를 활용하므로, OpenAI 측 변경에 의해 동작이 중단될 수 있습니다. 공식 API 크레딧이 있으면 공식 API 사용을 권장합니다.
  2. highest_price 초기화: 기존 보유종목의 첫 실행 시 실제 역사적 최고가 대신 max(buy_price, current_price)로 초기화됩니다. AI가 OHLCV 조회를 통해 보정하므로 2회차부터 정확합니다.
  3. mcp-agent fork 의존: v2.7.0에서 도입된 gpt-5.4 + function tools 패치가 여전히 fork 기반입니다.