Install
openclaw skills install ecommerce-voice-cs电商 AI 语音技能。用于在 OpenClaw 或类似技能宿主中,按不同触发词独立启用两套互不干扰的能力:(1) 售后客服模式,将售后文本咨询按预设退款规则生成客服回复并输出 TTS 音频;(2) 电话推销模式,按产品名称、功能、优势和优惠范围生成推销话术并输出 TTS 音频。适用于需要模式切换、配置确认、音色选择和语音落盘的场景。
openclaw skills install ecommerce-voice-cs实现一个最小可集成的电商售后语音客服 skill。
识别触发词:
我需要你现在当一个客服机器人我需要你现在当一个推销员这两个模式必须完全独立运行,不能共享会话状态、配置或业务逻辑。用户触发哪个模式,就只进入哪个模式。
收到售后触发词后,不要立刻进入客服模式。先收集并确认这些配置:
api_key(可选;若未设置环境变量 SENSEAUDIO_API_KEY 时再提供)refund_policyunboxing_allowedshipping_fee_byaudio_output_pathvoice_id(可选,默认 child_0001_b)配置收集完整后,先给用户一份确认摘要。只有用户明确回复“确认进入”,才正式进入售后模式。
进入售后模式后,每次处理客户消息时都必须:
TTS 已生成成功,文件已保存到:<path>”收到推销触发词后,不要立刻进入推销模式。先收集并确认这些配置:
api_key(可选;若未设置环境变量 SENSEAUDIO_API_KEY 时再提供)audio_output_pathproduct_nameproduct_featuresproduct_advantagesdiscount_rangevoice_id(可选,默认 child_0001_b)配置收集完整后,先给用户一份确认摘要。只有用户明确回复“开始”或确认进入,才正式进入电话推销模式。
进入电话推销模式后,每次处理客户消息时都必须:
TTS 已生成成功,文件已保存到:<path>”调用方应提供这些字段:
session_id: 会话标识。多轮配置和客服模式都依赖同一个 session_idmessage: 用户输入文本api_key: SenseAudio API Key,可选;优先通过环境变量 SENSEAUDIO_API_KEY 提供,未设置时再由调用方传入voice_id: 已确认可用的 SenseAudio voice_idrefund_policy: 退款政策文本unboxing_allowed: 是否支持拆封退货shipping_fee_by: 运费承担方audio_output_path: 音频输出目录product_name: 电话推销产品名称product_features: 电话推销产品功能product_advantages: 电话推销产品优势discount_range: 电话推销可优惠范围audio_format: 可选,默认 .mp3当 skill 成功生成音频时,返回结果除 audio_file 外,还会带一个 playback 字段,供宿主直接播放:
{
"playback": {
"action": "play_audio",
"auto_play": true,
"source_type": "local_file",
"path": "tts_output\\cs_reply_20260315_210818.mp3",
"format": "mp3",
"mime_type": "audio/mpeg",
"retain_file": true
}
}
宿主约定:
playback 不为 null 且 playback.action == "play_audio" 时,立即播放 playback.pathretain_file 固定为 trueaudio_file 和 playback.path 供后续手动播放只使用这 3 个已确认可用的 voice_id:
child_0001_bmale_0004_amale_0018_a如果调用方未指定 voice_id,默认使用 child_0001_b。
helper.py: 对外调用入口,包含售后模式和电话推销模式两套独立状态机src/ecommerce_voice_cs/: 底层实现,包括状态管理、规则引擎、SenseAudio TTS 适配层upload_sample 真正上传;直接使用现有 voice_idhttps://senseaudio.cn/docs/voice_api