fix: 修复预置音色voice_id并填充preview_url #1216
Reference in New Issue
Block a user
Delete Branch "feat/preset-voice-previews"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
8个预置音色的
preview_url全是空串,导致 #1195 试听功能无法工作。此外 3 个音色 ID 在 CosyVoice v3 中不存在(longxiaochen_v3/longjing_v3/longbo_v3),调用会返回 418 错误。
修复
替换无效音色为 CosyVoice v3 真实可用音色:
填充 preview_url:5个音色已通过 CosyVoice TTS 生成试听音频并填充 DashScope URL
新增种子脚本
scripts/seed_test_voice_clones.py:为 staging 测试账号创建克隆音色测试数据测试
🚀 预览环境已部署
7e534c1b1dto6397a25e41代码审查结果 - PR #1216
⚠️ 问题(2个需要修改)
scripts/seed_test_voice_clones.py 第165-170行:事务回滚逻辑错误导致数据丢失
create_clone_profile时,如果中途某条记录插入失败触发异常,代码执行了session.rollback()。由于 SQLAlchemy 默认不开启自动提交,回滚操作会撤销当前事务中所有未提交的更改(包括之前循环中已经成功插入但尚未 commit 的记录)。脚本继续执行后续循环,但之前成功的数据已丢失,最终只有最后一次成功的事务会被提交。total_created数量与实际写入数据库的数量不一致,部分测试数据丢失。[packages/domain/preset_voices.py] 第80-110行:破坏性变更导致存量数据失效
longxiaochen_v3改为longsanshu_v3,longjing_v3改为longyingjing_v3等)。voice_id通常作为业务标识符被存储在数据库或用户配置中。直接修改 ID 会导致引用旧 ID 的数据无法找到对应音色,功能失效。💡 建议(2个可选)
[packages/domain/preset_voices.py] 预览 URL 管理建议
preview_url包含Expires(过期时间)和Signature签名参数。硬编码这些 URL 意味着它们在 2026 年左右会失效。建议评估是否需要服务端签名代理,或者至少添加监控/文档提醒在过期前更新。此外,部分新增音色(如longsanshu_v3)缺少preview_url,需确认前端是否能处理空值。[scripts/seed_test_voice_clones.py] 敏感信息硬编码
18314979086@163.com。建议通过环境变量传入测试账号,以提高脚本在不同环境的通用性和安全性。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-08-02 00:50:05 | 模型:
🗑️ 预览环境已清理
PR #1216 已关闭或合并,对应的预览环境已被清理。