OpenClaw voice control 控制

SKILL开发

原名 openclaw-voice-control

开发 执行命令 许可证明确 OpenClaw
安装这个技能

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

累计安装 9,295 本周 376
GitHub 星标 未标注 仓库 openclaw-voice-control
下载量 2,918 技能市场下载数
权限级别 执行命令 安装前请确认风险范围
许可证 许可证明确 MIT-0

安装

ClawHub 市场
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
openclaw skills install openclaw-voice-control

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方carrotyuan仓库 openclaw-voice-control · 版本 0.1.9
宿主客户端OpenClaw技能可被这些客户端加载
安装方式ClawHub 市场安装包 carrotyuan/openclaw-voice-control
权限级别执行命令安装前请确认风险范围
许可证MIT-0许可证明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-05-01上游最后核验时间 · 数据更新 未标注
正文体量11.8 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

5 项能力
上游给出的能力概览与适用场景
  • 按任务关键词查找相关 Skills
  • 展示可复制的安装命令
  • 保留来源站点、仓库和原始说明,方便继续核验
  • 补充不同宿主或平台的使用分布数据
  • 展示第三方安全扫描或审计结果
OpenClaw 用户查找和安装 Skill 时用户想查找某类 Agent Skill 时需要根据任务场景推荐可安装能力包时需要对比不同来源的安装命令和来源信息时

权限与风险

执行命令
装之前先读完这段

安装与使用指南

安装步骤

本站只展示命令,不托管安装包,也不自动执行。

怎么用

安装后应在对应宿主中按原始 README 的触发条件使用;当前草稿只做目录说明,具体调用方式由规则抽取,异常条目再复核。

SKILL.md 全文

11.8 KB
模型实际读到的说明书原文,来自技能仓库

OpenClaw Voice Control

OpenClaw Voice Control is a local macOS voice-control integration for OpenClaw.

Repository source:

It provides:

  • wakeword activation
  • local microphone capture
  • local ASR with FunASR / SenseVoice
  • forwarding recognized text to a local OpenClaw agent
  • macOS TTS playback
  • optional overlay UI
  • launchd-based background resident behavior
  • auto-start after user login

Platform

  • macOS only

Safety Warning

This skill adds a voice entrypoint, and that entrypoint is not identity-bound.

That means:

  • anyone near the microphone may be able to trigger it
  • any capability exposed through the connected OpenClaw agent may become reachable by voice

Recommended safety practice:

  • add explicit safety constraints to the connected agent prompt
  • require confirmation for high-risk actions
  • avoid broad autonomous permissions for the voice-facing agent
  • use least privilege for tools and connected systems

Main Path

Treat this as a local deployment skill, not as a prompt-only helper.

When this skill is installed into OpenClaw:

  • work inside the current installed skill directory for the current conversation agent
  • use the declared GitHub repository as the source of truth
  • do not silently switch to another local clone or an already-prepared environment
  • do not continue until the workspace contains the real repository files, not just SKILL.md

The main installation guide is the repository README.md.
README.zh-CN.md is the Chinese companion guide.

Use this as the standard install path:

  1. sync the full repository into the current installed skill workspace
  2. create and activate .venv
  3. run pip install -e .
  4. download or populate the SenseVoice model directory
  5. download or populate the VAD model directory
  6. copy .env.example to .env
  7. fill the required values in .env
  8. use the default openWakeWord route
  9. run direct-run validation with both the voice service and overlay process
  10. ask whether the user wants background resident behavior and auto-start
  11. if yes, run ./scripts/deploy_macos.sh
  12. if no, stop after direct-run validation

Before running any system-changing step in that path, explicitly tell the user
what you are about to do and get confirmation for:

  • fetching and checking out the repository into the skill workspace
  • running pip install -e . from the repository
  • downloading large local models or wakeword assets
  • enabling background resident behavior or launchd auto-start

Minimum command path:

