Token导航 LogoToken导航

Agent Skill · 研究检索

audioclaw-skills-voice-reply(音频爪技能语音回复)

用于辅助音频、音乐、语音转写、语音合成或声音素材处理。它适合让 Agent 生成配乐说明、整理音频流程、调用语音工具或处理播客和视频配音素材。使用时需要确认输入音频来源、输出格式、时长和模型限制;涉及人声克隆、版权音乐或公开发布时,应先核对授权和合规边界。

audioclaw-skills-voice-reply 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 16,872。

总安装 6,937周安装 298GitHub Stars 公开资料未说明下载 2,432核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.1

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:audioclaw-skills-voice-reply(音频爪技能语音回复)
来源仓库:https://github.com/kikidouloveme79/audioclaw-skills-voice-reply
安装命令:
openclaw skills install audioclaw-skills-voice-reply
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install audioclaw-skills-voice-reply

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

发送带有可切换 voice_id、情绪预设或说话风格的语音回复。适用于飞书、Lark 等平台集成语音交互场景。支持运行时动态调整音色与表达风格以满足不同需求。需配置正确的 voice_id 参数与平台 API 对接。建议在使用前验证目标平台对语音格式的兼容性。

audioclaw-skills-voice-reply 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install audioclaw-skills-voice-reply;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

audioclaw-skills-voice-reply 怎么安装?

在终端执行 openclaw skills install audioclaw-skills-voice-reply。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

audioclaw-skills-voice-reply 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

audioclaw-skills-voice-reply 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

audioclaw-skills-voice-reply 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

audioclaw-skills-voice-reply 用的人多吗?

公开数据是累计安装 6,937 次,近一周安装 298 次,下载 2,432 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

audioclaw-skills-voice-reply 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
audioclaw-skills-voice-reply

音频爪技能语音回复 · 本页

6,937—接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
audioclaw-skills-voice-reply
description
Use when AudioClaw Skills, Feishu, or Lark needs to send AudioClaw voice replies with runtime-switchable voice_id, emotion preset, or speaking style, including per-message speaker overrides, voice-family emotion routing, cache reuse, and safe fallback when a requested voice is unavailable.

AudioClaw Skills Voice Reply

When to use

Use this skill when AudioClaw already has the final reply text and now needs a voice version that can change on demand.

Common triggers:

  • A chat bot should answer in different tones such as calm, warm, cheerful, serious, or promo.
  • The caller wants to switch voice_id or voice_family in a single request without editing code.
  • The same AudioClaw workflow should support both free voices and paid or custom voices.
  • The runtime should keep working even when a requested voice is not available to the current key.
  • A user has already said "以后一直给我发语音", and AudioClaw should remember that preference for future turns.
  • AudioClaw needs a workspace-local file plus a stable way to deliver it as a Feishu audio message.
  • The caller already has a cloned AudioClaw voice_id such as vc-... and wants the runtime to use it directly without falling back first.

Do not use this skill for ASR intake or long-form digest generation.

Workflow

  1. Start from the final user-facing text. Do not pass hidden reasoning or raw markdown tables.
  2. Build an AudioClaw voice request with:

- text - optional scene - optional voice_id - optional voice_family - optional emotion - optional speed, pitch, volume

  1. Run scripts/openclaw_voice_switchboard.py.

- For AudioClaw on Feishu or Lark, prefer scripts/picoclaw_voice_reply.py.

  1. Let the script resolve the request in this order:

- exact voice_id - voice_family plus matching emotion variant - scene plus emotion preset - validated fallback voice - Important: if the exact voice_id is a clone-style id such as vc-..., this skill now tries that id directly first, even if it is not part of the built-in official voice catalog.

  1. If preference_key is present, the script can remember:

- reply_mode - default voice_id - default emotion - default scene

  1. If the result should be sent through AudioClaw media upload, pass:

- --out inside the AudioClaw workspace - --openclaw-workspace-root pointing at the workspace root - --delivery-profile feishu_voice when the downstream channel prefers .ogg/.opus - optional --chmod 644 if you want to be explicit, though this skill now defaults to 0644 - if --openclaw-workspace-root is set and --out is omitted, this skill now writes to workspace/state/audio/ automatically

  1. Use the returned JSON manifest in AudioClaw to:

- prefer scripts/picoclaw_voice_reply.py for AudioClaw on Feishu - let the wrapper send the Feishu audio message directly - do not send the local path or the MEDIA:... line through the message tool - only use send_file when you intentionally opt out of direct Feishu sending - log trace_id - persist the resolved voice choice for the next turn if desired

  1. If the requested voice is not available to the current key, let the fallback stand unless the user explicitly requires strict failure.
  2. If you want AudioClaw to remember a clone voice, either:

- set it as the user's default voice with --set-default-voice-id vc-... - or register it explicitly with --register-clone-voice-id vc-...

Voice discovery

When AudioClaw needs to find a usable voice or confirm a voice_id, use this order:

  1. Check the local catalog first:

