Appearance
语音包导入
Readori 可扫描 ZIP/JSON/TXT 中的 tts.json、httptts.json、engines.json、voices.json、 config.json 等常见清单,并兼容 MultiTTS/阅读社区常见字段别名。
字段别名与解析细节
本地文件导入、远程 URL 拉取、单条 JSON 粘贴这三条入口共用同一套解析逻辑,字段名按 下面的优先级取值(前者优先,命中即止):
text
url 地址 url → ttsUrl → endpoint
名称 name → engineName → title(都缺失时用 url 本身当名称)header(自定义请求头,常用来传 Authorization/Format 之类的鉴权信息)和 contentType(响应内容类型)也会被读取——这两个字段之前在部分导入入口会被静默丢弃, 导致导入后引擎完全无法发声或直接收到 401/403,且没有任何报错提示,排查起来很容易 误以为是 URL 或签名写错了,实际是字段在解析阶段就被吞掉了。空字符串的 header/ contentType(不少导出工具会给未使用的字段填 "")会被归一化为“无值”,不会被当成 “配置了一个空请求头”处理。
导入流程
- 远程包下载到临时文件;
- 检查压缩条目路径、文件数量和大小;
- 查找 manifest/引擎列表;
- 规范化 URL、headers、body、voice 和 response type;
- 预览后写入引擎列表;
- 保留来源信息用于诊断和删除。
安全边界
语音包不能包含可执行原生代码。模型和配置的许可证由用户确认;解压目录限制在应用沙盒 受控位置。
