[声流有记] 当音乐播放器开始记住你的夜晚
2026-10-12|2026-10-12
type
Post
status
Published
date
Oct 12, 2026
slug
261012
summary
从 NAS 点播到 WiiM 连续播放,一次关于队列、上下文、失败验证与“让权”的小型自动化实验。
tags
实用教程
category
动手实践
icon
password

这次折腾从一个很小的愿望开始:NAS 里的音乐已经能在 WiiM 上播放了,但我希望它不只是“播出声音”,而是能记住这个夜晚正在听什么。
我把群晖里的一个文件夹命名为“叙事”。里面不是一张严格意义上的专辑,而是一段适合夜晚慢慢往下走的听感:陈奕迅、许巍、李宗盛、朴树、房东的猫。平时让它顺序播放;偶尔临时点一首别处的歌;那首结束后,再回到原来的脉络。
这个需求说出来很像播放器的常识。真正实现时,却变成了一次我和 Agent 的小型协作:我负责描述我在意的体验、实际按下播放和判断“这是不是对的”;Agent 负责梳理接口、写小工具、读取状态,也负责在失败时把失败说清楚。
先把“能做什么”说清楚
一开始,Agent 没有直接给出一个看起来很完整的方案,而是先帮我厘清了设备各自的边界。
群晖的 Home Music Server 以 DLNA/UPnP Media Server 的方式提供音乐目录;WiiM Home 能浏览这些目录,WiiM 则承担解码和播放。局域网控制接口能读取播放器状态:正在播放还是暂停、当前媒体 URL、时长、进度和音量。
这意味着,Agent 可以帮助我完成一件确定的事:从“叙事”文件夹中指定一首 FLAC,让 WiiM 在合适的音量开始播放。
但它不能凭空获得另一件事:WiiM Home App 内部的 DLNA 文件夹队列。控制接口能知道“现在播的是什么”,却没有一个经验证的接口能把 App 中那条隐含的后续队列原样取出、保存,再恢复。
这一步很关键。人很容易因为想要一个完整答案,而忽略设备接口本身没有交出来的能力。Agent 的价值不在于替我假装跨过这个边界,而是先把边界标出来。
一次看似通了、实际没有通的尝试
我们试过 M3U 播放列表。
Agent 根据 NAS 目录生成了列表,再用一个临时 HTTP 服务把它交给 WiiM。局域网里文件能下载,播放器也会短暂显示
load。如果只看日志,这几乎像是成功了。但我随后看了真实播放状态:几秒后它从
load 变成了 stop。播放器没有把这份列表当作可连续播放的队列。于是这个方案被明确标记为失败,临时服务也关闭。没有把“部分链路可访问”包装成“功能已经实现”。
这段过程反而让我更相信人和 Agent 的协作应当保留一点克制:Agent 可以迅速铺开假设、写出验证工具;而人需要回到真实设备和真实体验中,确认它到底有没有响、有没有接着播、有没有在不该打扰时停下来。
不伪造原生队列,自己保存上下文
后来,我们换了一个更诚实的方向。
既然无法可靠接管 WiiM 的原生文件夹队列,就不去伪造它。Agent 写了一个轻量控制器,读取“叙事”文件夹的曲目索引,并维护属于自己的状态:当前曲目、下一首、播放模式和晚间音量。
它定时读取 WiiM 的真实状态。一首歌接近结束或已经停止时,才请求下一首;临时点播时,先记住原队列的位置,等点播结束后,从原来应接上的地方继续。
职责因此变得很清楚:
- NAS 负责保存与提供音乐;
- WiiM 负责播放;
- 人决定现在想听什么、什么算是打扰;
- Agent 维护上下文、执行衔接,并持续报告它实际看见的状态。
其中最重要的设计不是“自动换歌”,而是“让权”。如果我在 WiiM App 里手动切到另一张专辑,控制器不该抢着把我拉回“叙事”。它应该识别到当前内容已经不属于自己的预期队列,转为观察状态,停止自动干预。
我喜欢这种分工。Agent 并不试图比人更知道此刻应该听什么;它只是把人已经做过的选择,记得久一点、接得稳一点。
先做原型,再决定是否常驻
原型已经完成了一次真实衔接验证:许巍《旅行》结束后,控制器接到了陈鸿宇《理想三旬》,WiiM 的状态回读为正常播放。夜间音量也被限制在 24,避免自动化在不合适的时段过于张扬。
但这并不意味着它已经适合常驻。音乐库会增加,除了“叙事”还有睡前、器乐、流行等不同文件夹;临时点播也可能来自整个 NAS。下一步仍要让它经受更多次自然切歌、手动干预、索引刷新和异常恢复。
所以它暂时只是一个测试服务:可以启动、观察、停止,也可以刷新索引。是否进入每次登录后长期运行的阶段,最终不由代码是否“写完”决定,而由它是否真的减少了我的操作、没有打乱我的夜晚决定。
从“能播放”到“会记住”,中间没有神秘的智能。更像是一次安静的协作:人提供意图与判断,Agent 把意图拆成可验证的步骤;遇到边界就停下说明,遇到可行的部分就稳稳接住。
Loading...
- About
Bookmark
我说你是人间的四月天。
《你是人间的四月天》
林徽因
