Repository navigation
study-helper v26.8.0
숭실대학교 LMS 강의 영상 재생 · 다운로드 · AI 요약 도구.
패치노트
추가
- OpenRouter API 지원 추가 (
src/summarizer/summarizer.py,src/config.py,src/ui/settings.py)- OpenRouter는 OpenAI 호환 API이므로 기존
openai패키지에base_url만 다르게 지정해 재사용 — 신규 의존성 없음 - OpenRouter는 모델이 수백 개라 Gemini/OpenAI처럼 목록에서 고르는 대신 모델 ID를 직접 입력받음 (
openrouter.ai/models안내)
- OpenRouter는 OpenAI 호환 API이므로 기존
- OpenAI 모델 curated 목록 추가 (
src/summarizer/summarizer.py)OPENAI_MODEL_IDS(gpt-4o-mini/gpt-4o/gpt-4.1-mini/o4-mini)를 Gemini와 동일한 방식으로 설정 화면에 노출
- 설정 화면에 AI 에이전트 선택 단계 추가 (
src/ui/settings.py)- AI 요약 활성화 시 Gemini/OpenAI/OpenRouter 중 에이전트를 먼저 선택한 뒤, 선택한 에이전트에 맞는 API 키·모델 입력 화면으로 분기
- README 러시아어 번역본 제공 (
README.md,README-ko.md)- 기존 한국어 README를
README-ko.md로 이동하고README.md를 러시아어 번역본으로 신규 작성 - 두 문서 최상단에 언어 전환 링크 추가 (TUI 화면 예시는 실제 인터페이스와 동일하게 한국어 원문 유지)
- 기존 한국어 README를
수정
- OpenAI 요약 시 Gemini 모델로 강제 호출되던 버그 수정 (
src/ui/download.py)- 원인:
model = Config.GEMINI_MODEL if Config.AI_AGENT == "gemini" else ""가 OpenAI 선택 시 항상 빈 문자열을 반환했고, 이어지는model or GEMINI_DEFAULT_MODEL폴백이 Gemini 기본 모델(gemini-2.5-flash)을 채워 OpenAI API에 존재하지 않는 모델명으로 요청이 전송됨 - 게다가 설정 화면(
ui/settings.py)에 OpenAI를 선택하는 경로 자체가 없어.env를 직접 편집해야만AI_AGENT=openai를 쓸 수 있었음 — 사실상 미완성 기능이었음 Config.get_ai_credentials()로 에이전트별 (api_key, model) 조회 로직을 일원화해ui/download.py·ui/auto.py에 중복돼 있던 2-way 삼항연산을 제거
- 원인:
변경
Config.save_settings()3-에이전트 대응으로 일반화 (src/config.py)gemini_model파라미터를ai_model로 일반화하고, 선택된 에이전트에 대응하는.env키(GEMINI_MODEL/OPENAI_MODEL/OPENROUTER_MODEL,GOOGLE_API_KEY/OPENAI_API_KEY/OPENROUTER_API_KEY)에만 저장하도록 변경
- Gemini API 키 발급 가이드 문서 제거 (
docs/gemini-api-key.md,README-ko.md)- 가이드 문서와 README의 참조 링크 2곳 삭제
사전 요구사항
설치 및 실행
-
아래 첨부 파일(
docker-compose.yml,.env.example) 다운로드 -
.env.example→.env로 이름 변경 후 필요한 값 설정 (학번/비밀번호는 첫 실행 시 자동 저장) -
이미지 pull 및 실행
docker compose pull
docker compose run --rm study-helper
docker compose up사용 금지 — 로그 멀티플렉싱으로 TUI가 깨집니다.run --rm만 사용하세요.
Docker Hub
docker pull igor0670/study-helper:v26.8.0