{
  "schemaVersion": "1.0",
  "item": {
    "slug": "voice-reply",
    "name": "Voice Reply",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/stolot0mt0m/voice-reply",
    "canonicalUrl": "https://clawhub.ai/stolot0mt0m/voice-reply",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/voice-reply",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=voice-reply",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/install.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. 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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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-reply"
    },
    "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-reply",
    "agentPageUrl": "https://openagent3.xyz/skills/voice-reply/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voice-reply/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voice-reply/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 Reply",
        "body": "Generate voice audio replies using local Piper TTS via sherpa-onnx. Completely offline, no cloud APIs needed."
      },
      {
        "title": "Features",
        "body": "100% Local - No internet connection required after setup\nNo API Keys - Free to use, no accounts needed\nMulti-language - German and English voices included\nTelegram Ready - Outputs voice notes that display as bubbles\nAuto-detect Language - Automatically selects voice based on text"
      },
      {
        "title": "Prerequisites",
        "body": "sherpa-onnx runtime installed\nPiper voice models downloaded\nffmpeg for audio conversion"
      },
      {
        "title": "Quick Install",
        "body": "cd scripts\nsudo ./install.sh"
      },
      {
        "title": "Manual Installation",
        "body": "1. Install sherpa-onnx\n\nsudo mkdir -p /opt/sherpa-onnx\ncd /opt/sherpa-onnx\ncurl -L -o sherpa.tar.bz2 \"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-linux-x64-shared.tar.bz2\"\nsudo tar -xjf sherpa.tar.bz2 --strip-components=1\nrm sherpa.tar.bz2\n\n2. Download Voice Models\n\nsudo mkdir -p /opt/piper-voices\ncd /opt/piper-voices\n\n# German - thorsten (medium quality, natural male voice)\ncurl -L -o thorsten.tar.bz2 \"https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-de_DE-thorsten-medium.tar.bz2\"\nsudo tar -xjf thorsten.tar.bz2 && rm thorsten.tar.bz2\n\n# English - ryan (high quality, clear US male voice)\ncurl -L -o ryan.tar.bz2 \"https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-ryan-high.tar.bz2\"\nsudo tar -xjf ryan.tar.bz2 && rm ryan.tar.bz2\n\n3. Install ffmpeg\n\nsudo apt install -y ffmpeg\n\n4. Set Environment Variables\n\nAdd to your OpenClaw service or shell:\n\nexport SHERPA_ONNX_DIR=\"/opt/sherpa-onnx\"\nexport PIPER_VOICES_DIR=\"/opt/piper-voices\""
      },
      {
        "title": "Usage",
        "body": "{baseDir}/bin/voice-reply \"Text to speak\" [language]"
      },
      {
        "title": "Parameters",
        "body": "ParameterDescriptionDefaulttextThe text to convert to speech(required)languagede for German, en for Englishauto-detect"
      },
      {
        "title": "Examples",
        "body": "# German (explicit)\n{baseDir}/bin/voice-reply \"Hallo, ich bin dein Assistent!\" de\n\n# English (explicit)\n{baseDir}/bin/voice-reply \"Hello, I am your assistant!\" en\n\n# Auto-detect (detects German from umlauts and common words)\n{baseDir}/bin/voice-reply \"Guten Tag, wie geht es dir?\"\n\n# Auto-detect (defaults to English)\n{baseDir}/bin/voice-reply \"The weather is nice today.\""
      },
      {
        "title": "Output Format",
        "body": "The script outputs two lines that OpenClaw processes for Telegram:\n\n[[audio_as_voice]]\nMEDIA:/tmp/voice-reply-output.ogg\n\n[[audio_as_voice]] - Tag that tells Telegram to display as voice bubble\nMEDIA:path - Path to the generated OGG Opus audio file"
      },
      {
        "title": "Available Voices",
        "body": "LanguageVoiceQualityDescriptionGerman (de)thorstenmediumNatural male voice, clear pronunciationEnglish (en)ryanhighClear US male voice, professional tone"
      },
      {
        "title": "Adding More Voices",
        "body": "Browse available Piper voices at:\n\nhttps://rhasspy.github.io/piper-samples/\nhttps://github.com/k2-fsa/sherpa-onnx/releases/tag/tts-models\n\nDownload and extract to $PIPER_VOICES_DIR, then modify the script to include the new voice."
      },
      {
        "title": "\"TTS binary not found\"",
        "body": "Ensure SHERPA_ONNX_DIR is set and contains bin/sherpa-onnx-offline-tts."
      },
      {
        "title": "\"Failed to generate audio\"",
        "body": "Check that voice model files exist: *.onnx, tokens.txt, espeak-ng-data/"
      },
      {
        "title": "Audio plays as file instead of voice bubble",
        "body": "Ensure the output includes [[audio_as_voice]] tag on its own line before the MEDIA: line."
      },
      {
        "title": "Credits",
        "body": "sherpa-onnx - Offline speech processing\nPiper - Fast local TTS voices\nThorsten Voice - German voice dataset"
      }
    ],
    "body": "Voice Reply\n\nGenerate voice audio replies using local Piper TTS via sherpa-onnx. Completely offline, no cloud APIs needed.\n\nFeatures\n100% Local - No internet connection required after setup\nNo API Keys - Free to use, no accounts needed\nMulti-language - German and English voices included\nTelegram Ready - Outputs voice notes that display as bubbles\nAuto-detect Language - Automatically selects voice based on text\nPrerequisites\nsherpa-onnx runtime installed\nPiper voice models downloaded\nffmpeg for audio conversion\nInstallation\nQuick Install\ncd scripts\nsudo ./install.sh\n\nManual Installation\n1. Install sherpa-onnx\nsudo mkdir -p /opt/sherpa-onnx\ncd /opt/sherpa-onnx\ncurl -L -o sherpa.tar.bz2 \"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-linux-x64-shared.tar.bz2\"\nsudo tar -xjf sherpa.tar.bz2 --strip-components=1\nrm sherpa.tar.bz2\n\n2. Download Voice Models\nsudo mkdir -p /opt/piper-voices\ncd /opt/piper-voices\n\n# German - thorsten (medium quality, natural male voice)\ncurl -L -o thorsten.tar.bz2 \"https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-de_DE-thorsten-medium.tar.bz2\"\nsudo tar -xjf thorsten.tar.bz2 && rm thorsten.tar.bz2\n\n# English - ryan (high quality, clear US male voice)\ncurl -L -o ryan.tar.bz2 \"https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-ryan-high.tar.bz2\"\nsudo tar -xjf ryan.tar.bz2 && rm ryan.tar.bz2\n\n3. Install ffmpeg\nsudo apt install -y ffmpeg\n\n4. Set Environment Variables\n\nAdd to your OpenClaw service or shell:\n\nexport SHERPA_ONNX_DIR=\"/opt/sherpa-onnx\"\nexport PIPER_VOICES_DIR=\"/opt/piper-voices\"\n\nUsage\n{baseDir}/bin/voice-reply \"Text to speak\" [language]\n\nParameters\nParameter\tDescription\tDefault\ntext\tThe text to convert to speech\t(required)\nlanguage\tde for German, en for English\tauto-detect\nExamples\n# German (explicit)\n{baseDir}/bin/voice-reply \"Hallo, ich bin dein Assistent!\" de\n\n# English (explicit)\n{baseDir}/bin/voice-reply \"Hello, I am your assistant!\" en\n\n# Auto-detect (detects German from umlauts and common words)\n{baseDir}/bin/voice-reply \"Guten Tag, wie geht es dir?\"\n\n# Auto-detect (defaults to English)\n{baseDir}/bin/voice-reply \"The weather is nice today.\"\n\nOutput Format\n\nThe script outputs two lines that OpenClaw processes for Telegram:\n\n[[audio_as_voice]]\nMEDIA:/tmp/voice-reply-output.ogg\n\n[[audio_as_voice]] - Tag that tells Telegram to display as voice bubble\nMEDIA:path - Path to the generated OGG Opus audio file\nAvailable Voices\nLanguage\tVoice\tQuality\tDescription\nGerman (de)\tthorsten\tmedium\tNatural male voice, clear pronunciation\nEnglish (en)\tryan\thigh\tClear US male voice, professional tone\nAdding More Voices\n\nBrowse available Piper voices at:\n\nhttps://rhasspy.github.io/piper-samples/\nhttps://github.com/k2-fsa/sherpa-onnx/releases/tag/tts-models\n\nDownload and extract to $PIPER_VOICES_DIR, then modify the script to include the new voice.\n\nTroubleshooting\n\"TTS binary not found\"\n\nEnsure SHERPA_ONNX_DIR is set and contains bin/sherpa-onnx-offline-tts.\n\n\"Failed to generate audio\"\n\nCheck that voice model files exist: *.onnx, tokens.txt, espeak-ng-data/\n\nAudio plays as file instead of voice bubble\n\nEnsure the output includes [[audio_as_voice]] tag on its own line before the MEDIA: line.\n\nCredits\nsherpa-onnx - Offline speech processing\nPiper - Fast local TTS voices\nThorsten Voice - German voice dataset"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/stolot0mt0m/voice-reply",
    "publisherUrl": "https://clawhub.ai/stolot0mt0m/voice-reply",
    "owner": "stolot0mt0m",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/voice-reply",
    "downloadUrl": "https://openagent3.xyz/downloads/voice-reply",
    "agentUrl": "https://openagent3.xyz/skills/voice-reply/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voice-reply/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voice-reply/agent.md"
  }
}