Install
openclaw skills install senseaudio-let-claw-talkv1当用户希望把 AudioClaw 变成一个持续监听、开口就说、停顿就回答的本机语音助手时使用。这个 skill 支持 macOS 和 Windows 两个平台:优先尝试 Python 录音链路,macOS 上再提供原生 Swift 录音兜底;用户语音通过 SenseAudio ASR 转文字,再发给 audioc...
openclaw skills install senseaudio-let-claw-talkv1当用户想要下面这些能力时,使用这个 skill:
高优先级触发说法:
$senseaudio-let-claw-talk-universal 启动语音助手不适合:
这个 skill 默认:
auto 录音后端:
numpy + sounddevice + webrtcvad 可用,就走 Python 录音audioclaw agent 跑对话miniaudio 和流式链路调优的依赖贾维斯贾维斯休息90 秒sense-asr-deepthink--wake-asr-model sense-asr-lite1.25interrupt grace = 1.2sinterrupt min speech = 0.35sinterrupt threshold = -16dBsilence seconds = 1.6s~/.audioclaw/workspace/state/voiceclaw_preferences.json 读取已记住的用户偏好chinese0.72~/.audioclaw/workspace/state/wespeaker~/.audioclaw/workspace/tools/wespeaker/.venvreferences/wespeaker_user_setup.md/Applications/商汤输入法AudioClaw.app/Contents/Resources/claws/picoclaw/audioclaw-darwin-arm64/Applications/商汤输入法AudioClaw.app/Contents/Resources/claws/picoclaw/audioclaw-darwin-amd64python3~/.audioclaw/workspace/state/senseaudio_credentials.jsonnumpy + sounddevice + webrtcvad,当前 skill 会优先回退到 macOS 原生 Swift 录音器xcode-select --installC:\Program Files\AudioClaw\resources\claws\picoclaw\audioclaw.exePython 3.11 x64Python 3.12 x64C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps\python.exe 当成真实 PythonnumpysounddevicewebrtcvadsetuptoolsC:\Users\<用户名>\.audioclaw\workspace\state\senseaudio_credentials.json推荐安装命令:
py -3 -m pip install --upgrade pip setuptools
py -3 -m pip install numpy sounddevice webrtcvad
如果你想把这套 skill 开成更完整的桌面语音服务,建议补齐这些可选能力。
macOS / Windows 通用可选项:
miniaudio~/.audioclaw/workspace/state/senseaudio_credentials.jsonC:\Users\<用户名>\.audioclaw\workspace\state\senseaudio_credentials.jsonWeSpeaker 完整环境建议:
Python 3.11~/.audioclaw/workspace/tools/wespeaker/.venvC:\Users\<用户名>\.audioclaw\workspace\tools\wespeaker\.venvtorchtorchaudiosoundfilePyYAMLrequestsonnxruntimes3prlopenai-whisperpeftwespeaker说明:
C:\Users\<用户名>\.audioclaw\workspace\state\wespeaker\service.logvoiceclaw_runtime.log当前 skill 现在保留了 3 组用户级日志/状态文件:
~/.audioclaw/workspace/state/voiceclaw_runtime_state.json~/.audioclaw/workspace/state/voiceclaw_runtime.log~/.audioclaw/workspace/state/voiceclaw_agent_error.logWindows 上对应路径是:
C:\Users\<用户名>\.audioclaw\workspace\state\voiceclaw_runtime_state.jsonC:\Users\<用户名>\.audioclaw\workspace\state\voiceclaw_runtime.logC:\Users\<用户名>\.audioclaw\workspace\state\voiceclaw_agent_error.log如果你遇到“聊着聊着突然听不到我说话了”,优先看:
voiceclaw_runtime.log常见判断方式:
capture_no_speech
asr_empty
wake_blocked
agent_error
voiceclaw_agent_error.log默认最推荐直接用启动器,它会优先选择已经装好依赖的那套 Python,并带上更少依赖的默认参数:
bash "{baseDir}/scripts/start_senseaudio_let_claw_talk_universal.sh"
Windows 可以直接运行:
py -3 "{baseDir}\scripts\start_senseaudio_let_claw_talk_universal.py"
说明:
py -3C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps\python.exe 这种应用商店别名,启动器会直接提示你安装 Python,或手动设置 VOICECLAW_PYTHON_BINC:\Users\<用户名>\.audioclaw\workspace\state\senseaudio_credentials.jsonpy -3 "{baseDir}\scripts\configure_senseaudio_credentials.py" --api-key "你的sk-..."如果要手动指定 Python,再用 SenseAudio TTS:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode senseaudio \
--capture-backend auto \
--no-senseaudio-streaming-tts \
--voice-id male_0004_a \
--emotion calm \
--tts-speed 1.25
如果只想快速试运行,也可以先用系统播报:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode system
默认启动后,先说:
贾维斯
再继续提问。
如果想让它立刻回到休眠,可以说:
贾维斯休息
如果想让它记住你的偏好,可以直接说:
记住不要打断我
记住语速 1.1
记住多等一下再截断
记住以后更简短一点
记住以后展开一点
记住当前偏好
清除偏好
如果想查看当前状态,可以直接说:
当前设置
如果想开启或使用 WeSpeaker,可直接说:
开启 WeSpeaker 声纹验证
录入我的声音
重录我的声音
查看 WeSpeaker 状态
关闭 WeSpeaker 声纹验证
关闭只听我模式
启动后台声纹
停止后台声纹
说明:
录入我的声音 后,现在默认只录 1 句来建档如果想换音色,也可以直接说:
列出音色
有哪些音色
换成温柔御姐
切换到 male_0018_a
记住默认音色是 温柔御姐
以后都用 male_0004_a
注册克隆音色 vc-123456 叫 我的声音
如果某个音色当前无权限或暂时不可用,skill 会优先保留当前可用音色,或者自动切到一个能正常播报的兜底音色。
一键启动:
bash "{baseDir}/scripts/start_senseaudio_let_claw_talk_universal.sh"
如果要让 AudioClaw / OpenClaw 直接拉起这个长期语音模式,优先运行:
python3 "{baseDir}/scripts/launch_senseaudio_let_claw_talk_universal.py"
在 Windows 工具侧,优先运行:
py -3 "{baseDir}\scripts\launch_senseaudio_let_claw_talk_universal.py"
原因:
exec + nohup + & 在工具调用后台硬挂osascriptCREATE_NEW_CONSOLE如果用户是在 AudioClaw / OpenClaw 里直接说:
不要只返回命令,也不要改用 nohup 后台启动。
也不要只回复“好,已进入。你直接说。”这类假状态切换。
优先直接执行:
python3 "{baseDir}/scripts/launch_senseaudio_let_claw_talk_universal.py"
如果当前运行环境是 Windows,优先执行:
py -3 "{baseDir}\scripts\launch_senseaudio_let_claw_talk_universal.py"
不要在工具侧直接执行长期入口;工具调用更适合用 launch_*.py,它会拉起新终端后立刻返回 opened_terminal。
如果用户还补了偏好,再把参数附上,例如:
--wake-phrase "贾维斯"--interrupt-playback--debug这两个入口默认等价于:
--tts-mode senseaudio--capture-backend auto--voice-id male_0004_a--emotion calm--tts-speed 1.25--no-senseaudio-streaming-tts--speaker-verification-backend none--no-status-sounds如果需要改默认值,可以在启动前设置:
export VOICECLAW_TTS_MODE=system
export VOICECLAW_VOICE_ID=male_0018_a
export VOICECLAW_EMOTION=warm
export VOICECLAW_TTS_SPEED=1.25
export VOICECLAW_SENSEAUDIO_STREAMING_TTS=0
export VOICECLAW_SENSEAUDIO_STREAMING_BACKEND=auto
export VOICECLAW_WAKE_PHRASE=贾维斯
export VOICECLAW_SLEEP_PHRASE=贾维斯休息
export VOICECLAW_STATUS_SOUNDS=0
export VOICECLAW_SPEAKER_BACKEND=none
export VOICECLAW_WESPEAKER_THRESHOLD=0.72
export VOICECLAW_WESPEAKER_PYTHON=$HOME/.audioclaw/workspace/tools/wespeaker/.venv/bin/python
export VOICECLAW_EXTRA_ARGS='--wake-phrase 贾维斯 --sleep-phrase 贾维斯休息 --interrupt-playback'
如果想把流式模式升级成 miniaudio 的 MP3 解码播放,可选安装:
python3 -m pip install --user miniaudio
然后保持:
export VOICECLAW_SENSEAUDIO_STREAMING_BACKEND=auto
如果想强制只用这条后端,也可以显式传:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode senseaudio \
--senseaudio-streaming-tts \
--senseaudio-streaming-backend miniaudio
如果要启用唤醒词:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode senseaudio \
--wake-phrase "贾维斯" \
--sleep-phrase "贾维斯休息" \
--wake-sticky-seconds 90
如果要默认开启 WeSpeaker 声纹验证:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode senseaudio \
--speaker-verification-backend wespeaker \
--wespeaker-python "$HOME/.audioclaw/workspace/tools/wespeaker/.venv/bin/python" \
--wespeaker-threshold 0.8
如果用户环境还没装好,先按这个文件准备:
{baseDir}/references/wespeaker_user_setup.md
如果要关闭默认唤醒词:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode senseaudio \
--no-wake-phrase
如果要关闭默认睡眠词:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode senseaudio \
--no-sleep-phrase
如果要启用播报打断:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode senseaudio \
--interrupt-playback
如果想临时关闭默认打断:
python3 "{baseDir}/scripts/run_continuous_voice_assistant.py" \
--tts-mode senseaudio \
--no-interrupt-playback
如果用户说“容易误触发”或“环境噪音太大”,优先调这些参数:
--speech-threshold-db -18--silence-seconds 1.6--vad-mode 3如果用户想只测一轮,可以加:
--once
如果用户想用现成音频文件做链路验证,可以加:
--input-file /absolute/path/to/file.m4a --once
如果用户说“想先叫一声再开始对话”,优先加:
--wake-phrase "贾维斯"
如果用户明确说“不需要唤醒词”或“直接开口就听”,优先加:
--no-wake-phrase
如果用户说“播报时我还想插话”,优先加:
--interrupt-playback
持续模式里:
贾维斯休息”会主动进入休眠,但不会退出程序Ctrl+C 退出~/.audioclaw/workspace/state/senseaudio_credentials.json 里的 SENSEAUDIO_API_KEY~/.audioclaw/workspace/state/voiceclaw_preferences.json~/.audioclaw/workspace/state/voiceclaw_runtime_state.jsonrun_continuous_voice_assistant.py 现在自带当前 skill 内部的 SenseAudio ASR、SenseAudio TTS 和常用音色目录,不再依赖其他语音 skill--interrupt-playback,先把阈值和唤醒词调顺--no-interrupt-playback,或调大 --interrupt-grace-secondsscripts/run_continuous_voice_assistant.py
scripts/local_senseaudio_asr.py
scripts/local_senseaudio_tts.py
scripts/local_voice_catalog.py
scripts/start_senseaudio_let_claw_talk_universal.sh
scripts/start_senseaudio_let_claw_talk_universal.py
scripts/launch_senseaudio_let_claw_talk_universal.py
scripts/macos_mic_capture.swift