Skip to content

xxtluuu/openclaw-sensevoice

Repository files navigation

English | 中文

⚡ openclaw-sensevoice

为 OpenClaw 打造的离线语音转文字插件 —— 快、准、轻、私

收到语音消息,1 秒出文字。中文识别准确率高,支持中/英/日/韩/粤五语,模型仅 228MB,完全离线运行。

🤔 为什么要替换官方语音插件?

官方 OpenClaw 语音插件基于 OpenAI Whisper,面向国际用户设计,覆盖 100+ 语言。但对于中文用户来说,它有一个尴尬的两难困境

要么慢,要么占内存 —— 而且中文识别还不够好。

  • 冷启动模式:每条语音要等 30~40 秒才能转写完成,聊天体验严重割裂
  • 常驻内存模式:启动速度改善,但要常年占用 1.6GB 左右内存,对于使用 VPS 部署的用户来说负担很重
  • 中文识别:Whisper 为 100+ 语言平衡设计,中文不是强项,粤语更是不支持

SenseVoice 一次性解决所有问题:模型 + 运行时总共只要 287MB,每次冷启动仅需 ~1 秒就能完成转写 —— 快到根本不需要常驻内存。发条语音过来,回复几乎瞬间出现,和打字一样自然。

下图为安装 openclaw-sensevoice 插件后的 VPS 实际资源占用,轻量无负担:

安装 openclaw-sensevoice 后的 VPS 资源占用

官方插件 (Whisper) ⚡ SenseVoice
一条语音的等待时间 冷启动 30~40 秒 ~1 秒
模型 + 运行时体积 ~1.5GB 287MB
需要常驻内存? 是(否则太慢) 不需要(冷启动即够快)
中文识别质量 一般(国际化优先) 专为中文优化
粤语支持 ✅ 原生支持
推理引擎 Python / PyTorch Rust + ONNX Runtime
隐私 ✅ 离线 ✅ 离线

✨ 亮点

  • 🚀 秒级响应 — 冷启动到输出结果仅 ~1 秒,无需常驻内存,发语音和打字一样顺畅
  • 🌏 五语转写 — 中文、英语、日语、韩语、粤语,语言自动检测
  • 🧠 极致轻量 — INT8 量化模型仅 228MB,全套安装不到 300MB,是 Whisper 的 1/5
  • 🦀 Rust 原生 — 编译为原生二进制 + ONNX Runtime,无 Python 依赖,启动零开销
  • 🔒 完全离线 — 音频数据不出设备,零隐私风险
  • 📦 一键安装 — 自动下载模型、配置 OpenClaw,开箱即用

🚀 快速开始

方式 1:OpenClaw 插件安装(推荐)

openclaw plugins install https://github.com/xxtluuu/openclaw-sensevoice/releases/download/v0.2.0/openclaw-sensevoice-v0.2.0.tar.gz

安装后运行一次 setup,自动下载模型并配置:

/sensevoice setup

Setup 完成后,直接发送语音消息即可 —— 插件会自动转写语音内容,AI 会基于转写文本进行回复,无需任何额外操作。

方式 2:一键脚本

curl -fsSL https://raw.githubusercontent.com/xxtluuu/openclaw-sensevoice/main/install.sh | bash

自动检测平台、下载预编译二进制和模型到 ~/.openclaw/

方式 3:源码编译

git clone https://github.com/xxtluuu/openclaw-sensevoice.git
cd openclaw-sensevoice/rust
cargo build --release

🎙️ 使用方式

安装并 setup 完成后,语音转写完全自动化:

你发送语音消息 → 插件自动转写(~1秒) → AI 基于转写内容回复

不需要手动调用任何命令。发语音就像打字一样,AI 会直接理解你说的内容并回复。

📊 性能实测

测试环境:Apple Silicon (M 系列),macOS,纯 CPU 推理,含模型加载。

语言 音频时长 转写耗时 实时倍率
🇨🇳 中文 5.6 秒 1.09 秒 5.1x
🇺🇸 英语 7.2 秒 1.16 秒 6.2x
🇯🇵 日语 7.2 秒 1.15 秒 6.2x
🇰🇷 韩语 4.6 秒 1.06 秒 4.3x
🇭🇰 粤语 5.1 秒 1.10 秒 4.7x

以上耗时包含完整流程:模型加载 → 音频解码 → 推理 → 输出。实际日常使用中,系统文件缓存会让后续调用更快。

🛠️ 插件命令

命令 说明
/sensevoice setup 下载模型(~228MB)并自动配置 openclaw.json
/sensevoice status 检查二进制、模型、配置状态
/sensevoice test <文件> 对指定音频文件进行转写测试

💻 支持平台

系统 架构 说明
macOS ARM64 Apple Silicon (M1/M2/M3/M4)
macOS x86_64 Intel Mac
Linux x86_64 服务器 / 台式机
Linux ARM64 树莓派 / ARM 服务器

🦀 为什么用 Rust 而不是 Python?

官方 Whisper 插件的技术栈是 Python + PyTorch。Python 生态虽然成熟,但作为常驻后台服务来说有天然短板:

Python (Whisper) Rust (SenseVoice)
冷启动 慢 — 需要加载 Python 解释器 → 导入数十个模块 → 加载模型 — 原生二进制直接执行,无解释器开销
运行时依赖 Python 3.x + pip + PyTorch + 若干依赖包 零依赖 — 单个二进制 + 3 个动态库,开箱即用
内存占用 Python 解释器 + GC + PyTorch = 高内存底噪 精确内存控制 — 无 GC,用完即释放
分发复杂度 需要管理虚拟环境、包版本冲突 一个 tar.gz 解压即用 — 不污染系统环境
跨平台 不同平台的 PyTorch 安装体验差异大 预编译二进制 — 4 平台 CI 自动构建

💡 简单说:Rust 方案让语音转写变成了"调用一个命令行工具"这么简单的事。不需要装 Python,不需要管虚拟环境,不需要担心包冲突 —— 下载、解压、运行,完事。

📝 技术细节

模型查找顺序

  1. $SENSEVOICE_MODEL_DIR 环境变量
  2. <二进制目录>/../model/ (插件布局)
  3. ~/.openclaw/models/ (标准位置)

安装体积:二进制 + 动态库 ~59MB,模型 ~228MB,总计约 287MB。

macOS 用户:未签名二进制需要解除 Gatekeeper 隔离,安装脚本已自动处理(xattr -cr)。

💡 项目灵感

之前在桌面端使用 Claude Code 都是用口喷(语音输入),体验非常畅快。但换到 OpenClaw 在手机上通过 IM 使用时,语音体验反而变差了 —— 转写慢、等待久,完全不是一回事。

作为 sayup.ai 的开发者,我直接把 sayup 的核心原理移植了过来 —— 一样的技术栈,一样的速度体验。这太理所应当了。

如果你也希望在桌面端享受畅快的语音输入体验,欢迎下载 macOS 客户端:www.sayup.ai(Windows 端因设备有限,部分机型可能不稳定)。

关注我的 X 账号获取最新动态:@luuu2024

📄 许可证

MIT

About

⚡ Offline speech-to-text plugin for OpenClaw — 1s cold start, 228MB model, Chinese-optimized. Powered by SenseVoice + Rust + ONNX Runtime. 离线语音转文字插件,秒级响应,中文优化,支持中/英/日/韩/粤五语。

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors