尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Duix.Avatar 新增模特失败?SQLite3 布尔值报错三步修好
Duix.Avatar 新增模特失败SQLite3 布尔值报错三步修好【免费下载链接】Duix-Avatar Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar在 Duix.Avatar 里新增一个定制模特视频传完、点击提交后客户端日志里抛出这个错误模特完全加不进去。原文是Error invoking remote method model/addModel: TypeError: SQLite3 can only bind numbers, strings, bigints, buffers, and null这条报错看着吓人其实只是最后一公里的问题一个布尔值被原样传进了 SQLite。一条 INSERT 到底卡在哪报错发生在往f2f_model表写模特记录这一步实际执行的 SQL 是取自客户端日志INSERT INTO f2f_model (name, video_path, audio_path, voice_id, created_at) VALUES (aaa, 20250405012435008.mp4, origin_audio/20250405012435008.wav, false, 1743787484937)⚠️ 肇事参数就一个第四个字段 voice_id 被绑定了false。better-sqlite3 的参数绑定白名单非常窄一张表说清楚参数类型能否绑定number、string、bigint、buffer能null能布尔值true / false不能直接抛上面这条 TypeErrorundefined、对象、数组不能同样 TypeError为什么 false 不是合法值类型不匹配SQLite 绑定不认布尔现象建表语句里 voice_id 明明是整数列写进去的却是布尔值。 证据日志显示该语句绑定的值为布尔 false而建表脚本src/main/db/sql.js中 voice_id 定义为INTEGER。 结论SQLite 没有原生布尔类型better-sqlite3 只接受 number/string/bigint/buffer/null 五类布尔值直接越界报错。上游断链训练失败被 false 吞掉现象模特视频已经复制、音频也已分离唯独 voice_id 这一环空了。 证据日志里有train ~ res: { code: -1, msg: NoneType object has no attribute send }说明 TTS 服务端的预处理接口调用失败返回了 -1。 结论语音训练入口 的train()在res.code ! 0时return false上层 addModel 不校验直接把 false 当 voiceId 递给了数据库——断链被静默吞到了数据库层才炸。校验缺位参数入库前没人把关现象用户最终只看到一句 SQLite3 can only bind...完全不知道是哪一个环节坏了。 证据DAO 层 的insert()把五个参数原样交给stmt.run(...)执行前没有任何类型检查。 结论voiceId不是数字也不是 null 就插不进去整条 addModel 流程中断而报错信息里甚至提不到 voiceId。先止血再根治第 1 步·立即止血把布尔值转成 null在service/model.js的 insert 调用前改一行即可// 布尔 false 不落库按无语音模型处理 voiceId: typeof voiceId boolean ? null : voiceId改完这步SQLite 绑定报错消失模特能正常入库voice_id 为 null。第 2 步·堵断链训练失败改成直接抛错病根在语音训练入口吞失败TTS 服务预处理返回非 0 码最常见的是 asr 连接被拒时它不抛错而是return false。把这一行换成if (res.code ! 0) throw new Error(Voice training failed: res.msg)改完这步报错会从SQLite 不能绑定变成可读的 Voice training failed: NoneType object has no attribute send一眼看出是服务端 asr 没就绪而不是去读数据库堆栈。第 3 步·加保险数据库层补一道类型检查在 数据库连接层 的 run 包装里补最后防线任一参数为布尔或 undefined 时带出参数名直接抛错。改完这步以后任何业务再误传布尔报错信息会直接指到出问题的字段排查不用翻三个文件。下次怎么少踩坑数据入库前统一过一遍数字/字符串/整数/bigint/null 五类之一不是就带字段名报错上游 API 失败必须抛错不要用 false 当哨兵值它太容易被误读成数据不存在新增模特前先校验视频有音轨且有人在说话无声视频会让语音训练直接失败排查客户端报错时优先看服务端 docker 日志很多数据库错误本质是服务端返回了 -1先改第 1 步那一行恢复模特新增第 2、3 步的抛错改造排进下个版本跟进即可。【免费下载链接】Duix-Avatar Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

汽车电子MES选型:车规追溯、防错与设备集成全解析

汽车电子MES选型:车规追溯、防错与设备集成全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/11 10:08:34
JavaWeb在线商城系统课设:Servlet+JSP+MySQL实战全解析

JavaWeb在线商城系统课设:Servlet+JSP+MySQL实战全解析

简介:面向JavaWeb课程设计场景的在线商城系统源码与数据库文件,专为需要完成高评分课设的计算机专业学生准备,解决选题落地难、代码不完整、环境跑不通等常见问题。压缩包共收录1197个文件,整体体积约78.45MB,类型上包…

📅 2026/9/11 10:08:34
STM32F103 AB OTA双区升级:Bootloader实现与安全回滚机制详解

STM32F103 AB OTA双区升级:Bootloader实现与安全回滚机制详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/11 10:03:33
MORE NEWS

更多资讯

📰

五大行业迁移实战:PolarDB-X分布式数据库落地与架构设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Claudian Obsidian 插件完整安装指南:把 Claude Code 装进你的知识库

Claudian Obsidian 插件完整安装指南:把 Claude Code 装进你的知识库 【免费下载链接】claudian An Obsidian plugin that embeds Claude Code/Codex as an AI collaborator in your vault 项目地址: https://gitcode.com/GitHub_Trending/cl/claudian AI 助…

📰

基于Java springboot化妆品推荐系统(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

📰

2026车规芯片选型:从参数对标到系统可信度验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

基于Java springboot货运通服务平台系统(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

📰

G-Helper 配置重置指南:模式失灵、风扇不听使唤时,3 级修复让它重新可用

G-Helper 配置重置指南:模式失灵、风扇不听使唤时,3 级修复让它重新可用 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, P…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