← 返回 Skills 市场
photon78

claw-voice-local

作者 photon78 · GitHub ↗ · v1.0.3 · MIT-0
cross-platform ⚠ suspicious
96
总下载
0
收藏
0
当前安装
4
版本数
在 OpenClaw 中安装
/install claw-voice-local
功能描述
Convert text to offline Telegram voice messages using piper TTS. Use when the agent should speak a response, send audio, or deliver voice notes via Telegram...
使用说明 (SKILL.md)

claw-voice-local

Local offline TTS → Telegram Voice Note

Convert any text to a Telegram voice message using piper TTS — fully offline, no cloud API required. Runs on Linux (including Raspberry Pi / ARM64).

When to use

  • Send spoken responses instead of text messages
  • Read out summaries, alerts, or reports
  • Any task where audio feedback is more natural than text

Usage

python3 say.py "Your agent is ready."
python3 say.py "Good morning!" --chat-id 123456789
echo "Task complete." | python3 say.py

Configuration

Set these environment variables (or add to ~/.openclaw/.env):

Variable Required Description
TELEGRAM_BOT_TOKEN Yes Your Telegram bot token
TELEGRAM_CHAT_ID Optional Default chat ID (can be passed as --chat-id)

Environment Variables

TELEGRAM_BOT_TOKEN=required   # Telegram bot token — get one from @BotFather
TELEGRAM_CHAT_ID=optional     # Default target chat ID

Config File

This skill reads ~/.openclaw/.env as a fallback for credentials. Ensure the file has restricted permissions: chmod 600 ~/.openclaw/.env

Installation

See README.md for step-by-step piper installation.

Files

File Description
say.py Main entry point: text → Telegram voice note
speak.py Core TTS: text → OGG Opus via piper + ffmpeg
send_voice.py Telegram sender: OGG → voice message (no dependencies)

Requirements

  • Python 3.11+
  • piper binary (see README)
  • ffmpeg
  • A piper voice model (.onnx)
  • Telegram bot token
安全使用建议
This skill's code appears to implement exactly what it claims: convert text to OGG with local piper + ffmpeg and send a Telegram voice note. However, the skill metadata omitted required credentials and config paths that the code and SKILL.md reference. Before installing or running: - Verify TELEGRAM_BOT_TOKEN is provided and store it securely (use a dedicated bot token and not a highly privileged account). - Ensure the fallback file ~/.openclaw/.env is intentionally used and has restrictive permissions (chmod 600) — review its contents before use. - Confirm you trust the recommended piper and model download sources (GitHub releases and HuggingFace). Download releases directly from the official project pages; verify checksums if available. - Consider creating a dedicated Telegram chat/bot for the skill and limit TELEGRAM_CHAT_ID to the intended recipient. - Because registry metadata omits required env vars, prefer running the scripts manually first (not as an unattended/service skill) and inspect behavior. If you plan to enable it for automatic agent use, add explicit exec allowlist entries and ensure your agent's environment only exposes the minimal required variables. Given the metadata/code mismatch, treat the package as 'suspicious' until the author corrects the declared requirements or you verify them yourself.
功能分析
Type: OpenClaw Skill Name: claw-voice-local Version: 1.0.3 The skill provides a legitimate utility for converting text to Telegram voice notes using the Piper TTS engine and ffmpeg. The implementation uses safe subprocess handling (list-based arguments) to prevent shell injection and manages sensitive credentials like the Telegram bot token via environment variables. No indicators of data exfiltration, unauthorized network calls, or malicious instructions were found in the code (say.py, speak.py, send_voice.py) or documentation (SKILL.md, README.md).
能力评估
Purpose & Capability
The scripts (say.py, speak.py, send_voice.py) implement exactly the advertised flow: local piper TTS + ffmpeg → OGG → send to Telegram Bot API. However the registry metadata lists no required environment variables or config paths, while SKILL.md and the code require TELEGRAM_BOT_TOKEN (required), optional TELEGRAM_CHAT_ID, and read a fallback ~/.openclaw/.env. The code also expects a piper binary (~/.local/bin/piper), voice model files (~/.local/share/piper/*.onnx), and ffmpeg — these are all consistent with the stated purpose but the missing declarations in the registry are an inconsistency.
Instruction Scope
Runtime instructions and code stay within scope: they run piper and ffmpeg locally, create temporary WAV/OGG files, and POST the resulting OGG to Telegram's API (api.telegram.org). The skill reads environment variables and a fallback config file (~/.openclaw/.env) for credentials — this is expected for a bot-integrated tool but worth noting since credential files are accessed. No other network endpoints or unexpected data-collection steps are present.
Install Mechanism
There is no automated install spec in the package. README instructs manual downloads from GitHub Releases (piper) and HuggingFace (voice models) and installation of ffmpeg via apt — these are known sources and align with the toolchain. No obscure or shortener URLs, and no opaque archive downloads from personal servers are present.
Credentials
The runtime requires a Telegram bot token (TELEGRAM_BOT_TOKEN) and optionally TELEGRAM_CHAT_ID; these are minimal and appropriate for the task. But the skill registry lists no required environment variables/config paths even though SKILL.md and code use them and read ~/.openclaw/.env as a fallback. That mismatch is material because users might not realize secrets are needed or where they are stored. The credential scope itself is proportional (only the Telegram bot token), but the missing metadata is a red flag.
Persistence & Privilege
The skill does not request 'always: true' or attempt to modify other skills or global agent settings. It runs on demand and uses local files in the user's home directory; it does not create long-lived background services or escalate privileges. It does read/write temporary files and may read ~/.openclaw/.env for credentials, which is normal for a user-space utility.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install claw-voice-local
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /claw-voice-local 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.3
- No changes detected in this version. - The SKILL.md and source files remain identical to the previous release.
v1.0.2
No code changes; metadata updated for clarity and completeness. - Added a front-matter block with name, description, license, compatibility, and metadata fields. - Clearly listed author, version, required/optional environment variables, and config file location in the metadata. - No changes to functionality or usage.
v1.0.1
Initial release of claw-voice-local. - Added local, offline text-to-speech to Telegram voice message skill using piper TTS and ffmpeg. - No cloud APIs required; runs fully offline on Linux (including Raspberry Pi/ARM64). - Supports sending voice notes to Telegram chats through a bot. - Environment variable/config file instructions and security note for handling credentials. - Includes entry points for TTS and Telegram integration via Python scripts.
v1.0.0
Initial release of local text-to-speech to Telegram voice note skill. - Converts text to voice messages using piper TTS, fully offline - Sends the generated audio as Telegram voice notes - Linux supported (incl. Raspberry Pi / ARM64) - Simple CLI interface; accepts input via arguments or stdin - Requires Python 3.11+, piper, ffmpeg, and a Telegram bot token
元数据
Slug claw-voice-local
版本 1.0.3
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 4
常见问题

claw-voice-local 是什么?

Convert text to offline Telegram voice messages using piper TTS. Use when the agent should speak a response, send audio, or deliver voice notes via Telegram... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 96 次。

如何安装 claw-voice-local?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install claw-voice-local」即可一键安装,无需额外配置。

claw-voice-local 是免费的吗?

是的,claw-voice-local 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

claw-voice-local 支持哪些平台?

claw-voice-local 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 claw-voice-local?

由 photon78(@photon78)开发并维护,当前版本 v1.0.3。

💬 留言讨论