- run python3 scripts/openclaw_voice_switchboard.py --list-voices - use this for fast lookup of built-in voices, known emotion variants, and clone voices already registered locally

  1. If the user asks for the official public voice list, package availability, or a voice not found locally, check the official voice page:

- https://senseaudio.cn/docs/voice_api - page title: API 音色服务说明

  1. Prefer the official page when AudioClaw needs to confirm:

- whether a voice_id is a free, VIP, or SVIP voice - whether a named speaker has multiple emotion variants - whether the request likely needs selected-voice purchase or custom voice authorization

  1. After finding a likely voice_id, still let the runtime validate access at synthesis time, because account permissions can differ by key.

Practical rule:

  • Local --list-voices is the first-stop runtime catalog.
  • https://senseaudio.cn/docs/voice_api is the canonical fallback reference for official voice names, voice_id, and package tier notes.

AudioClaw rule

When this skill is used inside AudioClaw for Feishu or Lark voice replies:

  1. Run scripts/picoclaw_voice_reply.py.
  2. Let the wrapper upload the generated .ogg/.opus file to Feishu and send it as msg_type=audio.
  3. Do not call the send_file tool for that audio unless you explicitly passed --skip-direct-send.
  4. Do not call the message tool with the local path or the MEDIA:... reference. AudioClaw will send them as plain text.
  5. After the audio is sent, prefer no extra text confirmation.
  6. If the host runtime still requires one final assistant message to finish the turn, send one short natural Chinese line such as 我已经用语音回复你了。 instead of leaving the turn empty.
  7. Use media_reference only as debug metadata or future AudioClaw compatibility data.

This rule matters because this AudioClaw environment does not render MEDIA:... as media, and the generic send_file tool sends Feishu voice notes as plain files instead of audio messages. The reliable path here is direct Feishu upload plus msg_type=audio.

Runtime model

The official public TTS API exposes:

  • voice_setting.voice_id
  • voice_setting.speed
  • voice_setting.vol
  • voice_setting.pitch
  • audio_setting.format
  • audio_setting.sample_rate
  • one HTTP endpoint with two modes:

- non-stream with stream=false - SSE with stream=true

Important constraint:

  • The public TTS API docs do not expose a standalone emotion request field.
  • Emotion switching is therefore handled by choosing a matching voice_id when one exists, or by keeping the voice and shaping speed / pitch / vol.
  • This skill requests final-file TTS in non-stream mode by default, because AudioClaw only needs the completed file and this avoids stream assembly edge cases.
  • For this server-side HTTP TTS path, the official docs still use Authorization: Bearer API_KEY. The generated Public Key is not required by this skill.
  • If the requested voice_id looks like a clone id such as vc-..., this skill now auto-routes TTS to SenseAudio-TTS-1.5 and records audio.model_used in the manifest.

API key lookup

This skill now treats SENSEAUDIO_API_KEY as the default API key source again.

Runtime rules:

  • If the host app injects SENSEAUDIO_API_KEY as an AudioClaw login token such as v2.public..., the shared bootstrap will replace it with the real sk-... value from ~/.audioclaw/workspace/state/senseaudio_credentials.json before TTS starts.
  • --api-key-env still works, but the default runtime path is SENSEAUDIO_API_KEY.

If you need the exact same speaker timbre across many emotions, use a purchased multi-variant voice family or an authorized custom voice. Otherwise this skill will approximate the requested emotion with the best available voice and tuning.

Request contract

Minimal JSON request:

{
  "text": "我们已经收到你的需求,今天下午会把结果发给你。",
  "scene": "assistant",
  "emotion": "calm"
}

Full request:

{
  "text": "新品今晚八点开售,现在下单还有首发赠品。",
  "scene": "sales",
  "voice_id": "male_0027_b",
  "voice_family": "male_0027",
  "emotion": "promo",
  "speed": 1.08,
  "pitch": 1,
  "volume": 1.05,
  "audio_format": "mp3",
  "sample_rate": 32000,
  "preference_key": "feishu:ou_xxx",
  "reply_mode": "voice",
  "allow_fallback": true,
  "strict_voice": false,
  "cache_dir": "/tmp/openclaw-voice-cache"
}

Clone voice example:

{
  "text": "这是你的克隆音色回复测试。",
  "voice_id": "vc-yxdCFUKyNLPexxJ66jaXWk",
  "emotion": "calm",
  "allow_fallback": false,
  "strict_voice": true
}

Supported emotion presets:

  • neutral
  • calm
  • warm
  • cheerful
  • serious
  • promo
  • sad
  • angry
  • analytical

Supported scene hints:

  • assistant
  • customer_support
  • briefing
  • sales
  • marketing
  • narration
  • education
  • gaming
  • warning

AudioClaw integration pattern

Recommended handoff:

  1. AudioClaw generates final reply text.
  2. AudioClaw decides whether this turn should speak and what mood it wants.
  3. AudioClaw calls scripts/openclaw_voice_switchboard.py with a request JSON.
  4. The script returns a manifest with:

