fix: 补齐剩余3个预置音色的preview_url(longsanshu/longyingjing/longshuo) #1218

Merged
xiaoxia merged 2 commits from feat/preset-voice-previews-v2 into develop 2026-08-02 12:47:56 +08:00
Owner

问题

PR #1216 替换了3个无效音色(longxiaochen→longsanshu, longjing→longyingjing, longbo→longshuo),但新音色当时还未部署到 staging,无法生成 preview_url。

修复

staging 部署后,调用 CosyVoice preview API 为3个新音色生成试听音频并回填:

  • longsanshu_v3(龙三叔)— 沉稳质感男声
  • longyingjing_v3(龙应静)— 低调冷静女声
  • longshuo_v3(龙硕)— 博才干练男声

验证

  • 80个预置音色相关单测全绿
  • GET /api/v1/voices/presets 返回8个音色全部有非空 preview_url
  • 至此 #1195 试听功能可完整工作

改动

packages/domain/preset_voices.py,+3行(每个音色一行 preview_url)

## 问题 PR #1216 替换了3个无效音色(longxiaochen→longsanshu, longjing→longyingjing, longbo→longshuo),但新音色当时还未部署到 staging,无法生成 preview_url。 ## 修复 staging 部署后,调用 CosyVoice preview API 为3个新音色生成试听音频并回填: - `longsanshu_v3`(龙三叔)— 沉稳质感男声 - `longyingjing_v3`(龙应静)— 低调冷静女声 - `longshuo_v3`(龙硕)— 博才干练男声 ## 验证 - [x] 80个预置音色相关单测全绿 - [x] `GET /api/v1/voices/presets` 返回8个音色全部有非空 preview_url - [x] 至此 #1195 试听功能可完整工作 ## 改动 仅 `packages/domain/preset_voices.py`,+3行(每个音色一行 preview_url)
xiaoxia added 1 commit 2026-08-02 12:34:10 +08:00
fix: 补齐剩余3个预置音色的preview_url
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 41s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 54s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m0s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m18s
AI Code Review / AI Code Review (pull_request) Failing after 1m40s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m42s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m14s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 3m15s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m45s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m45s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m30s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m23s
CI/CD Pipeline / CI Gate (pull_request) Successful in 6s
f395337e6f
为 longsanshu_v3(龙三叔)、longyingjing_v3(龙应静)、longshuo_v3(龙硕)
填充 CosyVoice 生成的试听音频 URL(DashScope 签名 URL)。

至此8个预置音色全部拥有 preview_url,#1195 试听功能完整工作。

🚀 预览环境已部署

项目 详情
PR号 #1218
预览链接 https://pr-1218.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1218 | | 预览链接 | [https://pr-1218.preview.xiaoxiajianji.com](https://pr-1218.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia added 1 commit 2026-08-02 12:42:26 +08:00
ci: retrigger CI (AI Code Review timeout)
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 44s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 51s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 57s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m21s
AI Code Review / AI Code Review (pull_request) Successful in 1m27s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m41s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m48s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m50s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m15s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m20s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 3m30s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m24s
CI/CD Pipeline / CI Gate (pull_request) Successful in 5s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 37s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 47s
CI/CD Pipeline / Check if frontend-only change (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Has been skipped
CI/CD Pipeline / PR Build Worker Image (push) Has been skipped
CI/CD Pipeline / PR Build Web Image (push) Has been skipped
CI/CD Pipeline / PR Build API Image (push) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 53s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 59s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 1m40s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m15s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m12s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 4m48s
CI/CD Pipeline / Integration Tests (push) Successful in 1m33s
CI/CD Pipeline / Unit Tests (push) Successful in 8m49s
CI/CD Pipeline / Build Production API Image (push) Has been skipped
CI/CD Pipeline / Build Production Worker Image (push) Has been skipped
CI/CD Pipeline / CI Gate (push) Has been skipped
CI/CD Pipeline / Build Production Web Image (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Build Staging API Image (push) Successful in 11m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 33s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 35s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m8s
CI/CD Pipeline / Canary Release to Production (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Failing after 4m25s
380274e635
Collaborator

【阻塞级判定】

  • 是否存在阻塞级问题:否
  • 阻塞级问题数量:0 个

📊 审查概览

  • 整体评价:有建议
  • 建议级问题数量:2 个

🔴 阻塞级问题(必须修复)

💡 改进建议(不阻塞合并)

  1. [packages/domain/preset_voices.py: 76, 103, 112] 预览URL协议安全性

    • 具体内容:当前添加的 preview_url 均使用 http:// 协议。在现代 Web 环境中,若应用部署在 HTTPS 下,浏览器可能会将这些 HTTP 资源拦截为“混合内容”,导致预览功能失效。建议确认 OSS 资源是否支持 HTTPS,若支持请统一改为 https://
  2. [packages/domain/preset_voices.py: 76, 103, 112] 硬编码带时效性的URL

    • 具体内容:URL 中包含 Expires(过期时间,约为2026年8月)和 Signature 等参数,属于 OSS 预签名 URL。将此类有时效性的链接硬编码在代码中存在维护隐患,一旦链接过期,预览功能将直接报错。建议通过配置文件或环境变量管理此类资源链接,或者确保使用永久有效的公开访问 URL。

良好实践

  • 修正了文件权限:将文件权限从 100755 修改为 100644,移除了 Python 模块文件不必要的可执行权限,符合安全规范。

🤖 由 AI 代码审查机器人自动生成 | 2026-08-02 04:43:54 | 模型:

### 【阻塞级判定】 - 是否存在阻塞级问题:否 - 阻塞级问题数量:0 个 ### 📊 审查概览 - 整体评价:有建议 - 建议级问题数量:2 个 ### 🔴 阻塞级问题(必须修复) 无 ### 💡 改进建议(不阻塞合并) 1. **[packages/domain/preset_voices.py: 76, 103, 112] 预览URL协议安全性** - 具体内容:当前添加的 `preview_url` 均使用 `http://` 协议。在现代 Web 环境中,若应用部署在 HTTPS 下,浏览器可能会将这些 HTTP 资源拦截为“混合内容”,导致预览功能失效。建议确认 OSS 资源是否支持 HTTPS,若支持请统一改为 `https://`。 2. **[packages/domain/preset_voices.py: 76, 103, 112] 硬编码带时效性的URL** - 具体内容:URL 中包含 `Expires`(过期时间,约为2026年8月)和 `Signature` 等参数,属于 OSS 预签名 URL。将此类有时效性的链接硬编码在代码中存在维护隐患,一旦链接过期,预览功能将直接报错。建议通过配置文件或环境变量管理此类资源链接,或者确保使用永久有效的公开访问 URL。 ### ✅ 良好实践 - 修正了文件权限:将文件权限从 `100755` 修改为 `100644`,移除了 Python 模块文件不必要的可执行权限,符合安全规范。 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-08-02 04:43:54 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit 380274e635 into develop 2026-08-02 12:47:56 +08:00
xiaoxia deleted branch feat/preset-voice-previews-v2 2026-08-02 12:47:56 +08:00

🗑️ 预览环境已清理

PR #1218 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1218 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.