安全扫描
OpenClaw
安全
high confidence该技能实现了 Inworld.ai 的文本转语音功能,其脚本与 README 指令一致,主要问题是元数据中未声明所需的 INWORLD_API_KEY。
评估建议
["安装前请注意:必须提供 INWORLD_API_KEY(基本 Base64 密钥),目前注册元数据未声明此要求。","创建最低权限的 Inworld 密钥(仅读取语音)而非全账户密钥。","避免盲目将秘密添加到 ~/.bashrc 或全世界可读文件中,考虑使用安全的凭据存储或受限权限的 .env。","在 symlinking 到 /usr/local/bin 之前,请自行审查 scripts/tts.sh 脚本(简短且易读)。","网络流量将发送到 api.inworld.ai(该技能的预期行为)。"]...详细分析 ▾
ℹ 用途与能力
名称/描述与行为匹配:脚本调用 Inworld.ai TTS 端点生成 MP3 输出。然而,注册元数据未列出任何必需的环境变量或主凭据,而 SKILL.md 和脚本明确要求 INWORLD_API_KEY(基本 Base64 密钥)。此不匹配应被纠正。
✓ 指令范围
SKILL.md 指令仅限 TTS 生成:指示用户设置 INWORLD_API_KEY、安装/复制脚本,并对 Inworld 端点运行 curl/jq/base64。无指令读取无关系统文件或向意外主机传输数据。
ℹ 安装机制
无自动安装规格(仅指令),保持低风险。包含的脚本在本地执行。文档建议可选地 symlinking 到 /usr/local/bin — 需要提升写入访问权限,是本地决定;在创建全局 symlinks 之前,请审查脚本。
⚠ 凭证需求
功能上,该技能仅需要一个服务凭据(INWORLD_API_KEY,具有“读取语音”权限),这很合理。问题在于元数据省略:注册元数据未声明所需的环境变量/主凭据,造成信息缺口。另外,SKILL.md 建议在 ~/.bashrc 或 ~/.clawdbot/.env 中持久存储密钥;用户应意识到这会将秘密存储在磁盘上。
✓ 持久化与权限
该技能不请求“always: true”,也不修改其他技能或全局代理配置。其建议的持久性(在 shell 配置文件中存储环境变量)是本地、由用户控制的操作,而非技能自动提升权限。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/1/31
inworld-tts 技能的初始发布。- 通过 Inworld.ai API 启用文本转语音音频生成。- 支持多种语音、语速、温度和长文本流式处理。- 提供 Bash 脚本接口用于转换文本为 MP3 文件。- 提供详细的设置和故障排除指南。- 需要 curl、jq 和 base64 实用程序。
● 无害
安装命令 点击复制
官方npx clawhub@latest install inworld-tts
镜像加速npx clawhub@latest install inworld-tts --registry https://cn.clawhub-mirror.com
技能文档
生成文本转语音音频使用 Inworld.ai 的 TTS API。
设置
- 从 https://platform.inworld.ai 获取 API 密钥
- 生成具有“语音:读取”权限的密钥
- 复制“基本 (Base64)”密钥
- 设置环境变量:
export INWORLD_API_KEY="your-base64-key-here"
为了持久化,请添加到 ~/.bashrc 或 ~/.clawdbot/.env。
安装
# 复制技能到您的技能目录
cp -r inworld-tts /path/to/your/skills/
# 使脚本可执行
chmod +x /path/to/your/skills/inworld-tts/scripts/tts.sh
# 可选:symlink 以获得全局访问
ln -sf /path/to/your/skills/inworld-tts/scripts/tts.sh /usr/local/bin/inworld-tts
使用
# 基本用法
./scripts/tts.sh "Hello world" output.mp3
# 带选项
./scripts/tts.sh "Hello world" output.mp3 --voice Dennis --rate 1.2
# 流式处理(用于超过 4000 个字符的文本)
./scripts/tts.sh "Very long text..." output.mp3 --stream
选项
| 选项 | 默认值 | 描述 |
|---|---|---|
--voice | Dennis | 语音 ID |
--rate | 1.0 | 语速 (0.5-2.0) |
--temp | 1.1 | 温度 (0.1-2.0) |
--model | inworld-tts-1.5-max | 模型 ID |
--stream | false | 使用流式端点 |
| 端点 | 用途 |
|---|---|
POST https://api.inworld.ai/tts/v1/voice | 标准合成 |
POST https://api.inworld.ai/tts/v1/voice:stream | 长文本流式处理 |
curl- HTTP 请求jq- JSON 处理base64- 解码音频
示例
# 快速测试
export INWORLD_API_KEY="aXM2..."
./scripts/tts.sh "Testing one two three" test.mp3
mpv test.mp3 # 或任何音频播放器
# 不同语音和速度
./scripts/tts.sh "Slow and steady" slow.mp3 --rate 0.8
# 快速播报
./scripts/tts.sh "Breaking news!" fast.mp3 --rate 1.5
故障排除
“INWORLD_API_KEY 未设置”- 在运行前导出环境变量。
- 检查 API 密钥是否有效且具有“语音:读取”权限。
- 确保
jq支持--unbuffered标志。
链接
- Inworld 平台:https://platform.inworld.ai
- API 示例:https://github.com/inworld-ai/inworld-api-examples
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制