flyingmouse-format

AGENTS.md

现役版本、渠道状态与产物来源统一查 0.7.10 修复与发布记录,用户变化见发布说明。GitHub 发布、本地 MSIX、商店认证和客户端安装必须分别验证;不要用后续测试或文档提交改写已验收二进制的构建来源。CAD 工作仍暂停,本地音乐专用模块不在公开分支。

Windows 构建使用 package.json 配置和锁定引擎,需准备 MSVC。完整重建 EXE/ASAR 后由 afterSign 附加原生入口。不得关闭 GPU 或渲染器沙箱、全局重置 ACL 或按 Unknown Account 名称批量删除权限。

Project boundary

FlyingMouse Format(飞鼠格式)是 Windows Electron 离线文件转换器。主产品必须使用原版鼠鼠 UI;它与“鼠鼠打印”是两个独立项目,禁止跨项目修改或混合发布物。

当前技术栈:Electron 43、Windows 10/11 x64、鼠鼠 UI、中英文切换、批量转换、偏好与保存目录记忆。PDF 按原生/扫描内容分流,见 架构;OFD 仅通过 ofd-convert.js 转 PDF,不走 LibreOffice。Windows 7 SP1 x64 只通过独立 staging 派生 Electron 22.3.27,禁止降低根 manifest 的主线依赖。分渠道发布状态以 0.7.10 修复说明 为准,不能从源码版本推断已安装版本。

Source map

Product invariants

Conversion boundaries

Security boundaries

Runtime paths and diagnostics

Electron 启动时设置:

开发或测试还可覆盖 FLYINGMOUSE_PDFTOPPM_PATH、FLYINGMOUSE_TESSDATA_PATH 和 PORT。

桌面日志位于 %APPDATA%\FlyingMouse Format\debug.log。独立运行 node server.js 时默认写 %TEMP%\flyingmouse-format-debug.log。

Commands

npm install
npm run desktop
npm test
npm run test:ci
npm audit --omit=dev
npm run dist
npm run dist:lite
npm run dist:appx
node scripts/build-win7.js --prepare-only
npm run dist:win7
node scripts/inspect-pe.js "output/win7-stage/dist/win-unpacked/FlyingMouse Format.exe"
npm audit --omit=dev --prefix output\win7-stage

沙箱限制 Node 子进程时可能出现 spawn EPERM;这不是转换代码失败。真实转换测试和打包应在普通 Windows PowerShell、cmd 或 CI 中运行。

完整本地测试依赖外置引擎。.github/workflows/ci.yml 在 main push 或 PR 时恢复锁定引擎并运行 npm test;普通修复分支 push 不触发。release.yml 在 v* 标签或手动 dispatch 时进入构建/发布流程。引擎资产必须同时匹配 ci-engines-v1.json 与原生引擎锁;不要跳过锁校验。

Packaging and release

Documentation map

著作权与许可(2026-08-14 起强制执行)