Files
MediaCrawler/mac-agent-os-main/05_tools/09_ave/config/cosyvoice_voices.yaml
T
butubb 2112c1a870
Deploy VitePress site to Pages / build (push) Canceled after 0s
Deploy VitePress site to Pages / Deploy (push) Canceled after 0s
feat(monitor): 抖音 Web 接口客户端 —— 绕开爬虫子进程,直接发 HTTP
移植自 mac-agent-os 的 mediacrawler_adapter:不起子进程、不开页面,用浏览器里那份
登录态直接调抖音 Web 接口。产物键名照抄 store/douyin,所以 ingest 那条链路一个字不用改。

**目前能用的(真环境实测,非推断)**:

    profile/other : 200, 7075 字节  —— 博主主页指标(粉丝/获赞/作品数/昵称)
    aweme/detail  : 200, 45425 字节 —— 单条作品详情(含点赞/评论/收藏/分享)

**目前不能用的:作品列表 `aweme/post`。** 两个互相独立的原因:
  1. 这个接口被抖音单独升级成了真校验:不带 x-tt-argus 回 403「Uifid Not Found」,
     带上 dummy 值回 200 + **空 body**。也就是说「头在不在」骗得过,「真校验」过不了。
     同一套头打 profile/other 和 aweme/detail 都是通的 —— 抖音是挑着接口加保护的,
     挑中的恰好是「批量拉作品列表」这个最敏感的动作。
  2. 改走页面截获也不行:CDP 浏览器打开博主主页会落到「验证码中间页」(当天大量探测的
     代价,过几小时要重测)。

  所以现在的边界是:**已知作品的指标刷新能做,自动发现新作品做不了**。

**排查中控住变量后得到的两条事实**(都写进注释了):
  · `Accept` / `Accept-Language` / `Referer` 才是主页接口能返回真数据的原因 —— 只有
    UA+client hints+Cookie 时是 200 但仅 121 字节的空壳,补上这三个头变 7074 字节。
    (我先前猜的 sec-ch-ua 不是关键。)
  · 因此 UA 与 client hints 必须**成套地取自同一个浏览器**,所以 BrowserIdentity 一次
    从 CDP 取齐 cookie + UA + hints,而不是各自写死。

「200 + 空 body 必须当场报错」也是刻意写死的:放过去它会在下游变成「这个博主没作品」,
把一次失败伪装成一条正常结果 —— 爬虫那条路正是这么栽的,还被翻译成「账号被封」。

测试 +11:cookie 解析、请求头成套性(含 uifid 缺失/回退)、产物键名与 store 对齐、
以及 _get 的三条失败路径(空 body / 403 带网关原话 / 正常返回)。
2026-10-10 17:12:25 +08:00

