用途:基于火山引擎 BigModel ASR 将语音转为文字,用于处理飞书语音消息(message_type: audio)、音频文件附件(.ogg、.mp3、.wav)以及用户提到的语音识别、语音转文字、ASR 需求。
主要能力:识别本地音频文件、音频 URL 和飞书语音 file_key;可指定语言代码(如 zh-CN、ja-JP、en-US),不传则自动识别;脚本输出纯文本即为用户说的话。
使用方式:先 cd 到技能目录 skills/voice-to-text,再运行 asr.py。常用命令如 python scripts/asr.py --file "/root/.openclaw/media/inbound/xxxxx.ogg"、python scripts/asr.py --url "https://example.com/audio.mp3"、python scripts/asr.py --file-key "file_v2_xxxx" --feishu-token "t-g104xxx"。三个音频来源参数 --file、--url、--file-key 三选一;可选参数 --language、--appid、--token、--feishu-token。
鉴权与环境变量:推荐新版控制台方案,配置 MODEL_SPEECH_API_KEY(需开通录音文件识别极速版并创建 API Key);兼容旧版时同时配置 MODEL_SPEECH_APP_ID 与 MODEL_SPEECH_API_KEY。可选 MODEL_SPEECH_ASR_API_BASE(默认 BigModel Flash)、MODEL_SPEECH_ASR_RESOURCE_ID(默认 volc.bigasr.auc_turbo)。飞书 file-key 模式需要 FEISHU_TENANT_TOKEN。
飞书流程:收到 audio 消息后,音频已下载到 /root/.openclaw/media/inbound/,执行 asr.py --file,把返回文字当作用户消息处理。
限制:必须且只能使用本技能的 asr.py,禁止使用 whisper 或 openai-whisper 技能,也不允许 fallback;asr.py 失败时直接将错误告知用户。失败时 stdout 会以 [voice-to-text ERROR] 开头。常见错误包括未配置 MODEL_SPEECH_API_KEY 的权限错误、ASR 请求失败(需检查 API 凭据及账号是否开通豆包语音服务)、音频文件不存在或为空。
适用场景:自动识别飞书语音内容、处理音频附件、按用户语音意图直接回复,无需额外说明识别结果。