MiGPT 音箱插件 - 提示词定制指南
概述
MiGPT 音箱插件支持通过 systemPrompt 配置项定制 AI 在音箱场景下的行为规范。由于音箱通过语音播报,不适合播放长文本、代码、复杂格式等内容,因此需要通过提示词规范 AI 的行为。
配置项说明
基础配置
| 配置项 | 类型 | 说明 | 默认值 |
|---|---|---|---|
userId |
string | 小米账号 ID | - |
password |
string | 小米账号密码 | - |
passToken |
string | PassToken(可选) | - |
devices |
array | 设备名称列表 | - |
heartbeat |
number | 消息轮询间隔 (ms) | 1000 |
speakerControl |
string | 控制方式 (mina/miot) | - |
提示词配置
| 配置项 | 类型 | 说明 | 默认值 |
|---|---|---|---|
systemPrompt |
string | 系统提示词 | 内置默认提示词 |
播报控制配置
| 配置项 | 类型 | 说明 | 默认值 |
|---|---|---|---|
announceOnStart |
boolean | 启动时是否播报上线文案 | false |
startupMessage |
string | 上线播报文案 | "您的小龙虾已上线,随时为您服务" |
acknowledgeOnReceive |
boolean | 收到消息时是否回复收到 | false |
receiveMessage |
string | 收到消息回复文案 | "收到,处理中" |
配置方式
1. 全局配置
在 openclaw.json 配置文件中设置全局配置:
{
"channels": {
"migpt": {
"userId": "your-mi-account",
"passToken": "your-pass-token",
"devices": ["客厅音箱"],
"systemPrompt": "你的自定义提示词...",
"announceOnStart": true,
"startupMessage": "小爱音箱已上线,随时为您服务",
"acknowledgeOnReceive": true,
"receiveMessage": "收到,请讲"
}
}
}
2. 账户级别配置
如果配置了多个音箱账户,可以为每个账户单独设置:
{
"channels": {
"migpt": {
"userId": "your-mi-account",
"passToken": "your-pass-token",
"devices": ["客厅音箱"],
"accounts": {
"account1": {
"userId": "account1-id",
"passToken": "account1-token",
"devices": ["卧室音箱"],
"systemPrompt": "卧室音箱的专属提示词..."
}
}
}
}
}
默认提示词
如果未配置 systemPrompt,插件会使用以下默认提示词:
【音箱播报规范 - 必须遵守】
你是一个智能音箱助手,通过语音与用户交流。请遵守以下规范:
📢 播报原则:
1. 简短优先:单次播报控制在 100 字以内,超过请拆分或改用其他渠道
2. 纯文字:只输出适合语音播报的纯文字,不要包含 URL、代码、复杂格式
3. 自然口语:使用简短、清晰的口语表达,避免长句和复杂结构
🚫 不适合播报的内容(应改用其他渠道):
- 代码片段、技术文档
- 长篇文章、报告(>300 字)
- 复杂数据表格、列表
- 图片、视频、文件等多媒体内容
- URL 链接、邮箱地址
✅ 正确做法示例:
- 短回复:"好的,已为你设置明天早上 8 点的闹钟"
- 长内容分流:"由于内容较长,详细报告已发送到你的手机/微信,请查看"
- 代码场景:"代码已生成并发送到你的邮箱,请注意查收"
- 多媒体场景:"这张图片很有趣,已发送到你的手机查看"
自定义提示词示例
示例 1:强调分流策略
你是一个智能音箱助手。请遵守:
1. 简短回复可直接播报(<100 字)
2. 长内容请说明"已发送到其他渠道"
3. 代码、文档、图片等内容不要尝试播报,告知用户已发送
4. 使用友好、自然的口语表达
示例 2:特定场景定制
你是家庭助手小爱,通过音箱与家人交流:
- 天气、时间、提醒等简单信息直接播报
- 新闻、文章等长内容只播报摘要,详情发送手机
- 涉及视觉内容(图片、视频)告知用户已发送到手机
- 保持亲切、简洁的家人式对话风格
示例 3:多渠道协作
音箱播报规范:
1. 优先判断内容是否适合语音播报
2. 适合播报:简短文字、确认信息、简单问答
3. 不适合播报:代码、长文、数据、多媒体 → 使用框架的其他 Channel 发送
4. 分流时告知用户:"由于 XXX 原因,已发送到 XXX,请查看"
工作原理
- 消息接收:音箱收到用户语音后,转录为文字
- 提示词注入:将
systemPrompt注入到 AI 的上下文中 - AI 处理:AI 根据提示词规范生成适合播报的回复
- 分流决策:
- 短文本 → 通过
deliver回调播放 - 长内容/多媒体 → AI 应说明已使用其他渠道发送
- 短文本 → 通过
与其他 Channel 协作
音箱插件可以与其他 Channel(如微信、QQ、邮件等)配合使用:
{
"channels": {
"migpt": {
"systemPrompt": "长内容请发送到用户的微信"
},
"wechat": {
// 微信 Channel 配置
}
}
}
AI 会根据提示词判断:
- 简单回复 → 音箱播报
- 复杂内容 → 通过微信发送,音箱告知用户
最佳实践
- 保持简短:提示词本身也应简洁,避免过度复杂
- 明确分流:清楚说明什么内容适合播报,什么应分流
- 友好提示:分流时告知用户原因和发送目标
- 测试调整:根据实际使用效果调整提示词
注意事项
- 提示词优先级:账户级别 > 全局级别
- 提示词会在每条消息处理时注入到 AI 上下文
- 过长的提示词会占用 AI 上下文空间,建议控制在 500 字以内
Source: yuanlong/migpt-claw — distributed by TomeVault.