← 返回 Skills 市场
generate-drama
作者
Wan Shuaibing
· GitHub ↗
· v1.0.0
· MIT-0
259
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install generate-drama
功能描述
根据主题自动生成多角色有声短剧,调用 SenseAudio TTS API 合成音频并拼接输出
使用说明 (SKILL.md)
短剧生成器 (Drama Generator)
根据用户提供的短剧主题,自动生成多角色有声短剧。
使用方式
用户说出类似以下请求时触发此 Skill:
- "帮我生成一个短剧,主题是..."
- "做一个有声剧,关于..."
- "生成短剧音频:..."
执行步骤
第一步:检查 API 密钥
echo "SENSEAUDIO_API_KEY=$SENSEAUDIO_API_KEY"
如果 SENSEAUDIO_API_KEY 为空,必须先向用户询问,说明在 https://senseaudio.cn 注册获取。不要直接运行脚本让它报错。
第二步:生成剧本
你(Claude)自己根据用户主题生成剧本,不需要调用外部 LLM。
可用音色列表:
child_0001_a— 可爱萌娃(开心),适合小孩、活泼少女、可爱类角色child_0001_b— 可爱萌娃(平稳),适合小孩、安静少女、乖巧类角色male_0004_a— 儒雅道长(平稳),适合学者、道长、智者、长辈、沉稳男性角色male_0018_a— 沙哑青年(深情),适合江湖浪子、叛逆少年、男主类角色
生成要求:
- 2-5 个角色,每个角色有明确的名字
- 总共 10-20 句对白
- 剧情紧凑有冲突
- 为每个角色从上面的音色列表中选择最合适的 voice_id
输出为 JSON 格式,保存为临时文件:
{
"topic": "用户的主题",
"roles": {
"角色A": "voice_id",
"角色B": "voice_id"
},
"segments": [
{"sid": "角色A", "text": "台词内容"},
{"sid": "角色B", "text": "台词内容"}
]
}
将 JSON 保存到临时文件,如 /tmp/drama_script.json。
第三步:运行脚本合成音频
python scripts/generate_drama.py @/tmp/drama_script.json \
--output outputs/drama_output.wav \
--senseaudio-api-key "xxx"
注意:
- 剧本 JSON 通过
@文件路径传入 - 如果环境变量
SENSEAUDIO_API_KEY已设置,无需--senseaudio-api-key
第四步:返回结果
将生成的音频文件路径和剧本内容展示给用户。
环境要求
- Python 3.10+,依赖:
requests SENSEAUDIO_API_KEY— SenseAudio API 密钥(唯一需要的密钥)
参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
script_json |
剧本 JSON 字符串或 @文件路径(必填) |
- |
--output |
输出 WAV 文件路径 | 自动生成 |
--gap |
对白之间的静音间隔(秒) | 0.3 |
--senseaudio-api-key |
SenseAudio API 密钥 | 读环境变量 |
安全使用建议
本技能总体上看起来在做它声称的事(生成剧本并调用 SenseAudio 合成音频),但有两点需要你注意并在安装前确认:
1) 元数据不一致:Registry 条目没有声明任何必需环境变量,但 SKILL.md/README/脚本明确需要 SENSEAUDIO_API_KEY。请在安装前确认并要求发布者在元数据中添加该必需项。不要依赖隐含假设。
2) 不要打印或泄露你的 API 密钥:SKILL.md 中示例会 echo 出 SENSEAUDIO_API_KEY,这会把密钥写到控制台或日志,可能被其他进程或日志收集器读取。建议在使用时不要运行会打印密钥的命令;将密钥以环境变量传入脚本或在运行时通过安全的提示输入,并在需要时使用最小权限/临时密钥。
其他建议:
- 在受限环境(如容器或工作目录隔离)下先运行并审查输出、网络流量,确认请求确实都是发往 api.senseaudio.cn。
- 若担心数据外泄,可向作者要求提供 HTTPS 请求的示例返回或对敏感字段如何处理的说明;确认脚本不会把密钥写入磁盘或外发到除 SenseAudio 之外的域名。脚本当前只向 api.senseaudio.cn 发请求并将返回的 hex audio 转为 wav,这与目的相符,但仍建议审计网络请求。
- 要求作者修正 SKILL.md/registry 元数据以声明 SENSEAUDIO_API_KEY 为 required env var,并移除示例中打印密钥的做法。
功能分析
Type: OpenClaw Skill
Name: generate-drama
Version: 1.0.0
The skill is a legitimate tool for generating multi-role audio dramas using the SenseAudio TTS API (api.senseaudio.cn). The Python script (scripts/generate_drama.py) performs text-to-speech synthesis and manual WAV file concatenation by parsing RIFF headers. No indicators of data exfiltration, unauthorized execution, or malicious prompt injection were found; the code and instructions in SKILL.md are entirely consistent with the stated purpose of creating audio content.
能力评估
Purpose & Capability
Skill 名称、描述、README、USAGE.md 和脚本都一致:根据用户主题生成剧本,然后调用 SenseAudio TTS 合成并拼接音频。包含的代码仅实现 TTS 调用和 WAV 拼接,与宣称目的匹配。
Instruction Scope
SKILL.md 明确要求检查并使用 SENSEAUDIO_API_KEY,并示例执行 echo "SENSEAUDIO_API_KEY=$SENSEAUDIO_API_KEY" —— 这会把敏感密钥写到 stdout/日志,存在泄露风险。指令还要求把 JSON 写到临时文件并运行本地脚本(合理),但打印或记录密钥是问题。
Install Mechanism
无安装规范(instruction-only + 提供脚本),不会从不明来源下载代码。唯一外部网络交互是脚本在运行时向 api.senseaudio.cn 发起 POST 请求,这是为 TTS 所必需的。
Credentials
Registry metadata lists no required env vars, but SKILL.md、README 和脚本 all require SENSEAUDIO_API_KEY. 这是一处不一致。另外,SKILL.md 建议把密钥写入 shell 配置并示例 echo 输出,会导致不必要的密钥暴露。
Persistence & Privilege
Skill 没有 always:true、没有修改其它技能或系统配置的行为。脚本在本地写输出和剧本 JSON(可控行为)。默认的自主调用权限为平台常态,不构成额外隐患。
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install generate-drama - 安装完成后,直接呼叫该 Skill 的名称或使用
/generate-drama触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
短剧生成助手,能够根据用户所选择的主题自动生成短剧,支持自动分配音色,自动合成剧本并最终生成音频
元数据
常见问题
generate-drama 是什么?
根据主题自动生成多角色有声短剧,调用 SenseAudio TTS API 合成音频并拼接输出. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 259 次。
如何安装 generate-drama?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install generate-drama」即可一键安装,无需额外配置。
generate-drama 是免费的吗?
是的,generate-drama 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
generate-drama 支持哪些平台?
generate-drama 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 generate-drama?
由 Wan Shuaibing(@qwerty0205)开发并维护,当前版本 v1.0.0。
推荐 Skills