Skip to content
qingchenyouforcc edited this page Aug 6, 2026 · 5 revisions

常见问题

本页只保留使用和开发中最容易遇到、且值得单独回答的问题。

使用相关

NeurolingsCE 和 Shijima-Qt 是什么关系?

NeurolingsCE 是基于 Shijima-Qt 深度修改而来的项目。当前仓库中还集成了桌宠模拟引擎源码,所以很多引擎级修复可以直接在本仓库内完成。

当前版本是多少?

当前版本线为 0.5.1(2026-08-06,Alpha)。版本更新记录见 0.5.1 更新说明。

支持哪些模板格式?

推荐格式是 .mascot 单文件包。它本质上是 zip 兼容压缩包,根目录必须包含 info.json,并包含 actions.xml、behaviors.xml、img/ 等模板资源。

导入器仍兼容常见 Shimeji-ee 风格 ZIP 资源包,并会在导入时转换成 .mascot 包;但不是所有历史资源包都能无改动导入。从 0.5.1 起,把模板文件夹直接拖入管理器窗口也可以导入。

可以同时运行多个桌宠吗?

可以。你可以同时召唤多个实例,甚至来自不同模板。

可以保存桌宠组合并在以后恢复吗?

可以。“组合”页可以保存当前屏幕上的桌宠组,之后一键恢复;程序关闭前也会记录最后一次组合状态。

可以同时运行多个 NeurolingsCE 运行时吗?

不可以。程序是单实例设计,但单实例里可以管理多个桌宠实例。

Windows 开机启动后能不弹出管理器窗口吗?

可以。在“设置 → 启动”中开启开机自启和静默启动。静默启动会把程序留在托盘中,并按设置恢复上次关闭前组合或指定已保存组合。

桌宠帧率是多少?

当前设计是每秒 25 个完整 tick(40 ms 一个完整周期),每个完整 tick 内部再拆成 4 个 subtick 用于物理与插值细分。

平台相关

Windows 启动时提示缺少 Qt6Guid.dll 或其他 Qt DLL

这通常说明运行时 DLL 没有部署到程序目录。

优先处理方式:

  1. 确认 CMake 构建时找到了 windeployqt
  2. 或把 Qt bin 路径加入 PATH
  3. 或手动部署 Qt 运行时

Linux 下为什么前台窗口联动不工作?

先确认你所处的桌面环境:

  • KDE Plasma 6:通常开箱即用
  • GNOME 46:首次运行后一般需要重新登录一次
  • 其他桌面环境:这项能力可能不可用

Wayland 下为什么表现奇怪?

项目的桌宠定位能力与传统桌面窗口模型强相关。在 Linux 上通常会退回到更可行的兼容路径,而不是按原生 Wayland 桌宠模型工作。

macOS 上为什么拿不到前台窗口信息?

通常是 Accessibility 权限没有授予。

处理方式:

  1. 打开“系统设置 → 隐私与安全 → 辅助功能”
  2. 给 NeurolingsCE.app 或启动它的终端授予权限
  3. 重新启动应用

模板与导入

导入成功了,但模板没有出现在列表里

优先怀疑:

  • XML 语法有问题
  • .mascot 包结构不规范,或 info.json.name 为空
  • 导入后的目录结构仍不符合运行时加载要求

请先看 导入桌宠模板。

.mascot 是目录还是文件?

从 0.3.2 开始,推荐的 .mascot 是一个单文件包,不再是普通目录。它可以理解成改了扩展名的 zip 包。

旧版本留下的 xxx.mascot/ 目录会在启动时尽量迁移为 xxx.mascot 文件。运行时加载时会把包解压到缓存目录读取 XML、图片和气泡文本;删除模板时删除的是安装目录中的 .mascot 文件。

怎么把旧版 Shimeji zip 转成 .mascot?

使用主界面“制作”页:选择 zip 后先检查内容,可以勾选要转换的条目并编辑 info.json,转换结果写入你选择的输出目录,不会自动导入模板库。

CLI 与 API

CLI 是不是通过 HTTP 控制程序?

不是。CLI 默认通过本地控制接口与运行时通信,HTTP API 仍然独立存在,但不是 CLI 的主通道。

HTTP API 为什么没响应?

HTTP API 默认关闭。需要先把 Qt 设置 http/enabled 设为 true,程序启动时才会监听 127.0.0.1:32456。

按这个顺序排查:

  1. 确认 http/enabled 已开启
  2. 确认运行时确实在运行
  3. 访问 http://127.0.0.1:32456/shijima/api/v1/ping
  4. 检查端口 32456 是否被其他程序占用

label 和桌宠实例 id 有什么区别?

  • id 是运行时实例 ID
  • label 是 CLI 面向用户的标签

label 会在运行时重启后失效。

日志与排查

怎么开启详细日志?

启动前设置环境变量:

$env:NEUROLINGSCE_LOG_LEVEL="debug"
$env:NEUROLINGSCE_LOG_STDERR="1"
.\NeurolingsCE.exe

Windows 默认日志目录为 %LOCALAPPDATA%\NeurolingsCE\log\YYYY-MM-DD\;Linux/macOS 会优先写入 Qt 的 AppLocalDataLocation/log。详细说明见 日志与调试。

更新相关

更新检查为什么不再走 GitHub API?

客户端现在读取 GitHub Pages 上的静态 latest.json 清单,避免共享出口 IP 触发 GitHub REST API 未认证限流;下载到本地的安装包会通过清单中的 SHA-256 校验后才允许安装。

下载更新包安全吗?

更新下载会做 SHA-256 校验。校验值优先来自静态 manifest 中的 sha256,否则回退到 Release 里的 SHA256SUMS.txt。校验失败时不会自动安装。

Codex 通知

Codex 通知没有显示怎么办?

先在“设置”中确认 Codex 托管 notify 配置已开启(codex/enabled)。通知是 best-effort 投递:只有运行时已经运行时才会显示;应用关闭后到达的通知会被忽略,不会为了显示通知重新启动运行时。

构建相关

CMake 找不到 Qt6

显式传入 Qt6_DIR、CMAKE_PREFIX_PATH 或 QTDIR。

MSVC 报 32 位工具链错误

请切换到 x64 工具链。项目当前不支持 32 位 MSVC。

macOS 上推荐怎么构建?

推荐 CMake + Homebrew:

brew install qt qttools libarchive cmake pkg-config
cmake -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DQt6_DIR="$(brew --prefix qtbase)/lib/cmake/Qt6"
cmake --build build

Qt6::Multimedia 或 Qt LinguistTools 缺失会怎样?

  • 缺少 Qt6::Multimedia:通常退化为无音效构建
  • 缺少 LinguistTools:翻译不会被编译进产物

子模块初始化不完整

请重新执行:

git submodule update --init --recursive

下一步阅读

Clone this wiki locally