- requested voice - resolved voice - emotion strategy - effective speed / pitch / volume - delivery profile and file mode - local audio path - AudioClaw-friendly media reference when the output is under a workspace root - trace_id

  1. AudioClaw uploads the resulting file to Feishu or any downstream channel, or lets the AudioClaw wrapper do that directly for Feishu.

Operational rules:

  • Cache by resolved voice plus text plus audio settings.
  • If a paid voice is unavailable, allow fallback unless the request is marked strict.
  • Always log the resolved voice and trace_id.
  • Force generated audio files to mode 0644 so the AudioClaw sender can read them reliably.
  • When --openclaw-workspace-root is set and --out stays inside that root, expose delivery.openclaw_media_reference.
  • When --delivery-profile feishu_voice is enabled, synthesize with AudioClaw first and then transcode to ogg/opus with system ffmpeg or imageio-ffmpeg.
  • This publishable skill intentionally does not bundle ffmpeg. Install ffmpeg or run python3 -m pip install imageio-ffmpeg on the target machine.
  • Avoid ad-hoc temp filenames under the workspace root. Prefer workspace/state/audio/, which this skill will now use automatically when --openclaw-workspace-root is given without --out.
  • For AudioClaw on Feishu, scripts/picoclaw_voice_reply.py now uses the local Feishu app credentials from ~/.audioclaw/config.json, uploads the audio through the official /open-apis/im/v1/files endpoint, and sends it as msg_type=audio.
  • The wrapper infers the active Feishu chat_id from the latest agent_main_feishu_direct_*.jsonl session log unless you pass --chat-id explicitly.

Commands

List voices:

python3 scripts/openclaw_voice_switchboard.py --list-voices

Check the official voice catalog page:

https://senseaudio.cn/docs/voice_api

List emotion presets:

python3 scripts/openclaw_voice_switchboard.py --list-emotions

Enable permanent voice reply for one user:

python3 scripts/openclaw_voice_switchboard.py \
  --preference-key "feishu:ou_xxx" \
  --set-reply-mode voice \
  --set-default-voice-id male_0004_a \
  --set-default-emotion calm \
  --set-default-scene assistant

Enable permanent cloned-voice reply for one user:

python3 scripts/openclaw_voice_switchboard.py \
  --preference-key "feishu:ou_xxx" \
  --set-reply-mode voice \
  --set-default-voice-id vc-yxdCFUKyNLPexxJ66jaXWk \
  --set-default-emotion calm \
  --set-default-scene assistant

Register a prepared clone voice so the runtime can list and reuse it:

python3 scripts/openclaw_voice_switchboard.py \
  --register-clone-voice-id vc-yxdCFUKyNLPexxJ66jaXWk \
  --register-clone-name "我的克隆音色"

Show registered clone voices:

python3 scripts/openclaw_voice_switchboard.py --show-clone-voices

Show current voice preference:

python3 scripts/openclaw_voice_switchboard.py \
  --preference-key "feishu:ou_xxx" \
  --show-preference

Generate one AudioClaw turn from a JSON request:

python3 scripts/openclaw_voice_switchboard.py \
  --request-file /path/to/request.json \
  --out /tmp/openclaw_reply.mp3

Direct CLI example:

python3 scripts/openclaw_voice_switchboard.py \
  --text "我们已经处理好了,稍后把结果发给你。" \
  --scene assistant \
  --emotion warm \
  --preference-key "feishu:ou_xxx" \
  --delivery-profile feishu_voice \
  --openclaw-workspace-root ~/.audioclaw/workspace \
  --out ~/.audioclaw/workspace/audioclaw_warm.ogg

AudioClaw Feishu one-step example:

python3 scripts/picoclaw_voice_reply.py \
  --text "这是一次可以直接发给飞书的语音回复。" \
  --scene assistant \
  --emotion calm \
  --workspace-root ~/.audioclaw/workspace

Only generate, do not send:

python3 scripts/picoclaw_voice_reply.py \
  --text "这是一次只生成不直发的测试语音。" \
  --scene assistant \
  --emotion calm \
  --workspace-root ~/.audioclaw/workspace \
  --skip-direct-send

Resources

  • scripts/senseaudio_tts_client.py

- Small importable client for https://api.senseaudio.cn/v1/t2a_v2 - Handles SSE chunks and writes audio bytes

  • references/openclaw_voice_switchboard.md

- TTS capability summary plus the official voice catalog reference at https://senseaudio.cn/docs/voice_api

  • scripts/openclaw_voice_switchboard.py

- Main runtime for AudioClaw - Resolves voice, emotion, fallback, caching, and output manifest

  • scripts/picoclaw_voice_reply.py

- AudioClaw-first wrapper - Generates audio and, by default, sends it to Feishu as a real audio message

  • scripts/feishu_audio_sender.py

- Direct Feishu sender for .ogg/.opus - Uses ~/.audioclaw/config.json app credentials by default, infers the active chat, uploads the file, and sends msg_type=audio

  • references/openclaw_voice_switchboard.md

- Official docs summary, request examples, and AudioClaw capability boundaries

平台分布

OpenClaw

93.01%
按下载量换算2,262

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills