GitHub 上的开源项目 delexw/miod 是一个面向 Claude Code 的 mod,名字取自 MIDI 加 mod。据项目 README 介绍,它能在 Claude 工作时即时生成音乐,不用音乐文件、音乐库,也不用 AI 模型。音乐的情绪会跟着 agent 的动作变化,用户能听到 agent 思考、阅读、编辑、失败和修复的过程。
作者在 README 中自称是工程师,如今无聊的问题全靠 vibe coding 解决,但觉得自己在这个过程中失去了亲手写代码时的创造力和好奇心。作者说,miod 是让 vibe coding 重新变有趣的第一次尝试。
按 README 的说明,每个任务会选定自己的风格,包括 lo-fi、chiptune、ambient、jazzy 以及另外 8 种,同时选定调性、和弦进行、速度、音色和主题。
情绪则跟随 agent 当前的动作。每种情绪会从 16 种音阶中,按各自带权重的列表挑选音阶。README 举例说,failing(失败)偏向小调和和声小调,shipping(交付)偏向混合利底亚调和大调。
每种情绪有 10 个变体。任务进行中,活动变化时以及每 4 个乐句,都会重新挑选变体和音阶。
token 花得越快,音乐越密集;上下文窗口占用超过 80% 时,会加入低音持续音。
提示框上方有一行状态,显示当前的情绪、风格、调性、速度和能量。下方有一条随音乐滚动、按情绪着色的波形。可以用 /miod wave 在 bars、line、mirror、dots、pulse 五种外观之间切换。
觉得太吵,可以用 /miod off 关闭音乐,再用 /miod on 从下一个任务开始恢复播放。
miod 需要 Claude Code 2.1.290 或更新版本。作者说明目前只在 macOS 上测试过,Claude Code 在 macOS 上通过 afplay 播放音频,Linux 和 Windows 上的表现尚不确定。README 还提到,miod 只能听到加载它的那个会话。
作者欢迎社区添加更多情绪、风味和音色。按 README 的说法,每种情绪是 hooks/moods.ts 中的一行,每种风味是 hooks/flavours.ts 中的一行,每种音色是 hooks/styles.ts 中的一项,每种波形外观是 hooks/waves/ 下的一个文件。