• v0.2.2 afed67e175

    zijunchiang released this 2026-09-16 02:56:50 +08:00 | 25 commits to main since this release

    OpenDance Studio -- Web 管理服务端 v0.2.2

    修复「上传 PMX 压缩包报 Assimp 缺失」的报错与部署体验。 功能与契约与 v0.2.1 相同
    (rest-api / data-models / model-formats 0.4.0、database 0.3.0)。

    修复的问题

    服务器没装 Assimp 时, 上传 .pmx / .fbx(或含它们的压缩包)只得到两条:

    GLB 直出:导出失败(ENOENT):spawn assimp ENOENT
    glTF 直出:导出失败(ENOENT):spawn assimp ENOENT
    

    用户看不出「缺什么、怎么装」, 也不知道只上传 .glb / .vrm 其实不需要它。

    本次改动

    1. 新增 src/common/assimp.ts: 按 ASSIMP_BIN -> PATH -> /usr/bin、/usr/local/bin
      等常见目录定位可执行文件(只认文件, 不认同名目录), 转换前先预检; 找不到就一次性
      给出各发行版安装命令、查过的路径与替代办法, 不再打两条 ENOENT;
      动作预处理(FBX / glTF -> BVH)复用同一文案。
    2. 新增 deploy/assimp-lib.sh: install.sh 按发行版自动安装
      (apt-get / dnf / yum / zypper / apk / pacman); 装在非常规目录时把绝对路径
      写入 deploy/.env 的 ASSIMP_BIN; 装不上只告警不中止, 可用 SKIP_ASSIMP_INSTALL=1 跳过。
      Debian / Ubuntu 只装 assimp-utils(不写死 libassimp5/6, 由发行版决定)。
      check-access.sh 自检增加 Assimp 一行。
    3. /health 增加 assimp.path; 管理端「概览 -> 服务健康」显示 Assimp 状态, 不可用时提示。
    4. 新增 13 项测试 test/assimp-locate.spec.ts; 测试规模 12 文件 / 193 项。

    已经在跑 v0.2.0 / v0.2.1 的服务器

    不用重新部署, 装一次 Assimp 即可, 服务无需重启:

    # Debian / Ubuntu(让 apt 自己选 libassimp5 或 6)
    apt-get update && apt-get install -y assimp-utils
    # RHEL / CentOS / Rocky / Fedora
    # dnf install -y assimp
    
    assimp version                      # 能打印版本即成功
    curl -fsS http://127.0.0.1:3000/health   # 其中 assimp.available 应为 true
    

    装好后重新上传该压缩包即可。也可运行 v0.2.2 的 bash deploy/install.sh,
    它会自动检查/安装 Assimp 并把结论写进安装日志。

    校验

    opendance-web-v0.2.2.tar.gz sha256: 0a42313fb31624647cd2fe4dce77c69ef8941c60066522d05a6dbd7ed66a61af

    Downloads