发布

  • feat(podcasts): model registry integration, credential passthrough & new features (#632)

    frostbyte_neo 发布于 2026-02-27 14:06:47 +00:00 | 391 次提交 在此版本后已推送到 main

    • feat(podcasts): integrate model registry for profiles and credential passthrough

    Replace loose provider/model string fields with record references
    in podcast profiles, enabling credential passthrough to podcast-creator.

    Backend:

    • EpisodeProfile: outline_llm, transcript_llm (record) replace
      outline_provider/outline_model strings. New language field (BCP 47).
    • SpeakerProfile: voice_model (record) replaces tts_provider/
      tts_model strings. Per-speaker voice_model override support.
    • Migration 14: schema changes making legacy fields optional, adding new
      record fields.
    • Data migration (migration.py): auto-converts legacy profiles to model
      registry references on startup. Idempotent.
    • podcast_commands.py: resolves credentials for ALL profiles before
      calling podcast-creator.
    • New /api/languages endpoint (pycountry + babel) with BCP 47 locale
      codes (pt-BR, en-US, etc.).

    Frontend:

    • Episode/speaker profile forms use ModelSelector instead of manual
      provider/model dropdowns.
    • Language dropdown with BCP 47 codes in episode profile form.
    • Per-speaker TTS voice model override in speaker profile form.
    • "Templates" tab renamed to "Profiles".
    • Setup required badge on unconfigured profiles.
    • i18n updated across all 8 locales.

    Closes #486, closes #552

    • fix(i18n): remove unused legacy podcast provider/model keys

    Remove 10 orphaned i18n keys across all 8 locales that were left behind
    after replacing manual provider/model dropdowns with ModelSelector.

    • fix: address review violations in podcast model registry
    • P1: Remove profiles with failed model resolution from dicts to prevent
      podcast-creator validation errors on unrelated profiles
    • P2: Use centralized QUERY_KEYS.languages instead of inline key
    • P3: Fix ISO 639-1 → BCP 47 in model field description and CLAUDE.md
    • P3: Update "templates" → "profiles" in locale string values (all 8)
    • chore: bump version to 1.8.0
    下载附件