# FlyingMouse Format 公开源码交接 状态日期:2026-11-04。**0.8.4 Office 长路径修复的商店 MSIX 候选已完成整体构建及本地验收,尚未安装、上传、提交认证或公开发布;GitHub 公开最新版仍为 0.8.3 Windows 10/11 x64 完整版。**0.8.3 后续 Store 候选因 Office 中间路径问题暂停交付,其证据保留。作者:牢蜂(LaoFeng);仅供个人免费使用,禁止商业售卖、转卖和套壳。 ## 公开源码与发布状态 | 对象 | 当前含义 | | --- | --- | | 工作入口 | 使用本仓库相对路径;先读 [AGENTS.md](../AGENTS.md)、当前差异与 [0.8.4 候选说明](release-notes-084.md)。源码版本、依赖锁与当次版本说明应同步;[0.8.3 更新说明](release-notes-083.md) 保留已发布版本的证据。 | | 功能边界 | 公开源码只支持普通音频。平台专用音乐模块、登录与凭据接入、私有样本和本地专用安装器不进入此分支;关闭运行时开关不能替代源码与包内容检查。见 [分发规范](分发与合规规范.md)。 | | 当前候选验证 | 0.8.4 构建源码完整测试 **1,375 通过、0 失败、11 条件跳过**;生产与全量 npm 审计 **0 告警**。入口、Runtime、ASAR 已整体重建;**5 组 GUI、6 组缓存/HTTP 场景通过,生成 11 份产物**。MSIX 全载荷核验通过,测试副本与包中 **20,632 个应用文件**逐项一致;这些为本轮独立结果。 | | 已发布 0.8.3 验证 | Windows / Node 22.23.4 从锁文件独立安装后,完整测试 **1,368 通过、0 失败、11 条件跳过**,跳过不计通过。生产与全量 npm 审计均 **0 告警**;依赖树、四补丁、公开功能边界及构建白名单核对通过。[PR #88 CI](https://github.com/LaoFeng-mouse/flyingmouse-format/actions/runs/41810778109) 与 [合并后 main CI](https://github.com/LaoFeng-mouse/flyingmouse-format/actions/runs/41811574267) 的 Windows、macOS x64/arm64 检查均通过。 | | 已发布 0.8.3 二进制 | 已整体重建入口、Runtime 与 ASAR;最终解包应用 **17 组 GUI 场景通过**,含 1 组损坏 ICO 预期拒绝,生成 16 份转换产物。NSIS 归档完整性和 **20,633 个载荷文件**逐项比对通过。该轮验证未执行安装器覆盖安装,不把解包应用验收表述为安装流程验收。 | | 合并、标签与发布 | [PR #88](https://github.com/LaoFeng-mouse/flyingmouse-format/pull/88) 已合并;[v0.8.3 Release](https://github.com/LaoFeng-mouse/flyingmouse-format/releases/tag/v0.8.3) 已公开。标签指向 `e8d0827016192f980893b08c09920305ef089dab`,其 Git 树与实际构建提交 `49908ae9d930fff6bab14f89eb3131f58016d86d` 相同。发布仅包含 Windows 10/11 x64 完整版;Lite、macOS、Win7 未构建或发布,后续 0.8.3 Store 候选未交付。0.8.4 尚未发布。 | | Windows 7 | 保持独立 Legacy profile 和锁文件。本轮主线依赖修复不代表 Win7 依赖风险已清零,也不代表新 Win7 包或真实设备验收已完成。 | ## 0.8.4 Office 长路径候选 后续 Store 候选的实际转换在深层 TEMP 下出现 Markdown→PDF 失败,原生输出包含无法打开中间文件及缺少导出过滤器的信息。引擎冷缓存准备与 CSV→PDF 自检通过,并不覆盖这条转换路径。问题定位为 Office 中间输入、输出路径过长;此前仅缩短配置目录仍不足以保证文档转换可用。 候选在 `office-convert.js` 中使用有长度上限的独占工作目录和短输入名,保留扩展名、原文件及调用方完整目标名称;收尾清理限定于身份匹配的本次目录。新增 [Office 路径回归](../tests/office-convert-paths.test.js) 纳入本地与 CI 测试入口。既有 Office 修复、公开普通音频边界、依赖版本及 Win7 独立依赖边界不变。 0.8.3 Store 候选及其失败、未完成的全载荷验证证据保留,不作为通过验收或可交付结果。0.8.4 从提交 `e6d2ae3824fc7f16d21b8a542340b4e5361e9d5f` 整体重建入口、Runtime 与 ASAR;冻结的 376 份源码、生产依赖、许可证、图标及引擎资源均已绑定核验。实际包的独立副本通过深层 TEMP 和长中文路径的 Office、Markdown、PDF 转换;冷缓存准备、暖缓存复用和转换后的验证收据保持一致,原始输入未变,正常关闭后无所属残留进程。 [CI #201](https://github.com/LaoFeng-mouse/flyingmouse-format/actions/runs/41834919665) 对提交 `f0924adba556b815b18a1fe1611bbce73d4b1881` 的 Windows、macOS x64/arm64 检查全部通过:Windows **1,375 通过、11 条件跳过**,两个 macOS 架构各 **1,359 通过、27 条件跳过**,均为 0 失败、npm 审计 0 告警。该提交与实际构建提交仅有两份测试文件差异,运行代码相同;CI 不替代 macOS 安装包或真实设备验收。 候选文件 `FlyingMouse-Format-0.8.4-x64-unsigned.msix` 大小 **2,013,954,344 字节**,SHA-256:`a5301c0423b7c190695e898cd28bbabfeb056fd7ce0a4fc6263c68de5d6ebf5a`。Manifest 为 `0.8.4.0` / x64;**20,639 个 ZIP 文件**的 CRC、内容摘要及 BlockMap(含压缩块大小、偏移和 FileHash)检查通过,三核心与已测程序一致。四个 OPC 保留名仅改名且字节不变,四份商店 Logo 与源码一致。 本轮只生成完整程序目录与未签名 MSIX,没有新 NSIS 或公开下载;未在实际 Store 包身份下安装运行,未上传、提交认证或公开发布 0.8.4。上述本地验收不代表商店已接受或认证通过。 ## 已发布 0.8.3 通用修复 本轮公开构建补齐作者及非商用元信息,将原始 LICENSE 纳入应用,并在 NSIS 安装器展示完整许可文本。首轮包的 ICO 提示及深层临时目录问题修复后重新整体构建,首轮包未作为发布物。界面 ICO 说明随语言更新,清空文件或切换为其他目标格式后隐藏。PDF 栅格化与 OCR 准备改用任务专属短目录,覆盖深层 TEMP 和长中文输入、输出路径;保持原文件不变,失败或取消后清理所属临时文件且不发布未完成结果。最终 GUI 验证同时覆盖原图文 PDF 的明确提示式 OCR 回退和纯文字 PDF 的无告警原生转换;不声称复杂图文可无损还原。 GitHub 首轮检查发现 Windows 系统 TTC 字体合集写出失败和 macOS 深 TEMP 下的原生 PDF 暂存路径问题。已修复字体合集的系统备用字体选择、按需嵌入及跨转换缓存,并在所有平台对原生 PDF 暂存启用长度约束;新增七项回归,原测试断言保留。自动检查改用官方 Node24 Actions 并固定完整提交摘要;最新远端结果见 [PR #87](https://github.com/LaoFeng-mouse/flyingmouse-format/pull/87) 的检查记录。 - **ICO 双向转换**:常见图片生成多尺寸 Windows 图标;ICO 可转回常见图片或加入图片合并 PDF。保留比例、透明像素与传统透明蒙版;动画取首帧、JPEG 合成白底时给出提示。损坏目录、越界像素、缺失蒙版或不支持的编码明确报错。 - **普通媒体与任务收尾**:修复音轨排在视频前时的透明背景处理,以及普通媒体 5.1(side) 音频转 WebM/Opus 的兼容问题;修复合并取消后的残留结果与不可读取输入的反馈。 - **电子书安全**:导出 HTML 时按结构清理活动内容并限制 URL 协议,覆盖特殊标签拼接与未加引号链接;正常正文、表格、图片及允许的链接继续保留。 - **依赖升级与 Excel 兼容**:更新存在已知告警的文件匹配、归档及构建依赖。ExcelJS 保留 4.4.0 与普通/流式接口;补齐标准管道返回值、ZIP 元数据顺序、压缩错误传递和 XML 结束检查。四份受维护补丁的来源、许可和摘要验证见 [补丁说明](../third-party/dependency-patches/NOTICE.md)。 测试入口包括 [ICO](../tests/ico-format.test.js)、[媒体](../tests/media-codec.test.js)、[电子书完整性](../tests/ebook-integrity.test.js)、[依赖补丁](../tests/dependency-patch.test.js) 和 [真实依赖兼容性](../tests/dependency-compatibility.test.js)。本公开分支已执行完整测试及 [公开包边界检查测试](../tests/public-package.test.js),最终包另行完成实际界面与载荷验证。早期公开源码验证曾因 README 旧版本构建文件名检查失败;修正文档后完整复跑通过,未改测试断言。 ## 公开下载与校验 从 [v0.8.3 Release](https://github.com/LaoFeng-mouse/flyingmouse-format/releases/tag/v0.8.3) 下载以下四项资产。安装器原构建名为 `FlyingMouse Format-Setup-0.8.3-x64.exe`,公开下载名将空格改为连字符;两者安装器字节相同。`latest.yml` 与 blockmap 已按公开下载名校验。 | 资产 | 字节数 | SHA-256 | | --- | ---: | --- | | `FlyingMouse-Format-Setup-0.8.3-x64.exe` | 1,618,541,947 | `3a3825bd3eb751c451978c6248a52c17e122fdf708556fd7a4cc55739592ec2d` | | `FlyingMouse-Format-Setup-0.8.3-x64.exe.blockmap` | 1,679,410 | `b6e5b323af55563c42c2da8cabcf840ba46ee59ae556b847edbe6ea52ce529c1` | | `latest.yml` | 374 | `53179c3465b156e7cc75214ecf7cc77c5cf56ad7b33d5b1748a2bb5437897003` | | `SHA256SUMS.txt` | 299 | `c13d5975da6aa241a59d9820a73993ab2488ee1c35d4513ab34e7ab85e411c97` | Windows 安装器未签名,可能出现 SmartScreen 提示。审计零告警只覆盖本次锁定的 npm 依赖,不代表原生引擎或整套软件零风险。其他平台的代码 CI 通过也不等于其安装包已构建或通过实机验收。 ## 来源 R14 验证记录 以下为维护者本地 **0.8.3 R14 来源版本**的已完成验证摘要,用于说明通用修复的来源;该来源与剥离专用功能后的公开变体不同。 | 来源验证 | 结果与范围 | | --- | --- | | 完整测试 | 预检 139 项、主套 1,345 项通过,合计 **1,484 通过、0 失败、11 条件跳过**。跳过不计通过;冻结源码在测试前后摘要一致。 | | 依赖审计 | 当次锁定的生产依赖告警由 8 项降为 0,全量依赖由 21 项降为 0;依赖树完整性检查通过。此结论不是原生引擎或任意未来依赖状态的安全保证。 | | 双运行环境 | Node 26.2.0 与 Electron 43.8.6 内置 Node 24.22.1 各通过 10 项真实兼容测试,均无跳过;含普通工作簿、3,000 行流式表格、CSV、ZIP 和损坏文件拒绝处理。 | | 重建与界面 | 来源版本完成入口、Runtime、ASAR 整体重建与逐文件核验;构建目录和本地更新后的程序各通过 15 组受控界面场景,各含 1 个预期拒绝的损坏 ICO,分别生成 16 份输出。 | 早期仅覆盖新版 minimatch 的方案在实际 glob 匹配中失败,因此采用兼容的父依赖升级;首轮完整测试另发现 README 标点触发版本状态检查,修正文案后重新冻结和全量复测。失败记录与私人机器收据由维护者保留,测试断言未放宽。公开仓库不包含这些机器路径、账号资料或用户原件。 ## 开发与后续验收 1. 主线使用 **Node.js 22.13.0 或更新版本**,按 README 准备锁定引擎并在独立物理目录执行 `npm ci`。`postinstall` 自动校验和应用四份兼容补丁;构建前运行 `npm run verify:dependency-compat`,规则或摘要不符时停止。 2. 从最终公开 Git 树运行完整预检和主测试,记录执行环境、通过/失败/跳过数量及生产、全量 `npm audit`。引擎缺失与平台条件须如实记录;来源版本的日志不能替代本分支结果。 3. 按 [发布流程](RELEASE.md) 构建公开包,校验运行模块、原生引擎、版本、图标、ASAR 完整性及普通音频边界,再执行实际 CLI/GUI 和安装验收。公开源码、HTTP、CLI、UI 与包内容保持同一功能范围。 4. Win7 使用独立 Node 18–22 构建环境、`win7-package-lock.json` 和 Legacy staging。移除主线现代依赖覆盖与补丁钩子,单独运行 staging 测试、旧依赖审计、PE 检查和设备验收;主线依赖不降级。 历史修复按各自日期与版本解释,机制参见 [架构](ARCHITECTURE.md);旧交接中的临时目录、现场账号试验、安装和清理记录不继续搬入公开仓库。真实外部文档的复杂版式与格式变体仍按软件现有能力边界处理,不承诺任意文件等价还原。