核心用法
sergei-mikhailov-stt 是 OpenClaw 框架的语音转文字技能,核心功能是将用户发送的语音消息转换为可读的文本。其工作流程清晰:接收 OpenClaw 提供的本地音频文件路径 → 通过 FFmpeg 验证和格式转换 → 调用 STT 提供商(默认 Yandex SpeechKit)进行识别 → 返回带元数据的文本结果。
安装部署采用标准 OpenClaw 模式:clawhub install 一键安装后,运行 setup.sh 创建 Python 虚拟环境并复制配置模板,最后通过 check.sh 诊断脚本验证环境完整性。配置支持两种方式:推荐的 OpenClaw 中央配置文件(~/.openclaw/openclaw.json)或本地 .env 文件,API 密钥通过环境变量注入,避免硬编码风险。
关键设计亮点:处理器脚本使用绝对路径调用,__file__ 自动解析依赖路径,不依赖工作目录,避免了 cd 命令触发安全审批的痛点。
显著优点
1. 架构可扩展:基于抽象基类 BaseSTTProvider 设计,新增提供商仅需实现 recognize()、validate_config() 等三个方法,5 分钟即可完成扩展
2. 多格式支持:原生支持 OGG、WAV、MP3、M4A、FLAC、AAC 等常见音频格式,FFmpeg 自动处理转码
3. 错误处理精细化:内置 9 类常见错误场景(文件过大、格式不支持、401/403/429 HTTP 状态码等),映射为用户友好的提示语和明确的修复指引
4. 诊断工具完善:check.sh 一键检测 Python、FFmpeg、虚拟环境、依赖、API 密钥配置,降低运维门槛
5. 元数据丰富:返回结果包含置信度、语言识别、处理时长、提供商信息,便于二次开发
潜在缺点与局限性
| 维度 | 限制说明 |
|------|---------|
| **硬性容量限制** | Yandex SpeechKit v1 同步 API 严格限制 1MB(约 30 秒语音),长语音需切割或换异步 API |
| **地理合规风险** | Yandex Cloud 服务受俄罗斯数据主权法规约束,跨境企业需评估 GDPR/本地化合规 |
| **语言覆盖窄** | 官方仅支持 ru-RU、en-US,小语种场景受限 |
| **网络依赖** | 纯云端方案,离线环境不可用;API 超时默认 5 分钟,弱网环境体验差 |
| **密钥管理负担** | 需维护 `ai.speechkit.user` 角色的 Yandex 服务账号,权限配置有一定复杂度 |
适合人群
- OpenClaw 生态用户:已部署 OpenClaw 网关,需要为 Telegram/Discord 等机器人添加语音理解能力
- 俄语区开发者:Yandex SpeechKit 对俄语识别优化较好,适合俄语客服、社群运营场景
- 中小规模部署:消息量适中、单条语音 30 秒以内的场景,避开大文件限制
常规风险
1. API 密钥泄露:配置存储于明文 JSON/ENV 文件,多用户服务器需限制文件权限(建议 600)
2. 成本失控:Yandex SpeechKit 按音频时长计费,高频场景需设置用量告警
3. 服务可用性:单一提供商依赖,建议按文档扩展备用提供商(如 Google Speech-to-Text)
4. FFmpeg 供应链:依赖系统级二进制,需确保来源可信并定期更新防漏洞
5. 音频内容敏感:语音可能包含 PII,需确认 Yandex Cloud 数据处理协议符合业务合规要求