大模型应用
当想让你 Claude Code…
在已通过 /buddy 领养 Claude Code 宠物且已安装配置 mmx CLI 时,为宠物构建一致声音、按主题生成原创歌曲并跨平台播放。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
当想让你 Claude Code 宠物(特定
解决思路
- 安装 mmx CLI:npm install -g mmx-cli。
- 首次认证:mmx auth login --api-key <your-minimax-api-key>,API key 从 MiniMax Platform 获取。
- 确保至少一个音频播放器可用:mpv(推荐,交互控制:space = pause、q = quit)、ffplay(来自 FFmpeg)或 afplay(macOS 内置)。
- 从用户第一条消息检测语言,整个会话用同一语言回复。
- 将所有面向用户的文本(宠物信息、声音描述、歌词预览、提示预览、播放信息、反馈提示)完全翻译成用户语言。
- 发送给模型的 API prompt 始终用英文以优化生成质量;向用户预览时展示本地化描述,不展示原始英文 prompt。
- 宠物默认用用户语言演唱;把演唱语言自然嵌入 vocal description(如 'singing in Japanese' 或 'singing in Mandarin Chinese'),不要另加语言标签;若用户明确指定歌词语言,遵循该语言。
- 读取 ~/.claude.json,查找 companion 字段。
- 若没有 companion 或字段为空,告诉用户先输入 /buddy 领养宠物,然后停止等待;不要在没有宠物时继续。
- 若存在 companion,提取 name 和 personality,并向用户展示找到的宠物信息。
- 基于宠物的 name 和 personality 文本,创造性地设计独特 vocal identity;不查模板,自由解释 personality。
- 将 personality 解释为声音属性:推导 timbre、singing style、mood。例如 few words -> 低沉、温暖、从容;energetic -> 明亮、有力;mysterious -> 气声、暗色;legendary chonk -> 厚实、温暖、舒适;playful -> 弹跳、节奏感;poetic -> 流畅、legato;chill -> 放松;fierce -> 强烈、有力。
- 构造 prompt_fragment:用英文描述 vocal style,并自然嵌入演唱语言;例如 'Vocal: warm low female voice singing in Mandarin Chinese with cozy thick timbre, sparse minimalist delivery with dramatic pauses giving each word weight, relaxed laid-back mood.'
- 缓存 vocal identity 以保证同一宠物声音一致:缓存文件 ~/.claude/skills/buddy-sings/voices/<name>.json。
- 缓存格式包含:name、personality、prompt_fragment、cached_at。
- 首次调用:无缓存时解释 personality 并保存到缓存文件。
- 后续调用:读取缓存并直接使用保存的 prompt_fragment;不要重新解释,一致性优先。
- 缓存失效:若 ~/.claude.json 中的 personality 与缓存不同,说明宠物已改变,重新生成并保存新缓存。
- 手动重新生成:若用户说 'change the voice' 或 'regenerate voice',删除缓存文件并从零重新解释。
- 向用户展示声音:Timbre、Style、Mood 描述,并邀请用户选择让宠物唱什么。
- 不要总是展示模式菜单;分析用户请求以确定需要什么上下文,并自动收集。
- 自动上下文检测触发:时间引用(today、this week、recently、yesterday)扫描当前对话历史和记忆文件;个人引用(my work、my day、what I did)扫描 memory 和 conversation;关系引用(our story、what we did together)扫描 memory 中用户与宠物/Claude 的共同经历。
- 上下文收集顺序第 1 项:当前对话上下文——查看用户本次 Claude Code session 正在做什么,包括编辑的文件、运行的命令、讨论的话题;这是 'today' 类请求最丰富的来源。
- 上下文收集顺序第 2 项:记忆文件——运行 find ~/.claude/projects/*/memory/ -name "*.md" 2>/dev/null | head -20;也检查 ~/.claude/memory/;读取找到的文件并提取与请求相关的主题。
- 上下文收集顺序第 3 项:Git 历史(如果在 repo 中)——运行 git log --oneline --since="today" 2>/dev/null | head -10 获取最近提交。
- 用收集到的上下文丰富歌词 prompt,让歌曲个性化并具体到真实发生的事,而不是泛泛而谈。
- 若请求是清晰独立场景(如 'sing a rainy day song'、'sing a lullaby'),跳过上下文收集,直接生成音乐。
- 若上下文模糊,只问具体澄清问题,不展示模式菜单;例如问 'What should <name> sing about?' 并给示例。
- 若上下文收集无有用内容,回退到基于 personality 的随机主题:安静/内敛 -> midnight lullaby、gentle sunset、quiet morning;活跃 -> party jam、adventure song、victory march;神秘 -> moonlit serenade、secret whisper、dream journey。告诉用户选了什么主题。
- 构造完整 prompt 必须包含两部分:Part A Vocal identity 必须放在最前,以缓存 prompt_fragment 开头,定义谁在唱,放开头让 API 优先;Part B genre/style/mood tags 匹配主题,不用默认集合,根据歌曲内容刻意变化。
- 用生动英文句子写 prompt,不要逗号分隔标签;模式:A [mood] [genre] song, featuring [vocal description], about [narrative/theme], [atmosphere], [key instruments and production]。
- 把 vocals 描述成角色(如 'sultry baritone with jazz inflections'),不只写性别;包含场景或 vibe 来锚定生成。
- 按主题能量选 genre:鼓励/动力/加油 -> Indie rock、synth-pop、funk、rap;避免 Indie folk、healing。日常/温暖/陪伴 -> Mandopop、city pop、bossa nova;避免与上次相同。思念/等待 -> Folk、R&B、lo-fi;避免 Rock、EDM。幽默/吐槽/抱怨 -> Funk、rap、ska、electro-pop;避免 Classical、ballad。深夜/安静 -> Ambient、piano piece、lo-fi、neoclassical;避免 Upbeat、EDM。庆祝/成就 -> EDM、future bass、funk、K-pop;避免 Slow tempo、melancholy。工作日常 -> City pop、synth-pop、lo-fi hip-hop、indie rock;避免每次都同 genre。
- 执行反单调规则:连续两次不能使用相同 genre 组合;构造 prompt 前回忆本次 session 上次生成用的 genre,选不同的。
- 按结构写 prompt:<vocal prompt_fragment>. A <genre> song with <mood> mood, featuring <instruments>, at a <tempo> tempo, evoking <scene>.
- 生成歌词:使用 --lyrics-optimizer 自动生成,或在需要控制视角时自己写歌词。
- 歌词视角必须正确:宠物是歌手,歌词从宠物第一人称视角写('I' = 宠物,'you' = 主人/用户),宠物唱给主人。正确示例:'I sit by the door waiting for you to come home'、'Wake up now, my dear human';错误示例:'I rub my sleepy eyes'(主人视角)、'Then you woke up, my little Moth'(主人在说宠物)。
- 用宠物 personality 塑造歌词语气和用词:of few words -> 短而有力、少填充;playful -> 押韵、弹跳措辞、文字游戏;poetic -> 富含隐喻、流畅意象;fierce -> 直接、有力宣言。
- 宠物名字可出现在歌词中(如 chorus hook),但叙事声音始终是宠物在唱/说。
- 当视角重要时:自己写歌词并通过 --lyrics 传入;当视角不重要时:用 --lyrics-optimizer 方便生成。
- 预览必须展示完整内容:生成前向用户展示完整歌词和完整本地化描述/预览信息,不缩写、不用 ...、不总结;用户想在听之前阅读和欣赏歌词。
- API prompt 始终用英文构造;非英文回复时,向用户展示 prompt 的本地化描述以便阅读,不展示原始英文 prompt;把 Singer、Theme、Description、Confirm 等所有标签翻译成用户语言。
- 预览模板(英文参考,运行时本地化):About to generate: Singer: <name>; Theme: <theme>; Lyrics: 完整展示所有 verse/chorus 等段落;Description: <本地化描述>; Confirm? (press enter to confirm, or tell me what to change)。
- 预览中绝不截断或缩写歌词或提示描述;用户应看到将发送给 API 的完整内容对应信息。
- 自动生成歌词时调用:mmx music generate --prompt "<full combined prompt>" --lyrics-optimizer --out ~/Music/minimax-gen/<name>_sings_<YYYYMMDD_HHMMSS>.mp3 --quiet --non-interactive。
- 自写歌词时调用:mmx music generate --prompt "<full combined prompt>" --lyrics "<lyrics with correct pet perspective>" --out ~/Music/minimax-gen/<name>_sings_<YYYYMMDD_HHMMSS>.mp3 --quiet --non-interactive。
- 跨平台播放:检测可用播放器并播放——if command -v mpv >/dev/null 2>&1; then mpv --no-video ~/Music/minimax-gen/<filename>.mp3; elif command -v ffplay >/dev/null 2>&1; then ffplay -nodisp -autoexit ~/Music/minimax-gen/<filename>.mp3; elif command -v afplay >/dev/null 2>&1; then afplay ~/Music/minimax-gen/<filename>.mp3; else echo "No audio player found. Your song is saved at: ~/Music/minimax-gen/<filename>.mp3"; fi。
- 开始播放后,告诉用户文件正在播放以及保存位置;不要展示播放控制(如键盘快捷键),因为播放器在后台运行,快捷键不工作。
- 若无播放器,显示文件路径并建议安装 mpv。
- 播放后按本地化模板请求反馈:How was <name>'s performance? 1. Amazing! Keep it! 2. Try a different theme/style 3. Fine-tune the lyrics and regenerate 4. Try another random one。
- 边缘情况:没有 ~/.claude.json -> 告诉用户先运行 /buddy;companion 字段为空 -> 同上。
- 边缘情况:mmx CLI 未安装 -> 打印 "You need to install mmx CLI: npm install -g mmx-cli && mmx auth login"。
- 边缘情况:没有音频播放器 -> 显示文件路径并建议安装 mpv。
- 边缘情况:没有找到记忆文件 -> 建议自定义主题或随机模式。
- 边缘情况:用户想改变宠物声音 -> 删除缓存并重新解释 personality。
- 边缘情况:用户想要特定 genre -> 允许覆盖,把用户指定的 genre 追加到 prompt。
- 注意 vocal identity 仅基于 name + personality,不做 species/rarity 模板映射。
- 注意 voice 缓存且跨 session 一致,同一宠物同一声音。
- 注意歌词始终原创,绝不复制受版权保护的歌词。
- 注意宠物 personality 同时塑造 voice 和 lyrics。
- 注意所有生成文件放到 ~/Music/minimax-gen/,文件名包含宠物名字。
适用边界 · 注意事项
- 没有通过 /buddy 领养宠物,或 ~/.claude.json 中没有 companion 时,不要使用;需先领养宠物。
- 未安装 mmx CLI、未配置 MiniMax API key,或不想依赖 MiniMax/MiniMax 付费服务时,不要使用。
- 需要复刻或使用已有版权歌词时不要使用;该技能只适合生成原创歌词。