# from the current conversation agent's installed skill directory
git init
git remote add origin https://github.com/CarrotYuan/openclaw-voice-control.git
git fetch --depth 1 origin main
git checkout -B main FETCH_HEAD
# do not continue until the workspace contains scripts/, src/, config/,
# launchagents/, and README.md
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
./.venv/bin/modelscope download --model iic/SenseVoiceSmall --local_dir models/SenseVoiceSmall
./.venv/bin/python - <<'PY'
from funasr import AutoModel
AutoModel(model='fsmn-vad', disable_update=True)
PY
cp .env.example .env
# terminal 1, from the current installed skill workspace
python -m openclaw_voice_control --config config/default.yaml --env-file .env
# terminal 2, from the same workspace
python -m openclaw_voice_control.overlay_app --config config/default.yaml --env-file .env

Direct-run validation is not complete unless both commands above are running at
the same time from the same installed skill workspace.

Before any next step after direct-run validation, stop that test
first.

This includes:

  • background resident deployment
  • auto-start validation
  • starting another direct-run test

If an old direct-run service and overlay are left running, two active voice
runtimes can respond to the same wakeword and produce duplicate replies.

What Must Exist Before Setup

Before setup begins, make sure these prerequisites exist or can be provided:

  • Python 3.11 or newer
  • a running local OpenClaw service
  • OPENCLAW_TOKEN
  • macOS microphone permission
  • a way to download the local SenseVoice and VAD model directories

For the default route, the remaining setup can usually be handled by the AI or
operator:

  • copy .env.example to .env
  • download the SenseVoice model directory
  • download or populate the VAD model directory
  • let openWakeWord download the selected pretrained wakeword model on first run

Recommended Defaults

The default public route is:

  • WAKEWORD_PROVIDER=openwakeword
  • OPENWAKEWORD_MODEL_NAME=hey jarvis
  • OPENCLAW_AGENT_ID=main
  • OPENCLAW_MODEL=openclaw:main
  • OPENCLAW_USER=openclaw-voice-control

Prefer that route unless the user explicitly asks for something else.

Default Route Variables

These are the main values for the default route:

  • required in .env
  • OPENCLAW_BASE_URL
  • OPENCLAW_TOKEN
  • SENSEVOICE_MODEL_PATH
  • SENSEVOICE_VAD_MODEL_PATH
  • usually left at their documented defaults unless the user wants customization
  • WAKEWORD_PROVIDER=openwakeword
  • OPENWAKEWORD_MODEL_NAME=hey jarvis
  • OPENCLAW_AGENT_ID=main
  • OPENCLAW_MODEL=openclaw:main
  • OPENCLAW_USER=openclaw-voice-control

If the user changes the macOS TTS voice, first make sure that voice has been
downloaded in:

  • System Settings
  • Accessibility
  • Spoken Content
  • the i button next to System Voice
  • Language
  • Voice

Optional Porcupine Route

Picovoice / Porcupine is an optional fallback route, not the default path.

Only switch to it when the user explicitly wants to use a local .ppn wakeword
model.

If that route is chosen, set:

  • WAKEWORD_PROVIDER=porcupine
  • PICOVOICE_ACCESS_KEY
  • WAKEWORD_FILE

Only ask for those Porcupine-specific values when the user explicitly chooses
that route.

Switching openWakeWord Models

To switch the default openWakeWord wakeword, change:

  • OPENWAKEWORD_MODEL_NAME

Common official pretrained examples include:

  • hey jarvis
  • hey mycroft
  • hey rhasspy
  • alexa

Those pretrained wakeword models are downloaded automatically on first use.

The code path already supports changing OPENWAKEWORD_MODEL_NAME, but only the
default hey jarvis route has been smoke-tested in this repository so far.

Execution Rules

