{
  "schemaVersion": "1.0",
  "item": {
    "slug": "devialet",
    "name": "Devialet Speaker Control",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/JGM2025/devialet",
    "canonicalUrl": "https://clawhub.ai/JGM2025/devialet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/devialet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devialet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api.md",
      "scripts/devialet.sh",
      "scripts/play-on-devialet.sh",
      "scripts/spotify.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "devialet",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T13:09:29.594Z",
      "expiresAt": "2026-05-09T13:09:29.594Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devialet",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devialet",
        "contentDisposition": "attachment; filename=\"devialet-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "devialet"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/devialet"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/devialet",
    "agentPageUrl": "https://openagent3.xyz/skills/devialet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/devialet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/devialet/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Devialet Speaker Control",
        "body": "Control Devialet speakers (Phantom, Mania) over your local network with Spotify integration."
      },
      {
        "title": "Natural Language Commands",
        "body": "When the user says things like:\n\n\"Play Nines - Lick Shots on my speaker\" → Search and play via Spotify\n\"Set speaker volume to 40\" → Adjust volume\n\"Pause the music\" → Pause playback\n\"What's playing?\" → Check current track and status"
      },
      {
        "title": "Setup",
        "body": "Find your speaker's IP address (check router or Devialet app)\nSet the DEVIALET_IP environment variable, or add to TOOLS.md:\n## Devialet Speaker\n- IP: 192.168.x.x\n\n\nFor Spotify integration: install Spotify desktop app, playerctl, and xdotool"
      },
      {
        "title": "Quick Usage",
        "body": "# Set your speaker IP\nexport DEVIALET_IP=\"192.168.x.x\"\n\n# Play a song (search and play)\n./scripts/play-on-devialet.sh \"Drake - God's Plan\"\n\n# Play by Spotify URI\n./scripts/play-on-devialet.sh spotify:track:4YZNJOA9d8wiO5ELNY5WxC\n\n# Pause / Resume\n./scripts/play-on-devialet.sh pause\n./scripts/play-on-devialet.sh resume\n\n# Volume\n./scripts/play-on-devialet.sh volume 50\n\n# Status\n./scripts/play-on-devialet.sh status"
      },
      {
        "title": "Requirements",
        "body": "Devialet speaker with DOS 2.14+ or SDOS 1.3+ firmware\nSpotify integration (optional):\n\nSpotify desktop app running and logged in\nplayerctl and xdotool installed (sudo apt install playerctl xdotool)\nSpeaker set as Spotify Connect device (select once in Spotify app)"
      },
      {
        "title": "How It Works",
        "body": "Searches for track via Spotify desktop app (D-Bus/MPRIS)\nOpens track URI in Spotify\nSpotify Connect streams to Devialet\nDevialet API controls playback/volume"
      },
      {
        "title": "Direct Devialet API",
        "body": "For non-Spotify control (replace $DEVIALET_IP with your speaker's IP):\n\n# Volume (0-100)\ncurl -X POST -H \"Content-Type: application/json\" \\\n  -d '{\"volume\": 50}' \\\n  \"http://$DEVIALET_IP/ipcontrol/v1/systems/current/sources/current/soundControl/volume\"\n\n# Play/Pause\ncurl -X POST \"http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/play\"\ncurl -X POST \"http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/pause\"\n\n# Mute/Unmute\ncurl -X POST \"http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/mute\"\ncurl -X POST \"http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/unmute\"\n\n# Get status\ncurl -s \"http://$DEVIALET_IP/ipcontrol/v1/devices/current\" | jq ."
      },
      {
        "title": "Supported Models",
        "body": "Phantom I, Phantom II, Phantom Reactor (DOS 2.14+)\nDialog\nMania (SDOS 1.3+)"
      },
      {
        "title": "API Reference",
        "body": "See references/api.md for complete endpoint documentation."
      }
    ],
    "body": "Devialet Speaker Control\n\nControl Devialet speakers (Phantom, Mania) over your local network with Spotify integration.\n\nNatural Language Commands\n\nWhen the user says things like:\n\n\"Play Nines - Lick Shots on my speaker\" → Search and play via Spotify\n\"Set speaker volume to 40\" → Adjust volume\n\"Pause the music\" → Pause playback\n\"What's playing?\" → Check current track and status\nSetup\nFind your speaker's IP address (check router or Devialet app)\nSet the DEVIALET_IP environment variable, or add to TOOLS.md:\n## Devialet Speaker\n- IP: 192.168.x.x\n\nFor Spotify integration: install Spotify desktop app, playerctl, and xdotool\nQuick Usage\n# Set your speaker IP\nexport DEVIALET_IP=\"192.168.x.x\"\n\n# Play a song (search and play)\n./scripts/play-on-devialet.sh \"Drake - God's Plan\"\n\n# Play by Spotify URI\n./scripts/play-on-devialet.sh spotify:track:4YZNJOA9d8wiO5ELNY5WxC\n\n# Pause / Resume\n./scripts/play-on-devialet.sh pause\n./scripts/play-on-devialet.sh resume\n\n# Volume\n./scripts/play-on-devialet.sh volume 50\n\n# Status\n./scripts/play-on-devialet.sh status\n\nRequirements\nDevialet speaker with DOS 2.14+ or SDOS 1.3+ firmware\nSpotify integration (optional):\nSpotify desktop app running and logged in\nplayerctl and xdotool installed (sudo apt install playerctl xdotool)\nSpeaker set as Spotify Connect device (select once in Spotify app)\nHow It Works\nSearches for track via Spotify desktop app (D-Bus/MPRIS)\nOpens track URI in Spotify\nSpotify Connect streams to Devialet\nDevialet API controls playback/volume\nDirect Devialet API\n\nFor non-Spotify control (replace $DEVIALET_IP with your speaker's IP):\n\n# Volume (0-100)\ncurl -X POST -H \"Content-Type: application/json\" \\\n  -d '{\"volume\": 50}' \\\n  \"http://$DEVIALET_IP/ipcontrol/v1/systems/current/sources/current/soundControl/volume\"\n\n# Play/Pause\ncurl -X POST \"http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/play\"\ncurl -X POST \"http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/pause\"\n\n# Mute/Unmute\ncurl -X POST \"http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/mute\"\ncurl -X POST \"http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/unmute\"\n\n# Get status\ncurl -s \"http://$DEVIALET_IP/ipcontrol/v1/devices/current\" | jq .\n\nSupported Models\nPhantom I, Phantom II, Phantom Reactor (DOS 2.14+)\nDialog\nMania (SDOS 1.3+)\nAPI Reference\n\nSee references/api.md for complete endpoint documentation."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/JGM2025/devialet",
    "publisherUrl": "https://clawhub.ai/JGM2025/devialet",
    "owner": "JGM2025",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/devialet",
    "downloadUrl": "https://openagent3.xyz/downloads/devialet",
    "agentUrl": "https://openagent3.xyz/skills/devialet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/devialet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/devialet/agent.md"
  }
}