[1순위] 엔진 추상화 리팩토링 - config/engine.json: 단일 설정 파일로 writing/tts/image/video/publishing 엔진 제어 - bots/engine_loader.py: EngineLoader 팩토리 클래스 (Claude/OpenClaw/Gemini Writer, gTTS/GoogleCloud/OpenAI/ElevenLabs TTS, DALL-E/External 이미지) [2순위] VideoEngine 추상화 - bots/converters/video_engine.py: VideoEngine ABC + FFmpegSlidesEngine/SeedanceEngine/SoraEngine/RunwayEngine/VeoEngine 구현 - Seedance 2.0 API 연동 + 실패 시 ffmpeg_slides 자동 fallback [3순위] 소설 연재 파이프라인 - bots/novel/novel_writer.py: AI 에피소드 자동 생성 (Claude/엔진 추상화) - bots/novel/novel_blog_converter.py: 에피소드 → 장르별 테마 Blogger HTML - bots/novel/novel_shorts_converter.py: key_scenes → TTS + Pillow + VideoEngine → MP4 - bots/novel/novel_manager.py: 전체 파이프라인 조율 + Telegram 명령 처리 - config/novels/shadow-protocol.json: 예시 소설 설정 (2040 서울 SF 스릴러) [스케줄러] 소설 파이프라인 통합 - 매주 월/목 09:00 자동 실행 (job_novel_pipeline) - Telegram 명령: /novel_list, /novel_gen, /novel_status [기타 수정] - collector_bot.py: 한국어 유니코드 감지 + RSS 신뢰도 override 버그 수정 - quality_rules.json: min_score 70→60 - scripts/get_token.py: YouTube OAuth scope 추가 - .env.example: SEEDANCE/ELEVENLABS/GEMINI/RUNWAY API 키 항목 추가 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
481 B
Plaintext
25 lines
481 B
Plaintext
pytrends
|
|
google-api-python-client
|
|
google-auth-oauthlib
|
|
google-auth-httplib2
|
|
python-dotenv
|
|
apscheduler
|
|
requests
|
|
beautifulsoup4
|
|
feedparser
|
|
markdown
|
|
python-telegram-bot>=21.0
|
|
lxml
|
|
anthropic
|
|
Pillow
|
|
requests-oauthlib
|
|
claude-agent-sdk
|
|
# Phase 2 (쇼츠 변환)
|
|
gTTS
|
|
openai
|
|
pydub
|
|
# Phase 2 (YouTube 업로드 진행 표시)
|
|
google-resumable-media
|
|
# Phase 3 (엔진 추상화 — 선택적 의존성)
|
|
# google-generativeai # Gemini Writer / Veo 사용 시 pip install google-generativeai
|