← Back to Skills Marketplace
zhaov1976

Voice (Edge TTS)

by zhaov · GitHub ↗ · v1.10.0
cross-platform ⚠ suspicious
922
Downloads
2
Stars
5
Active Installs
2
Versions
Install in OpenClaw
/install voice-edge-tts
Description
Convert text to speech using Microsoft Edge TTS with real-time streaming, customizable voice settings, and support for multiple languages including Chinese a...
Usage Guidance
This skill appears to be a legitimate Edge TTS tool but the implementation contradicts its security claims. Before installing or enabling it: 1) Do not run it in a sensitive environment until code is audited. 2) Fix the command-execution issues: replace execAsync(string) with spawn/execFile and consistently apply the voice whitelist for all actions. 3) Sanitize and/or restrict inputs used in any command or PowerShell -c invocation (the 'play' action accepts an arbitrary filePath). 4) Remove or correct the hardcoded ffplay path in stream_speak.py and ensure ffmpeg/ffplay usage is documented and optional. 5) Prefer pre-installing Python deps (pip install edge-tts) in a controlled environment rather than allowing runtime pip installs, and verify the source of any npm/pip packages (the package-lock references a non-default mirror). If you are not comfortable reviewing or changing code, avoid installing this skill or run it in an isolated sandbox.
Capability Analysis
Type: OpenClaw Skill Name: voice-edge-tts Version: 1.10.0 The `index.js` file contains a shell injection vulnerability in the `textToSpeech` function, which is used by the 'tts' and 'speak' actions. Parameters like `voice`, `rate`, `volume`, and `pitch` are concatenated directly into a command string executed via `util.promisify(exec)` without sufficient sanitization or validation, despite the `SKILL.md` and `CHANGELOG.md` explicitly claiming 'enterprise-grade security' and 'full command injection protection'. This allows for potential arbitrary command execution if an attacker can control these input options. While the 'stream' action is implemented securely using `spawn` with array arguments and input validation, the inconsistency and critical flaw in other core functionalities make this skill suspicious due to the severe vulnerability.
Capability Assessment
Purpose & Capability
The skill's files and docs align with a Microsoft Edge TTS streaming tool (requires edge-tts and ffmpeg). However, package.json/lock also list an npm 'edge-tts' dependency while the implementation calls the Python CLI (pip edge-tts). This mismatch is odd but plausibly a packaging oversight rather than malicious.
Instruction Scope
SKILL.md repeatedly asserts 'no shell execution' and a strict voice whitelist, but the code contradicts this: index.js builds and runs a concatenated command string via execAsync for general TTS and for installation, and does not apply the voice whitelist for the 'tts' action (whitelist only enforced for 'stream'). The 'play' action calls PowerShell -c with an interpolated file path string, which can be abused if a user-controlled filePath is provided. These inconsistencies increase the chance of command injection or unexpected execution.
Install Mechanism
There is no platform install spec, but the skill contains an installDependencies method that runs 'pip3 install edge-tts' at runtime (network fetch). package-lock.json shows an npm package resolved from a non-default mirror. Runtime installation and mixed packaging (Python CLI expected + npm dependency present) are moderate risk and should be reviewed.
Credentials
The skill requests no environment variables or credentials, which is proportional to a local TTS/playback tool. There are no declared secrets, though runtime pip/network access will occur if install is invoked.
Persistence & Privilege
The skill is not 'always: true' and does not request elevated platform persistence. It does create and clean a local temp directory under a relative path, which is expected behavior for temporary audio files.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install voice-edge-tts
  3. After installation, invoke the skill by name or use /voice-edge-tts
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.10.0
v1.10: Enterprise-grade security with command injection protection
v1.1.0
v1.1.0: Add streaming playback, fix command injection
Metadata
Slug voice-edge-tts
Version 1.10.0
License
All-time Installs 5
Active Installs 5
Total Versions 2
Frequently Asked Questions

What is Voice (Edge TTS)?

Convert text to speech using Microsoft Edge TTS with real-time streaming, customizable voice settings, and support for multiple languages including Chinese a... It is an AI Agent Skill for Claude Code / OpenClaw, with 922 downloads so far.

How do I install Voice (Edge TTS)?

Run "/install voice-edge-tts" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Voice (Edge TTS) free?

Yes, Voice (Edge TTS) is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Voice (Edge TTS) support?

Voice (Edge TTS) is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Voice (Edge TTS)?

It is built and maintained by zhaov (@zhaov1976); the current version is v1.10.0.

💬 Comments