When using this skill, follow these rules:

  1. Use the declared GitHub repository first.
    - Start from https://github.com/CarrotYuan/openclaw-voice-control.git
    - Do not substitute another repository just because it looks similar.

  2. Keep deployment work in the current installed skill workspace.
    - Do not silently switch to another local clone.
    - If GitHub access fails and a local clone exists, ask before using it.

  3. Do not silently reuse an old environment.
    - Do not assume an existing .venv, local model cache, previous .env, or private runtime should be reused.
    - If reusing cached assets might save time, explain that and ask first.

  4. Do not invent missing values.
    - When writing .env, use the exact variable names required by the project, especially OPENCLAW_TOKEN.
    - If required values or local assets are missing, stop and point to the documented source of truth.

  5. Handle secrets conservatively.
    - Do not print real tokens or keys back into the conversation unless the user explicitly asks to see them.
    - For this project, use the OpenClaw token from ~/.openclaw/openclaw.json, specifically the gateway configuration.
    - Do not use ~/.openclaw/identity/device-auth.json as the token source for this project.

  6. Ask before any system-changing action.
    - Do not assume you should fetch the repository, run pip install -e ., download models, or enable launchd behavior without user approval.
    - Explain the action first, then continue only after the user confirms.

  7. Ask before enabling background resident behavior.
    - Foreground validation comes first.
    - Direct-run validation means starting both python -m openclaw_voice_control --config config/default.yaml --env-file .env and python -m openclaw_voice_control.overlay_app --config config/default.yaml --env-file .env from the same installed skill workspace.
    - Only run ./scripts/deploy_macos.sh when the user explicitly wants background resident behavior or auto-start.

Daily Maintenance

Primary scripts:

  • deploy background runtime: ./scripts/deploy_macos.sh
  • restart installed background services: ./scripts/restart_service.sh
  • uninstall installed background services: ./scripts/uninstall_macos.sh
  • inspect local installation and environment issues: ./scripts/doctor.sh

Double-click .command wrappers are also available in scripts/ for macOS users who prefer Finder-based execution.

Shutdown Intents

Treat shutdown requests as one of these two user intents:

  • temporarily disable voice functionality
  • stop the running direct-run process, or stop the deployed background runtime
  • do not delete the skill folder
  • delete the skill completely
  • remove the skill folder itself
  • only do this when the user explicitly asks for full removal

If the user says something ambiguous like "turn it off" or "stop voice", ask one short clarification question before acting.

Background Architecture

The canonical background startup path is:

  • launchd -> host app -> shell script -> python

./scripts/deploy_macos.sh builds the required host apps automatically.

Configuration Surface

Default-route required values:

  • OPENCLAW_BASE_URL
  • OPENCLAW_TOKEN
  • SENSEVOICE_MODEL_PATH
  • SENSEVOICE_VAD_MODEL_PATH

Default-route configurable values:

  • OPENCLAW_AGENT_ID
  • OPENCLAW_MODEL
  • OPENCLAW_USER
  • WAKEWORD_PROVIDER
  • OPENWAKEWORD_MODEL_NAME
  • OPENWAKEWORD_MODEL_PATH

If the user explicitly switches to the optional Porcupine route, also configure:

  • PICOVOICE_ACCESS_KEY
  • WAKEWORD_FILE

Interpreter override variables still exist:

  • VOICE_CONTROL_PYTHON_BIN
  • VOICE_CONTROL_OVERLAY_PYTHON_BIN

They are troubleshooting knobs only, not the main deployment model.

OPENWAKEWORD_THRESHOLD still exists as a tuning variable, but it is a
troubleshooting adjustment rather than a first-run requirement.

As a rule, machine-specific secrets and paths belong in .env, while wakeword
timing and threshold tuning should normally be adjusted in config/default.yaml.

Where To Get Missing Requirements

After syncing the repository into the current installed skill workspace, read these sections in README.md:

  • What Must Exist Before Setup
  • Required Variables
  • Where To Get Each Requirement

Practical source notes:

  • OPENCLAW_BASE_URL: use the full OpenClaw chat completions endpoint, not only the host and port root. For the default local setup, use http://127.0.0.1:18789/v1/chat/completions
  • OPENCLAW_TOKEN: obtain it from the local OpenClaw gateway configuration in ~/.openclaw/openclaw.json, under gateway
  • default wakeword route: use openWakeWord with the built-in English hey jarvis model
  • optional Porcupine route: obtain PICOVOICE_ACCESS_KEY and the local .ppn file from Picovoice
  • if GitHub clone fails, report that first rather than switching to an unrelated local directory

Related Files

  • README.md in the cloned repository
  • README.zh-CN.md in the cloned repository
  • docs/macos-install.md in the cloned repository

安全信息

审计结论
未标注不代表已通过审计
安全审计VirusTotal、ClawScan、Static analysis第三方安全审计平台给出的结论

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-05-01。