让AI自己挑音效:peon-ping MCP Server配置与play_sound实战教程
【免费下载链接】peon-pingWarcraft III Peon voice notifications (+ more!) for Claude Code, Codex, IDEs, and any AI agent. Stop babysitting your terminal. Employ a Peon today.项目地址: https://gitcode.com/gh_mirrors/pe/peon-ping
peon-ping 的MCP Server是一个面向 AI 智能体的音效工具服务器:它通过 Model Context Protocol(MCP)把 75+ 款游戏音效包开放给任意 AI 客户端,AI 只需调用一个play_sound工具,就能自主判断"现在该放哪句台词"——构建失败时放一句暴怒的 Duke Nukem,读取文件时放一句"收到"的 Kerrigan。本文带你从零完成配置,让 AI 自己挑音效,从此告别无意义的固定提示音。
为什么需要 peon-ping MCP Server 🎮
传统的 peon-ping 用法是"钩子(hook)"模式:AI 完成任务、请求权限、报错时,自动播放固定音效。它稳定,但缺少"情境感"。
MCP Server 模式则完全反过来:AI 自己挑音效。
| 对比项 | 钩子模式 | MCP Server 模式 |
|---|---|---|
| 音效选择 | 预设固定音效 | AI 根据上下文自主挑选 |
| 适用客户端 | 支持 hooks 的 IDE/CLI | 任意MCP 客户端(Claude Desktop、Cursor 等) |
| 依赖 | 需要 hook 事件 | 无需 hook,只需配置 MCP |
| 自由度 | 低 | 高(AI 可组合多个音效) |
官方在 README.md 中给的例子很生动:构建失败时 AI 会调用duke_nukem/SonOfABitch,读取文件时调用sc_kerrigan/IReadYou——每句话都是 AI 现场"点单"的。
准备工作:安装与依赖
MCP Server 只是一个 Node.js 脚本,依赖极少,核心实现见 mcp/peon-mcp.js,依赖声明在 mcp/package.json 中(仅需@modelcontextprotocol/sdk)。
环境要求:
- Node.js 18+
- 已安装 peon-ping(macOS、Linux 或 WSL2),音效包已就位
如果还没有安装 peon-ping,先 clone 仓库安装:
git clone https://gitcode.com/gh_mirrors/pe/peon-ping然后在 MCP 目录下安装依赖:
cd mcp && npm install一键配置:3步接入 Claude Desktop 与 Cursor
配置的核心只有两行:用node启动peon-mcp.js。
第 1 步:定位入口文件
入口文件是仓库里的mcp/peon-mcp.js。如果你用 Homebrew 安装,路径为$(brew --prefix peon-ping)/libexec/mcp/peon-mcp.js。
第 2 步:写入 MCP 客户端配置
Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json)与 Cursor(.cursor/mcp.json)的配置格式完全一致:
{ "mcpServers": { "peon-ping": { "command": "node", "args": ["/path/to/peon-ping/mcp/peon-mcp.js"] } } }第 3 步:重启客户端
重启后,你的 AI 就多了一个"声音遥控器"。完整配置说明可参考 mcp/README.md。
💡 提示:所有 MCP 客户端通用,只需把
command和args指向上面的入口脚本即可。
play_sound 工具:AI 是如何挑音效的 🔊
整个 Server 只暴露一个工具:play_sound。参数设计很简洁:
{ "sound": "duke_nukem/Groovy" }或一次连放多句(最多 5 句,按顺序排队播放):
{ "sounds": ["sc_kerrigan/IReadYou", "wc2marine/Engage"] }关键格式是音效包/音效名(例如peon/PeonReady1)。AI 调用后会收到明确的结果反馈:🔊 播放成功或❌ Not found,这让模型能自我纠错——找不到时会去查目录,而不是盲目重试。
音效目录:让 AI"看懂"全部可用音效
AI 怎么知道有哪些音效可选?靠的是两个MCP Resource(资源端点),客户端只读取一次,模型即可掌握全量清单,不需要反复调工具浏览:
| 资源 | 作用 |
|---|---|
peon-ping://catalog | 完整目录:所有音效包及每句音效的名称、标签(label) |
peon-ping://pack/{name} | 单个音效包详情,按分类列出全部音效 |
目录内容来自本地音效包目录(默认~/.openpeon/packs)下每个包的openpeon.json清单,Server 启动时自动扫描。也就是说:你下载的新音效包,AI 立刻"知道"它存在——这正是"AI 自己挑音效"能成立的基础。
音量与目录:两个环境变量搞定
Server 支持两个环境变量,可在 MCP 配置的env字段中设置:
{ "mcpServers": { "peon-ping": { "command": "node", "args": ["/path/to/peon-ping/mcp/peon-mcp.js"], "env": { "PEON_VOLUME": "0.5" } } } }| 变量 | 默认值 | 说明 |
|---|---|---|
PEON_VOLUME | 0.5 | 播放音量(0-1) |
PEON_PACKS_DIR | ~/.openpeon/packs | 音效包目录 |
播放层做了完整的平台适配(源码中getPlayCommand函数):macOS 用afplay,Linux 自动在pw-play/paplay/ffplay/mpv等播放器中挑选,WSL2 则走 PowerShellSoundPlayer,跨平台开箱即用。
实战场景:让它"活"起来 🗿
配置完成后,你可以在提示词中给 AI 定一些"音效礼仪",效果立刻不同:
- "每开始读一批文件,放一句确认音" → AI 会挑
sc_kerrigan/IReadYou - "部署成功时放个庆祝音效" → AI 翻目录后会选中合适的胜利台词
- "出错了就放最凶的那句" →
duke_nukem/SonOfABitch
更进阶的玩法:仓库内置了 trainer/ 音效包(清单见 trainer/manifest.json),包含 "Work work!"、"Peon approve." 等训练模式台词,AI 同样可以通过play_sound按trainer包调用,给长任务加点仪式感。
常见问题速查
Q:AI 提示❌ Not found怎么办?A:音效名拼写要精确,格式必须是包名/音效名。让 AI 先读取peon-ping://catalog资源获取准确清单即可。
Q:支持 Windows 吗?A:MCP Server 基于 Node.js,Windows 原生可用;音效播放层官方支持 macOS、Linux 与 WSL2。
Q:和钩子模式冲突吗?A:不冲突。两者可共存——钩子管"固定事件固定音",MCP 管"AI 即兴发挥",一个负责可靠,一个负责惊喜。
从"人定音效"到"AI 挑音效",peon-ping 的 MCP Server 只需一段十几行的 JSON 配置就能接入。配置完成后,你的每一个 MCP 客户端 AI 都会多一位随叫随到、声线丰富的"小地精解说员"。
【免费下载链接】peon-pingWarcraft III Peon voice notifications (+ more!) for Claude Code, Codex, IDEs, and any AI agent. Stop babysitting your terminal. Employ a Peon today.项目地址: https://gitcode.com/gh_mirrors/pe/peon-ping
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考