概述
OpenClaw 集成了丰富的音乐和媒体工具,从 Spotify 播放控制到歌曲识别,从图片生成到社交媒体管理,让你的 AI 助手成为全方位的媒体管理中心。
Spotify 播放控制
配置 Spotify 连接
首先需要在 Spotify Developer Dashboard 创建应用并获取凭据:
{
tools: {
spotify: {
enabled: true,
clientId: "${SPOTIFY_CLIENT_ID}",
clientSecret: "${SPOTIFY_CLIENT_SECRET}",
// OAuth 回调地址
redirectUri: "http://localhost:3000/callback/spotify"
}
}
}
环境变量设置:
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
SPOTIFY_REFRESH_TOKEN=your_refresh_token
首次授权
# 启动授权流程
openclaw tools auth spotify
# 浏览器会打开 Spotify 授权页面
# 授权后会自动保存 refresh_token
使用示例
用户: 播放周杰伦的晴天
OpenClaw: [调用 spotify.play]
{
query: "周杰伦 晴天",
type: "track"
}
正在播放:晴天 - 周杰伦
专辑:叶惠美
时长:4:29
用户: 声音小一点
OpenClaw: [调用 spotify.setVolume]
{
volume: 40
}
音量已调整到 40%。
用户: 现在播放的是什么歌?
OpenClaw: [调用 spotify.getCurrentTrack]
当前播放:
- 歌曲: 晴天
- 歌手: 周杰伦
- 专辑: 叶惠美
- 进度: 2:15 / 4:29
播放列表管理
用户: 创建一个工作学习的歌单
OpenClaw: [调用 spotify.createPlaylist]
{
name: "工作学习专注",
description: "适合专注工作和学习的轻音乐",
public: false
}
[调用 spotify.search 并 addToPlaylist]
歌单"工作学习专注"已创建,已添加 15 首推荐曲目:
1. River Flows in You - Yiruma
2. Experience - Ludovico Einaudi
3. ...
Sonos 音箱控制
配置
{
tools: {
sonos: {
enabled: true,
// Sonos 会自动发现局域网内的音箱
discovery: "auto",
// 音箱别名
speakers: {
"客厅音箱": "Living Room",
"卧室音箱": "Bedroom",
"厨房音箱": "Kitchen"
}
}
}
}
控制示例
用户: 在客厅音箱播放轻音乐
OpenClaw: [调用 sonos.play]
{
speaker: "客厅音箱",
query: "轻音乐",
source: "spotify"
}
客厅音箱已开始播放轻音乐。
用户: 所有音箱同步播放
OpenClaw: [调用 sonos.group]
{
speakers: ["客厅音箱", "卧室音箱", "厨房音箱"],
mode: "sync"
}
已将所有音箱加入同步播放组。
Shazam 歌曲识别
配置
{
tools: {
shazam: {
enabled: true,
apiKey: "${SHAZAM_API_KEY}"
}
}
}
使用场景
用户: [发送一段音频消息] 这是什么歌?
OpenClaw: [调用 shazam.identify]
识别结果:
- 歌曲: 稻香
- 歌手: 周杰伦
- 专辑: 魔杰座
- 发行年份: 2008
要在 Spotify 上播放这首歌吗?
图片生成
配置
{
tools: {
image_generation: {
enabled: true,
provider: "dall-e",
apiKey: "${OPENAI_API_KEY}",
defaults: {
model: "dall-e-3",
size: "1024x1024",
quality: "standard" // standard | hd
}
}
}
}
生成示例
用户: 帮我生成一张赛博朋克风格的城市夜景
OpenClaw: [调用 image_generation.generate]
{
prompt: "A cyberpunk cityscape at night with neon lights, flying cars, and rain-slicked streets, highly detailed digital art",
size: "1024x1024",
quality: "hd"
}
[返回生成的图片]
已为你生成赛博朋克城市夜景图片。需要调整或重新生成吗?
屏幕截图工具
配置
{
tools: {
screenshot: {
enabled: true,
// 截图保存目录
savePath: "/tmp/openclaw/screenshots",
// 默认格式
format: "png"
}
}
}
使用示例
用户: 截取当前屏幕
OpenClaw: [调用 screenshot.capture]
{
type: "fullscreen"
}
[返回屏幕截图]
已为你截取当前屏幕画面。
用户: 截取某个区域
OpenClaw: [调用 screenshot.capture]
{
type: "region",
region: { x: 100, y: 100, width: 800, height: 600 }
}
GIF 搜索
配置
{
tools: {
gif_search: {
enabled: true,
provider: "giphy",
apiKey: "${GIPHY_API_KEY}",
// 内容分级
rating: "g" // g | pg | pg-13 | r
}
}
}
使用示例
用户: 找一个庆祝的 GIF
OpenClaw: [调用 gif_search.search]
{
query: "celebration",
limit: 3
}
为你找到以下庆祝 GIF:
1. [欢呼的小猫 GIF]
2. [烟花绽放 GIF]
3. [跳舞庆祝 GIF]
要发送哪一个?
社交媒体集成
Twitter/X 发帖
{
tools: {
twitter: {
enabled: true,
apiKey: "${TWITTER_API_KEY}",
apiSecret: "${TWITTER_API_SECRET}",
accessToken: "${TWITTER_ACCESS_TOKEN}",
accessTokenSecret: "${TWITTER_ACCESS_TOKEN_SECRET}"
}
}
}
使用示例
用户: 帮我发一条推文,分享我们项目上线的好消息
OpenClaw: 我拟了一条推文,请确认:
"我们的新项目正式上线了!经过团队数月的努力,终于和大家见面。感谢所有参与者的付出!🚀 #新项目 #上线"
确认发送吗?
用户: 好的,发吧
OpenClaw: [调用 twitter.post]
{
text: "我们的新项目正式上线了!..."
}
推文已发布成功!链接:https://x.com/...
工具组合使用
场景:音乐识别 + 播放
用户: [发送音频] 这首歌是什么?帮我加到收藏
OpenClaw:
[shazam.identify] -> 稻香 - 周杰伦
[spotify.search] -> 找到对应曲目
[spotify.addToLibrary] -> 已添加到音乐库
歌曲"稻香"已识别并添加到你的 Spotify 收藏中。要现在播放吗?
场景:图片生成 + 社交分享
用户: 生成一张日落海滩的图,发到我的推特上
OpenClaw:
[image_generation.generate] -> 生成图片
[twitter.postWithMedia] -> 附图发布
已生成日落海滩图片并发布到你的 Twitter。
故障排查
Spotify 授权过期
# 重新授权
openclaw tools auth spotify --refresh
# 检查令牌状态
openclaw tools status spotify
Sonos 音箱未发现
# 手动扫描网络
openclaw tools discover sonos
# 指定音箱 IP
openclaw config set tools.sonos.speakers.客厅 "192.168.1.30"
这些媒体工具让 OpenClaw 成为你的个人娱乐和媒体管理助手,通过自然语言就能完成各种操作。