核心用法
my-play-music-from-yt 是一款基于 Playwright 浏览器自动化的 YouTube 音乐播放技能,通过命令行工具 playwright-cli 控制真实浏览器实现音乐搜索与播放。用户可通过自然语言指令触发四类场景:(1) 播放特定歌曲(如"播放 ABBA 的 Money Money Money");(2) 播放艺术家歌单或混合曲目;(3) 播放风格/情绪类音乐(如放松音乐、60年代华语老歌);(4) 播放控制(暂停、继续、下一首、跳过广告等)。
技能采用快照-引用-操作模式运行:每次交互前必须获取页面快照,通过元素引用(ref)执行点击、填充等操作,严禁使用 CSS 选择器或 XPath。核心命令格式为 playwright-cli -s=music_player <action>,其中 -s=music_player 为强制命名会话参数。
搜索流程遵循标准化五步法:重置搜索状态→定位搜索框→填充查询词→快照确认→点击最佳结果。查询构造根据用户意图智能调整,支持语音转录错误的自动容错(如"楊成林"自动纠正为"楊丞琳"),无需用户二次确认。
播放控制提供两种机制:界面元素点击(如 button "Pause (k)")或键盘快捷键(k 播放/暂停、Shift+n 下一首等)。广告处理采用循环检测策略,自动识别可跳过广告、非跳过广告及多广告串联场景。
显著优点
- 可视化操作:默认使用
--headed模式,用户可实时观察浏览器行为,调试友好 - 会话持久化:
--persistent参数保存浏览器配置(Cookie、登录状态等),重启后自动恢复 - 健壮的错误恢复:提供完整的异常处理流程,包括页面冻结、会话丢失、视频不可用等场景
- 智能搜索容错:依赖 YouTube 内置拼写纠正,自动处理语音转录错误
- 跨平台兼容:支持 macOS、Windows、Linux,针对 macOS 权限问题提供专门诊断指引
潜在缺点与局限性
- 浏览器依赖:必须安装 playwright-cli 及对应浏览器二进制文件,环境配置门槛较高
- 可见窗口占用: headed 模式会持续占用屏幕空间,可能影响多任务工作流
- 广告不可完全屏蔽:仅能自动化跳过可跳过广告,非跳过广告仍需等待(最长 20 秒)
- YouTube 界面变动风险:依赖特定 DOM 结构(如
combobox "搜尋"),YouTube 更新可能导致元素定位失效 - 无原生音频控制:通过浏览器播放,无法直接操作系统音量或音频输出设备
- 版权与地区限制:部分视频可能因版权或地理限制不可用,需手动切换结果
适合人群
- 需要在自动化工作流中集成音乐播放的开发者与高级用户
- 偏好语音/文本控制而非手动操作音乐播放器的用户
- 已熟悉命令行工具与浏览器自动化概念的 Playwright 用户
- 希望保持 YouTube 登录状态(如播放历史、推荐算法)的 YouTube 活跃用户
常规风险
- 自动化检测风险:YouTube 可能识别浏览器自动化行为,导致临时限速或功能限制(如要求验证码)
- 持久化数据累积:长期运行
--persistent会话可能产生大量缓存数据,需定期清理 - macOS 权限管理:首次使用需手动授权屏幕录制、自动化、辅助功能三项系统权限,流程繁琐
- 会话僵尸状态:异常终止可能导致浏览器进程残留,需手动清理
playwright-cli list监控 - 隐私数据暴露:持久化配置可能保存敏感登录信息,共享环境需谨慎使用