116 lines
8.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CosyVoice 官方音色目录(音色库「从官方挑选」用)
# =====================================================================
# 来源:https://help.aliyun.com/zh/model-studio/cosyvoice-voice-list
# 抓取:2026-10-02 · 模型:cosyvoice-v3.5-plus(配置 aliyun.cosyvoice_model)
# 用法:音色库页面点「+ 从官方挑选」→ 选一个 → 自动建音色资产(填 provider_voice_id)
#
# 注意:每个模型仅支持一组特定音色,不可跨模型混用;文本语言须在该音色支持范围内。
# =====================================================================
provider: aliyun-cosyvoice
model: cosyvoice-v3-flash
source: https://help.aliyun.com/zh/model-studio/cosyvoice-voice-list
# ⚠️ 音色必须与模型匹配(实测 2026-10-02):
# cosyvoice-v3-flash 支持 88 个音色(含全部 _v3 后缀)← 用这个
# cosyvoice-v3-plus 仅支持 longanyang / longanhuan
# 不匹配会报 InvalidParameter(418)
# 角色分配建议(供 UI 提示)
pools:
male_lead: [longanyang, longanlang_v3, longyichen_v3, longze_v3]
male_mature: [longtian_v3, longsanshu_v3, longhao_v3, longanzhi_v3]
female_lead: [longxiaochun_v3, longhua_v3, longxing_v3, longanwen_v3]
female_charm: [longqiang_v3, longyue_v3, longanyan_v3]
extra_male: [longze_v3, longzhe_v3, longanlang_v3]
extra_female: [longxing_v3, longmiao_v3, longanqin_v3]
narrator: [longxiu_v3, longshuo_v3, longyue_v3]
groups:
- id: male
name: 男声
voices:
- {name: 龙安洋, voice_id: longanyang, trait: 阳光大男孩, age: "20~30", tags: [年轻男主]}
- {name: 龙安朗, voice_id: longanlang_v3, trait: 清爽利落男, age: "20~25"}
- {name: 龙逸尘, voice_id: longyichen_v3, trait: 洒脱活力男, age: "20~30"}
- {name: 龙泽, voice_id: longze_v3, trait: 温暖元气男, age: "25~30"}
- {name: 龙哲, voice_id: longzhe_v3, trait: 呆板大暖男, age: "25~30"}
- {name: 龙安昀, voice_id: longanyun_v3, trait: 居家暖男, age: "30~35"}
- {name: 龙天, voice_id: longtian_v3, trait: 磁性理智男, age: "30~35", tags: [成熟男主]}
- {name: 龙浩, voice_id: longhao_v3, trait: 多情忧郁男, age: "30~35"}
- {name: 龙寒, voice_id: longhan_v3, trait: 温暖痴情男, age: "30~35"}
- {name: 龙安智, voice_id: longanzhi_v3, trait: 睿智轻熟男, age: "25~35"}
- {name: 龙三叔, voice_id: longsanshu_v3, trait: 沉稳质感男, age: "25~45", tags: [中年]}
- {name: 龙硕, voice_id: longshuo_v3, trait: 博才干练男, age: "25~30"}
- {name: 龙修, voice_id: longxiu_v3, trait: 博才说书男, age: "25~35", tags: [旁白]}
- {name: 龙机器, voice_id: longjiqi_v3, trait: 呆萌机器人, age: "20~30", tags: [特殊]}
- {name: 龙猴哥, voice_id: longhouge_v3, trait: 经典猴哥, age: "20~25", tags: [特殊]}
- id: female
name: 女声
voices:
- {name: 龙小淳, voice_id: longxiaochun_v3, trait: 知性积极女, age: "25~30", tags: [女主角, 通用]}
- {name: 龙小夏, voice_id: longxiaoxia_v3, trait: 沉稳权威女, age: "25~30"}
- {name: 龙华, voice_id: longhua_v3, trait: 元气甜美女, age: "20~25", tags: [年轻女主]}
- {name: 龙星, voice_id: longxing_v3, trait: 温婉邻家女, age: "20~25"}
- {name: 龙安亲, voice_id: longanqin_v3, trait: 亲和活泼女, age: "20~25"}
- {name: 龙菲菲, voice_id: longfeifei_v3, trait: 甜美娇气女, age: "20~25"}
- {name: 龙安欢, voice_id: longanhuan_v3, trait: 欢脱元气女, age: "20~30"}
- {name: 龙安灵, voice_id: longanling_v3, trait: 思维灵动女, age: "20~30"}
- {name: 龙婉, voice_id: longwan_v3, trait: 细腻柔声女, age: "20~30"}
- {name: 龙婉君, voice_id: longwanjun_v3, trait: 细腻柔声女, age: "20~30"}
- {name: 龙安柔, voice_id: longanrou_v3, trait: 温柔闺蜜女, age: "20~35"}
- {name: 龙应沐, voice_id: longyingmu_v3, trait: 优雅知性女, age: "25~30"}
- {name: 龙应聆, voice_id: longyingling_v3, trait: 温和共情女, age: "25~30"}
- {name: 龙应桃, voice_id: longyingtao_v3, trait: 温柔淡定女, age: "25~30"}
- {name: 龙应静, voice_id: longyingjing_v3, trait: 低调冷静女, age: "25~35"}
- {name: 龙安温, voice_id: longanwen_v3, trait: 优雅知性女, age: "25~35"}
- {name: 龙安雅, voice_id: longanya_v3, trait: 高雅气质女, age: "25~35"}
- {name: 龙安莉, voice_id: longanli_v3, trait: 利落从容女, age: "25~35"}
- {name: 龙妙, voice_id: longmiao_v3, trait: 抑扬顿挫女, age: "25~30"}
- {name: 龙颜, voice_id: longyan_v3, trait: 温暖春风女, age: "30~35"}
- {name: 龙悦, voice_id: longyue_v3, trait: 温暖磁性女, age: "30~35", tags: [旁白]}
- {name: 龙嫱, voice_id: longqiang_v3, trait: 浪漫风情女, age: "30~35", tags: [御姐, 魅惑]}
- {name: 龙媛, voice_id: longyuan_v3, trait: 温暖治愈女, age: "35~40"}
- {name: 龙安燃, voice_id: longanran_v3, trait: 活泼质感女, age: "30~40"}
- {name: 龙安宣, voice_id: longanxuan_v3, trait: 经典直播女, age: "30~40"}
- {name: 龙安台, voice_id: longantai_v3, trait: 嗲甜台湾女, age: "20~25"}
- {name: 龙应笑, voice_id: longyingxiao_v3, trait: 清甜推销女, age: "20~25"}
- id: child
name: 童声
voices:
- {name: 龙呼呼, voice_id: longhuhu_v3, trait: 天真烂漫女童, age: "6~10"}
- {name: 龙泡泡, voice_id: longpaopao_v3, trait: 飞天泡泡音, age: "6~15"}
- {name: 龙杰力豆, voice_id: longjielidou_v3, trait: 阳光顽皮男, age: "10"}
- {name: 龙仙, voice_id: longxian_v3, trait: 豪放可爱女, age: "12"}
- {name: 龙铃, voice_id: longling_v3, trait: 稚气呆板女, age: "10"}
- {name: 龙闪闪, voice_id: longshanshan_v3, trait: 戏剧化童声, age: "6~15"}
- {name: 龙牛牛, voice_id: longniuniu_v3, trait: 阳光男童声, age: "6~15"}
- id: dialect
name: 方言
voices:
- {name: 龙嘉欣, voice_id: longjiaxin_v3, trait: 优雅粤语女, age: "30~35", lang: 粤语}
- {name: 龙嘉怡, voice_id: longjiayi_v3, trait: 知性粤语女, age: "25~30", lang: 粤语}
- {name: 龙安粤, voice_id: longanyue_v3, trait: 欢脱粤语男, age: "25~35", lang: 粤语}
- {name: 龙老铁, voice_id: longlaotie_v3, trait: 东北直率男, age: "25~30", lang: 东北话}
- {name: 龙陕哥, voice_id: longshange_v3, trait: 原味陕北男, age: "25~35", lang: 陕西话}
- {name: 龙安闽, voice_id: longanmin_v3, trait: 清纯萝莉女, age: "18~25", lang: 闽南话}
- id: foreign
name: 外语(出海)
voices:
- {name: loongriko, voice_id: loongriko_v3, trait: 二次元霓虹女, age: "18~25", lang: 日语}
- {name: loongtomoka, voice_id: loongtomoka_v3, trait: 日语女, age: "30~35", lang: 日语}
- {name: loongtomoya, voice_id: loongtomoya_v3, trait: 日语男, age: "30~35", lang: 日语}
- {name: Jihun, voice_id: loongjihun_v3, trait: 韩语男, age: "25~30", lang: 韩语}
- {name: loongkyong, voice_id: loongkyong_v3, trait: 韩语女, age: "25~30", lang: 韩语}
- {name: loongabby, voice_id: loongabby_v3, trait: 美式英文女, age: "30~35", lang: 英语}
- {name: loongandy, voice_id: loongandy_v3, trait: 美式英文男, age: "30~35", lang: 英语}
- {name: loongindah, voice_id: loongindah_v3, trait: 印尼女, age: "22~27", lang: 印尼语}
# 火山引擎备用音色(voice_type 格式,供 reference)
volcano_default:
- {name: 火山-通用女声, voice_type: BV001_V2, trait: 通用女声}
- {name: 火山-通用男声, voice_type: BV002_streaming, trait: 通用男声}