Skip to content

chore: 미사용 OpenAI STT/TTS 키·제공자 제거, 타임아웃 env 를 AI 컨테이너에 실제 전달 - #233

Merged
i3months merged 1 commit into
devfrom
chore/remove-unused-keys
Sep 17, 2026
Merged

i3months merged 1 commit into
devfrom
chore/remove-unused-keys

Conversation

@i3months

@i3months i3months commented Sep 17, 2026 •

Copy link
Copy Markdown
Member

작업 내용

  • ai: openai_whisper.py / openai_tts.py 삭제, STT·TTS factory 의 openai 분기 제거, Settings 에서 openai_*·whisper_* 필드 제거, TTS voice 는 gemini_tts_voice 로 통일
  • docker-compose: OPENAI_* / WHISPER_* 전달 제거. 루트 .env.example 에는 있었지만 컨테이너에 전달되지 않아 무시되던 LLM_PRO_TIMEOUT_SEC / LLM_FLASH_TIMEOUT_SEC / QUESTIONS_RAG_TIMEOUT_SEC 를 ai 서비스 environment 에 추가 (기본값은 코드와 동일 → 동작 변화 없음)
  • deploy-app.yml: 존재하지 않는 secrets.OPENAI_API_KEY 주입·upsert 제거, STT_PROVIDER 조건 단순화
  • .env.example: OPENAI_API_KEY / WHISPER_* / 어디서도 읽지 않는 FRONTEND_PORT 제거
  • docs: environment.md 의 STT/TTS 블록을 실제 Settings 와 동기화, AI_SERVER_BASE_URL·AI_SERVER_PORT·AI_LOG_LEVEL·VITE_GITHUB_OAUTH_CLIENT_ID 유령 키 제거, frontend CLAUDE.md 의 env.ts 스니펫 실제와 동기화

변경 이유 / 배경

2026-09-17 운영 점검에서 OPENAI_API_KEY 가 빈 값이고 GitHub Secret 도 존재하지 않음을 확인. STT 는 Deepgram, TTS 는 게이트웨이(Gemini) 가 우선이라 OpenAI 경로는 어떤 환경에서도 선택될 수 없는 죽은 코드였다. 키만 지우면 deploy 의 .env.example 동기화가 다시 채워 넣으므로 제공자 코드까지 함께 제거.

운영 서버 .env 에서도 같은 4개 키(OPENAI_API_KEY, WHISPER_MODEL, WHISPER_LANGUAGE, FRONTEND_PORT)를 제거했고(백업 .env.bak-20260917), 어떤 워크플로도 참조하지 않던 GitHub Secret GEMINI_API_KEY 도 삭제했다(운영 .env 의 값은 그대로 유지).

테스트

  • uv run pytest -q 394 passed
  • docker compose --env-file .env.example config -q OK
  • deploy-app.yml YAML 파싱 OK

체크리스트

  • 단위 테스트 (test_tts_factory 갱신)
  • .env.example / docs/environment.md 동기화
  • DB 스키마 변경 없음
  • 신규 API/메시지 없음

영향 범위

  • DB 마이그레이션: 없음
  • API contract 변경: 없음
  • 환경변수 추가/변경: 있음 — 제거 OPENAI_API_KEY OPENAI_BASE_URL WHISPER_MODEL WHISPER_LANGUAGE WHISPER_TIMEOUT_SEC OPENAI_TTS_MODEL OPENAI_TTS_VOICE OPENAI_TTS_TIMEOUT_SEC FRONTEND_PORT, compose 전달 추가 LLM_PRO_TIMEOUT_SEC LLM_FLASH_TIMEOUT_SEC QUESTIONS_RAG_TIMEOUT_SEC. STT_PROVIDER/TTS_PROVIDER 허용값에서 openai 계열 제거 (운영 .env 는 auto 라 영향 없음)

리뷰어 체크포인트

  • 머지 시 deploy-app.yml 이 ai 컨테이너를 재생성하므로 타임아웃 env 가 이번부터 실제 적용됨 (값은 기존 기본값과 동일)

🤖 Generated with Claude Code

운영 점검 결과 OPENAI_API_KEY 는 비어 있고 GitHub Secret 도 없어 openai_whisper STT 와
OpenAI TTS 는 어떤 환경에서도 선택될 수 없는 죽은 경로였다. STT 는 Deepgram, TTS 는
게이트웨이(Gemini) 가 우선이라 폴백 가치도 없다.

- ai: openai_whisper.py / openai_tts.py 삭제, STT·TTS factory 의 openai 분기 제거,
  Settings 에서 openai_*·whisper_* 필드 제거, TTS voice 는 gemini_tts_voice 로 통일
- docker-compose: OPENAI_*/WHISPER_* 전달 제거. 루트 .env.example 에는 있었지만 컨테이너에
  전달되지 않아 무시되던 LLM_PRO_TIMEOUT_SEC / LLM_FLASH_TIMEOUT_SEC /
  QUESTIONS_RAG_TIMEOUT_SEC 를 ai 서비스 environment 에 추가 (기본값은 코드와 동일)
- deploy-app.yml: 존재하지 않는 secrets.OPENAI_API_KEY 주입·upsert 제거
- .env.example: OPENAI_API_KEY / WHISPER_* / 어디서도 읽지 않는 FRONTEND_PORT 제거
- docs/environment.md: 실제 Settings 와 어긋난 STT/TTS 블록·AI_SERVER_* 유령 키·
  VITE_GITHUB_OAUTH_CLIENT_ID 정리, frontend CLAUDE.md 의 env.ts 스니펫을 실제와 동기화
@i3months
i3months merged commit cb153f1 into dev Sep 17, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant