{
  "schemaVersion": "1.0",
  "item": {
    "slug": "voice-edge-tts",
    "name": "Voice (Edge TTS)",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/zhaov1976/voice-edge-tts",
    "canonicalUrl": "https://clawhub.ai/zhaov1976/voice-edge-tts",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/voice-edge-tts",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=voice-edge-tts",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "example.js",
      "index.js",
      "package-lock.json",
      "package.json",
      "README.md"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/voice-edge-tts"
    },
    "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/voice-edge-tts",
    "agentPageUrl": "https://openagent3.xyz/skills/voice-edge-tts/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voice-edge-tts/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voice-edge-tts/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Voice Skill (Edge TTS)",
        "body": "Text-to-speech skill using Microsoft Edge TTS engine with real-time streaming playback support."
      },
      {
        "title": "Features 功能特点",
        "body": "Edge TTS Engine - High quality text-to-speech using Microsoft Edge\nStreaming Playback - Real-time audio streaming (边生成边播放)\nMultiple Voices - Support for Chinese, English, Japanese, Korean voices\nCustomizable - Adjust rate, volume, and pitch\nSecure Implementation - No command injection vulnerabilities"
      },
      {
        "title": "1. Install Python dependencies",
        "body": "pip install edge-tts"
      },
      {
        "title": "2. Install ffmpeg (required for streaming)",
        "body": "Windows:\nDownload from: https://github.com/GyanD/codexffmpeg/releases\nExtract and add bin folder to PATH\n\nmacOS:\n\nbrew install ffmpeg\n\nLinux:\n\nsudo apt install ffmpeg"
      },
      {
        "title": "Streaming Playback (Recommended) 流式播放（推荐）",
        "body": "Real-time audio generation and playback:\n\n// Basic usage\nawait skill.execute({\n  action: 'stream',\n  text: '你好，我是小九'\n});\n\n// With custom voice\nawait skill.execute({\n  action: 'stream',\n  text: 'Hello, how are you?',\n  options: {\n    voice: 'en-US-Standard-A',\n    rate: '+10%',\n    volume: '+0%',\n    pitch: '+0Hz'\n  }\n});"
      },
      {
        "title": "Text-to-Speech with File 生成语音文件",
        "body": "await skill.execute({\n  action: 'tts',\n  text: 'Hello, how are you today?',\n  options: {\n    voice: 'zh-CN-XiaoxiaoNeural'\n  }\n});\n// Returns: { success: true, media: 'MEDIA: /path/to/file.mp3' }"
      },
      {
        "title": "Direct Speak 直接播放",
        "body": "await skill.execute({\n  action: 'speak',\n  text: 'Hello!'\n});"
      },
      {
        "title": "List Available Voices 查看可用语音",
        "body": "await skill.execute({\n  action: 'voices'\n});"
      },
      {
        "title": "Available Voices 可用语音",
        "body": "LanguageVoice IDChinese (Female)zh-CN-XiaoxiaoNeuralChinese (Male)zh-CN-YunxiNeuralChinese (Male)zh-CN-YunyangNeuralEnglish (US Female)en-US-Standard-AEnglish (US Male)en-US-Standard-DEnglish (UK)en-GB-Standard-AJapaneseja-JP-NanamiNeuralKoreanko-KR-SunHiNeural"
      },
      {
        "title": "Options 参数",
        "body": "OptionDefaultDescriptionvoicezh-CN-XiaoxiaoNeuralVoice IDrate+0%Speech rate (-50% to +100%)volume+0%Volume adjustment (-50% to +50%)pitch+0HzPitch adjustment"
      },
      {
        "title": "Security 安全",
        "body": "This skill implements enterprise-grade security best practices:"
      },
      {
        "title": "🛡️ Security Features",
        "body": "FeatureImplementationInput ValidationVoice parameter whitelist validation - only allowed voices can be usedNo Shell ExecutionUses spawn() with array arguments instead of shell command concatenationCommand Injection PreventionAll user inputs are properly validated and escapedPath SafetyFixed script path prevents path traversal"
      },
      {
        "title": "Security Details",
        "body": "// ❌ UNSAFE - Don't use exec with string concatenation\nexec(`py script.py \"${userText}\" --voice ${userVoice}`);\n\n// ✅ SAFE - Use spawn with array arguments\nspawn('py', [scriptPath, text, '--voice', voice], { shell: false });"
      },
      {
        "title": "Voice Whitelist",
        "body": "Only these voices are allowed:\n\nconst allowedVoices = [\n  'zh-CN-XiaoxiaoNeural', 'zh-CN-YunxiNeural', 'zh-CN-YunyangNeural',\n  'zh-CN-YunyouNeural', 'zh-CN-XiaomoNeural',\n  'en-US-Standard-C', 'en-US-Standard-D', 'en-US-Wavenet-F',\n  'en-GB-Standard-A', 'en-GB-Wavenet-A',\n  'ja-JP-NanamiNeural', 'ko-KR-SunHiNeural'\n];\n\nAny invalid voice parameter will be rejected and replaced with the default voice."
      },
      {
        "title": "v1.10 (2026-02-24)",
        "body": "Enterprise-grade security - Full command injection protection\nVoice whitelist validation\nReplaced exec with spawn for secure process execution\nInput sanitization for all parameters"
      },
      {
        "title": "v1.1.0",
        "body": "Add streaming playback support (边生成边播放)\nAdd ffmpeg dependency\nFix command injection vulnerability\nAdd voice whitelist validation"
      },
      {
        "title": "v1.0.0",
        "body": "Initial release with basic TTS support"
      }
    ],
    "body": "Voice Skill (Edge TTS)\n\nText-to-speech skill using Microsoft Edge TTS engine with real-time streaming playback support.\n\nFeatures 功能特点\nEdge TTS Engine - High quality text-to-speech using Microsoft Edge\nStreaming Playback - Real-time audio streaming (边生成边播放)\nMultiple Voices - Support for Chinese, English, Japanese, Korean voices\nCustomizable - Adjust rate, volume, and pitch\nSecure Implementation - No command injection vulnerabilities\nInstallation 安装\n1. Install Python dependencies\npip install edge-tts\n\n2. Install ffmpeg (required for streaming)\n\nWindows: Download from: https://github.com/GyanD/codexffmpeg/releases Extract and add bin folder to PATH\n\nmacOS:\n\nbrew install ffmpeg\n\n\nLinux:\n\nsudo apt install ffmpeg\n\nUsage 使用\nStreaming Playback (Recommended) 流式播放（推荐）\n\nReal-time audio generation and playback:\n\n// Basic usage\nawait skill.execute({\n  action: 'stream',\n  text: '你好，我是小九'\n});\n\n// With custom voice\nawait skill.execute({\n  action: 'stream',\n  text: 'Hello, how are you?',\n  options: {\n    voice: 'en-US-Standard-A',\n    rate: '+10%',\n    volume: '+0%',\n    pitch: '+0Hz'\n  }\n});\n\nText-to-Speech with File 生成语音文件\nawait skill.execute({\n  action: 'tts',\n  text: 'Hello, how are you today?',\n  options: {\n    voice: 'zh-CN-XiaoxiaoNeural'\n  }\n});\n// Returns: { success: true, media: 'MEDIA: /path/to/file.mp3' }\n\nDirect Speak 直接播放\nawait skill.execute({\n  action: 'speak',\n  text: 'Hello!'\n});\n\nList Available Voices 查看可用语音\nawait skill.execute({\n  action: 'voices'\n});\n\nAvailable Voices 可用语音\nLanguage\tVoice ID\nChinese (Female)\tzh-CN-XiaoxiaoNeural\nChinese (Male)\tzh-CN-YunxiNeural\nChinese (Male)\tzh-CN-YunyangNeural\nEnglish (US Female)\ten-US-Standard-A\nEnglish (US Male)\ten-US-Standard-D\nEnglish (UK)\ten-GB-Standard-A\nJapanese\tja-JP-NanamiNeural\nKorean\tko-KR-SunHiNeural\nOptions 参数\nOption\tDefault\tDescription\nvoice\tzh-CN-XiaoxiaoNeural\tVoice ID\nrate\t+0%\tSpeech rate (-50% to +100%)\nvolume\t+0%\tVolume adjustment (-50% to +50%)\npitch\t+0Hz\tPitch adjustment\nSecurity 安全\n\nThis skill implements enterprise-grade security best practices:\n\n🛡️ Security Features\nFeature\tImplementation\nInput Validation\tVoice parameter whitelist validation - only allowed voices can be used\nNo Shell Execution\tUses spawn() with array arguments instead of shell command concatenation\nCommand Injection Prevention\tAll user inputs are properly validated and escaped\nPath Safety\tFixed script path prevents path traversal\nSecurity Details\n// ❌ UNSAFE - Don't use exec with string concatenation\nexec(`py script.py \"${userText}\" --voice ${userVoice}`);\n\n// ✅ SAFE - Use spawn with array arguments\nspawn('py', [scriptPath, text, '--voice', voice], { shell: false });\n\nVoice Whitelist\n\nOnly these voices are allowed:\n\nconst allowedVoices = [\n  'zh-CN-XiaoxiaoNeural', 'zh-CN-YunxiNeural', 'zh-CN-YunyangNeural',\n  'zh-CN-YunyouNeural', 'zh-CN-XiaomoNeural',\n  'en-US-Standard-C', 'en-US-Standard-D', 'en-US-Wavenet-F',\n  'en-GB-Standard-A', 'en-GB-Wavenet-A',\n  'ja-JP-NanamiNeural', 'ko-KR-SunHiNeural'\n];\n\n\nAny invalid voice parameter will be rejected and replaced with the default voice.\n\nChangelog 更新日志\nv1.10 (2026-02-24)\nEnterprise-grade security - Full command injection protection\nVoice whitelist validation\nReplaced exec with spawn for secure process execution\nInput sanitization for all parameters\nv1.1.0\nAdd streaming playback support (边生成边播放)\nAdd ffmpeg dependency\nFix command injection vulnerability\nAdd voice whitelist validation\nv1.0.0\nInitial release with basic TTS support"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/zhaov1976/voice-edge-tts",
    "publisherUrl": "https://clawhub.ai/zhaov1976/voice-edge-tts",
    "owner": "zhaov1976",
    "version": "1.10.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/voice-edge-tts",
    "downloadUrl": "https://openagent3.xyz/downloads/voice-edge-tts",
    "agentUrl": "https://openagent3.xyz/skills/voice-edge-tts/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voice-edge-tts/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voice-edge-tts/agent.md"
  }
}