{
  "schemaVersion": "1.0",
  "item": {
    "slug": "faster-whisper-local-service",
    "name": "Faster Whisper Local Service",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/neldar/faster-whisper-local-service",
    "canonicalUrl": "https://clawhub.ai/neldar/faster-whisper-local-service",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/faster-whisper-local-service",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=faster-whisper-local-service",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/troubleshooting.md",
      "scripts/deploy.sh",
      "scripts/status.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",
      "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/faster-whisper-local-service"
    },
    "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/faster-whisper-local-service",
    "agentPageUrl": "https://openagent3.xyz/skills/faster-whisper-local-service/agent",
    "manifestUrl": "https://openagent3.xyz/skills/faster-whisper-local-service/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/faster-whisper-local-service/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": "Faster Whisper Local Service",
        "body": "Provision a local STT backend used by voice skills."
      },
      {
        "title": "What this sets up",
        "body": "Python venv for faster-whisper\ntranscribe-server.py HTTP endpoint at http://127.0.0.1:18790/transcribe\nsystemd user service: openclaw-transcribe.service"
      },
      {
        "title": "Important: Model download on first run",
        "body": "On first startup, faster-whisper downloads model weights from Hugging Face (~1.5 GB for medium). This requires internet access and disk space. After the initial download, models are cached locally and the service runs fully offline.\n\nModelDownload sizeRAM usagetiny~75 MB~400 MBbase~150 MB~500 MBsmall~500 MB~800 MBmedium~1.5 GB~1.4 GBlarge-v3~3.0 GB~3.5 GB\n\nTo pre-download models in an air-gapped environment, see faster-whisper docs."
      },
      {
        "title": "Network isolation",
        "body": "Binds to 127.0.0.1 only — not reachable from the network.\nCORS restricted to a single origin (https://127.0.0.1:8443 by default).\nNo credentials, API keys, or secrets are used or stored."
      },
      {
        "title": "Input validation",
        "body": "Upload size limit: Requests exceeding the configured limit are rejected before processing (HTTP 413). Default: 50 MB, configurable via MAX_UPLOAD_MB.\nMagic-byte check: Only files with recognized audio signatures (WAV, OGG, FLAC, MP3, WebM, M4A) are accepted. Unrecognized formats are rejected (HTTP 415) before reaching GStreamer.\nSubprocess safety: All arguments to gst-launch-1.0 are passed as a list — no shell expansion or injection is possible."
      },
      {
        "title": "GStreamer dependency",
        "body": "The service uses GStreamer's decodebin for audio format conversion. Like any media library, GStreamer's parsers process binary data and should be kept up to date. Mitigation: install gst-launch-1.0 from your OS vendor's trusted packages and apply security updates regularly. The magic-byte pre-filter above reduces the attack surface by rejecting non-audio payloads before they reach GStreamer."
      },
      {
        "title": "No data exfiltration",
        "body": "No outbound network calls (after initial model download).\nNo telemetry, analytics, or phone-home behavior.\nTemporary files are created in a per-request TemporaryDirectory and cleaned up immediately."
      },
      {
        "title": "Reproducibility defaults",
        "body": "Pinned package: faster-whisper==1.1.1 (override via env)\nExplicit dependency check for gst-launch-1.0\nCORS restricted to one origin by default\nConfigurable workspace/service paths (no hardcoded user path)"
      },
      {
        "title": "Deploy",
        "body": "bash scripts/deploy.sh\n\nWith custom settings:\n\nWORKSPACE=~/.openclaw/workspace \\\nTRANSCRIBE_PORT=18790 \\\nWHISPER_MODEL_SIZE=medium \\\nWHISPER_LANGUAGE=auto \\\nTRANSCRIBE_ALLOWED_ORIGIN=https://10.0.0.42:8443 \\\nbash scripts/deploy.sh"
      },
      {
        "title": "Language setting",
        "body": "Default: auto (auto-detect language). Set WHISPER_LANGUAGE=de for German-only, en for English-only, etc. Fixed language is faster and more accurate if you only use one language.\n\nIdempotent: safe to run repeatedly."
      },
      {
        "title": "What this skill modifies",
        "body": "WhatPathActionPython venv$WORKSPACE/.venv-faster-whisper/Creates venv, installs faster-whisper via pipTranscribe server$WORKSPACE/voice-input/transcribe-server.pyWrites server scriptSystemd service~/.config/systemd/user/openclaw-transcribe.serviceCreates + enables persistent serviceModel cache~/.cache/huggingface/Downloads model weights on first run"
      },
      {
        "title": "Uninstall",
        "body": "systemctl --user stop openclaw-transcribe.service\nsystemctl --user disable openclaw-transcribe.service\nrm -f ~/.config/systemd/user/openclaw-transcribe.service\nsystemctl --user daemon-reload\n\nOptional full cleanup:\n\nrm -rf ~/.openclaw/workspace/.venv-faster-whisper\nrm -f ~/.openclaw/workspace/voice-input/transcribe-server.py"
      },
      {
        "title": "Verify",
        "body": "bash scripts/status.sh\n\nExpected:\n\nservice active\nendpoint responds (HTTP 200/500 acceptable for invalid sample payload)"
      },
      {
        "title": "Notes",
        "body": "This skill provides backend transcription only.\nPair with webchat-voice-proxy for browser mic + HTTPS/WSS integration.\nFor one-step install, use webchat-voice-full-stack (deploys backend + proxy in order)."
      }
    ],
    "body": "Faster Whisper Local Service\n\nProvision a local STT backend used by voice skills.\n\nWhat this sets up\nPython venv for faster-whisper\ntranscribe-server.py HTTP endpoint at http://127.0.0.1:18790/transcribe\nsystemd user service: openclaw-transcribe.service\nImportant: Model download on first run\n\nOn first startup, faster-whisper downloads model weights from Hugging Face (~1.5 GB for medium). This requires internet access and disk space. After the initial download, models are cached locally and the service runs fully offline.\n\nModel\tDownload size\tRAM usage\ntiny\t~75 MB\t~400 MB\nbase\t~150 MB\t~500 MB\nsmall\t~500 MB\t~800 MB\nmedium\t~1.5 GB\t~1.4 GB\nlarge-v3\t~3.0 GB\t~3.5 GB\n\nTo pre-download models in an air-gapped environment, see faster-whisper docs.\n\nSecurity notes\nNetwork isolation\nBinds to 127.0.0.1 only — not reachable from the network.\nCORS restricted to a single origin (https://127.0.0.1:8443 by default).\nNo credentials, API keys, or secrets are used or stored.\nInput validation\nUpload size limit: Requests exceeding the configured limit are rejected before processing (HTTP 413). Default: 50 MB, configurable via MAX_UPLOAD_MB.\nMagic-byte check: Only files with recognized audio signatures (WAV, OGG, FLAC, MP3, WebM, M4A) are accepted. Unrecognized formats are rejected (HTTP 415) before reaching GStreamer.\nSubprocess safety: All arguments to gst-launch-1.0 are passed as a list — no shell expansion or injection is possible.\nGStreamer dependency\n\nThe service uses GStreamer's decodebin for audio format conversion. Like any media library, GStreamer's parsers process binary data and should be kept up to date. Mitigation: install gst-launch-1.0 from your OS vendor's trusted packages and apply security updates regularly. The magic-byte pre-filter above reduces the attack surface by rejecting non-audio payloads before they reach GStreamer.\n\nNo data exfiltration\nNo outbound network calls (after initial model download).\nNo telemetry, analytics, or phone-home behavior.\nTemporary files are created in a per-request TemporaryDirectory and cleaned up immediately.\nReproducibility defaults\nPinned package: faster-whisper==1.1.1 (override via env)\nExplicit dependency check for gst-launch-1.0\nCORS restricted to one origin by default\nConfigurable workspace/service paths (no hardcoded user path)\nDeploy\nbash scripts/deploy.sh\n\n\nWith custom settings:\n\nWORKSPACE=~/.openclaw/workspace \\\nTRANSCRIBE_PORT=18790 \\\nWHISPER_MODEL_SIZE=medium \\\nWHISPER_LANGUAGE=auto \\\nTRANSCRIBE_ALLOWED_ORIGIN=https://10.0.0.42:8443 \\\nbash scripts/deploy.sh\n\nLanguage setting\n\nDefault: auto (auto-detect language). Set WHISPER_LANGUAGE=de for German-only, en for English-only, etc. Fixed language is faster and more accurate if you only use one language.\n\nIdempotent: safe to run repeatedly.\n\nWhat this skill modifies\nWhat\tPath\tAction\nPython venv\t$WORKSPACE/.venv-faster-whisper/\tCreates venv, installs faster-whisper via pip\nTranscribe server\t$WORKSPACE/voice-input/transcribe-server.py\tWrites server script\nSystemd service\t~/.config/systemd/user/openclaw-transcribe.service\tCreates + enables persistent service\nModel cache\t~/.cache/huggingface/\tDownloads model weights on first run\nUninstall\nsystemctl --user stop openclaw-transcribe.service\nsystemctl --user disable openclaw-transcribe.service\nrm -f ~/.config/systemd/user/openclaw-transcribe.service\nsystemctl --user daemon-reload\n\n\nOptional full cleanup:\n\nrm -rf ~/.openclaw/workspace/.venv-faster-whisper\nrm -f ~/.openclaw/workspace/voice-input/transcribe-server.py\n\nVerify\nbash scripts/status.sh\n\n\nExpected:\n\nservice active\nendpoint responds (HTTP 200/500 acceptable for invalid sample payload)\nNotes\nThis skill provides backend transcription only.\nPair with webchat-voice-proxy for browser mic + HTTPS/WSS integration.\nFor one-step install, use webchat-voice-full-stack (deploys backend + proxy in order)."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/neldar/faster-whisper-local-service",
    "publisherUrl": "https://clawhub.ai/neldar/faster-whisper-local-service",
    "owner": "neldar",
    "version": "0.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/faster-whisper-local-service",
    "downloadUrl": "https://openagent3.xyz/downloads/faster-whisper-local-service",
    "agentUrl": "https://openagent3.xyz/skills/faster-whisper-local-service/agent",
    "manifestUrl": "https://openagent3.xyz/skills/faster-whisper-local-service/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/faster-whisper-local-service/agent.md"
  }
}