flyingmouse-format README

The project's README from github.com/LaoFeng-mouse/flyingmouse-format. As one markdown file: README.md.

FlyingMouse Format / 飞鼠格式

A mouse-themed, offline Windows file converter. / 一款鼠鼠主题、可离线使用的 Windows 文件格式转换工具。

作者 Author:牢蜂(LaoFeng)

⚠️ 非商用声明 Non-Commercial Notice:本软件仅供个人免费使用,禁止任何形式的商业售卖、转卖、套壳换皮重新发布(详见 LICENSE)。发现闲鱼/淘宝等渠道倒卖请告知作者,感谢!

Release CI Platform License

下载最新版 / Download · 问题反馈 / Issues

FlyingMouse Format mouse UI

中文

主要功能

合规声明 Compliance Notice:本软件仅支持普通音频格式转换(MP3 / WAV / FLAC / AAC / OGG 等),不支持任何音乐平台的加密特殊格式。请支持正版音乐,尊重创作者。音频文件版权归原作者/唱片公司所有,本工具与各音乐平台无任何关联。本软件仅供个人免费使用,禁止商业售卖/转卖/套壳换皮重新发布。

快速开始

  1. 在 Releases 下载 v0.6.10 对应系统的安装包。
  2. 安装并启动 FlyingMouse Format。
  3. 拖入文件,选择目标格式并开始转换。
  4. 选择保存位置;软件会记住目标格式与保存目录。

从源码运行:

源码仓库不包含体积较大的 FFmpeg、LibreOffice、Poppler 和 Tesseract 资源;普通用户请直接下载 Release 安装包。开发者从源码运行完整转换功能前,需要自行准备 bin/ 下的引擎资源。

npm install
npm run desktop

命令行示例:

node cli.js capabilities --json
node cli.js targets example.pdf --json
node cli.js convert input.docx --to pdf --output output.pdf --json
node cli.js convert a.png b.png --to webp --output-dir converted --json
node cli.js images-to-pdf 1.jpg 2.jpg --output album.pdf --json
node cli.js merge-pdfs a.pdf b.pdf --output merged.pdf --json

安装版也可直接调用应用入口:macOS 使用 FlyingMouse Format.app/Contents/MacOS/FlyingMouse Format --cli ...,Windows 使用 FlyingMouse Format.exe --cli ...。在软件顶部点击“接入 Agent”,会检索已存在的 ~/.codex/skills、~/.claude/skills、~/.agents/skills(Windows 对应用户目录)并在确认后安装或更新 skill;不会自动创建未安装产品的目录。

运行测试与打包:

npm test
npm run dist

Windows 版本选择

Windows 7 兼容版是 Legacy 构建,不会降低标准版依赖。其 Electron 22 已停止上游安全维护,并包含无法在 Windows 7 上直接升级的已知依赖风险;PDF.js 动态代码执行已通过 isEvalSupported: false 缓解,但仍只建议离线处理可信文件。v0.6.10 通过 Windows、macOS arm64 和 macOS x64 自动化门禁以及真实样本回归;真实 Windows 7 SP1 x64 设备仍待验收。Windows 安装包均未签名,SmartScreen 可能提示。

macOS 版本选择

首批 macOS 包支持 macOS 11 及更新版本,未签名且未公证,可能触发 Gatekeeper。两个架构已在原生 GitHub runner 完成固定引擎、完整转换、包结构和 12 秒启动冒烟;真实 Mac 设备仍待验收。

完整构建只需:

npm run dist:win7

Win7 staging 使用专用 win7-package-lock.json 和 npm ci 重建;推荐使用 Node.js 22 LTS(构建脚本接受 18–22,其他主版本会在改动 staging 前拒绝)。构建脚本会绑定子进程到当前 Node、以 Unicode 安全方式复制源码、锁定 staging manifest/lockfile,并校验本地 builder 与打包资源没有越过各自允许的根目录或经过 junction/符号链接。

仅需检查 staging 时可运行 node scripts/build-win7.js --prepare-only;它不会打包。完整构建会重新准备 staging。

English

Highlights

Compliance Notice: this software supports only ordinary audio format conversion (MP3 / WAV / FLAC / AAC / OGG etc.) and does NOT support encrypted special formats from any music platform. Please support the artists and respect copyright. Audio file copyrights belong to the respective artists/labels; this tool is not affiliated with any music platform. The software is free for personal use only; commercial resale or repackaging is prohibited.

Quick start

  1. Download the v0.6.10 build for your system from Releases.
  2. Install and launch FlyingMouse Format.
  3. Drop in files, choose a target, and convert.
  4. Choose a save location. The app remembers both the target preference and save folder.

The source repository excludes the large FFmpeg, LibreOffice, Poppler, and Tesseract bundles. Regular users should install the Release build. Developers need to provide the corresponding resources under bin/ for the complete conversion feature set.

CLI examples:

node cli.js capabilities --json
node cli.js targets example.pdf --json
node cli.js convert input.docx --to pdf --output output.pdf --json
node cli.js convert a.png b.png --to webp --output-dir converted --json
node cli.js images-to-pdf 1.jpg 2.jpg --output album.pdf --json
node cli.js merge-pdfs a.pdf b.pdf --output merged.pdf --json

Packaged builds accept the same commands after --cli: use FlyingMouse Format.app/Contents/MacOS/FlyingMouse Format --cli ... on macOS or FlyingMouse Format.exe --cli ... on Windows. “Connect to Agent” discovers existing Codex, Claude, and generic Agent skill directories and installs the bundled lightweight wrapper after confirmation.

Choose a Windows build

The Windows 7 package is a Legacy build and does not downgrade the standard build. Electron 22 no longer receives upstream security maintenance, and other known legacy dependency risks cannot be upgraded without dropping Windows 7. PDF.js dynamic evaluation is disabled as a mitigation, but this build should remain offline and process trusted files only. v0.6.10 passed Windows, native macOS arm64, and native macOS x64 automation gates plus real-sample regressions; acceptance on a physical Windows 7 SP1 x64 system is still pending. Both Windows installers are unsigned and may trigger SmartScreen.

Choose a macOS build

The first macOS packages support macOS 11 or newer and are unsigned and unnotarized, so Gatekeeper may warn. Both architectures passed pinned-engine, full-conversion, bundle, and 12-second launch gates on native GitHub runners; physical Mac acceptance remains pending.

The complete build requires only:

npm run dist:win7

The Win7 staging tree is rebuilt with its dedicated win7-package-lock.json via npm ci. Node.js 22 LTS is recommended (host majors 18–22 are accepted; other majors fail before staging changes). The script binds child processes to the active Node, copies sources safely on Unicode paths, binds the staged manifest/lockfile, and rejects local builder or packaged resources that escape their allowed roots or traverse junctions/symlinks.

Use node scripts/build-win7.js --prepare-only only to inspect staging without packaging. A complete build prepares staging again.

Supported formats / 支持格式

Category / 类别 Input / 输入 Output / 输出
Images / 图片 jpg, png, webp, avif, tiff, gif, bmp, heic, heif, cr2, cr3, crw, nef, arw, dng, raf, rw2, orf, pef, srw, 3fr, erf, fff, iiq, kdc, mef, mrw, x3f png, jpg, webp, avif, tiff, gif (动图), pdf, txt (OCR), mp4, webm
Text / 文本 txt, md, html, json, csv, log, xml, yaml txt, md, html, json, csv, pdf, docx, epub
E-book / 电子书 epub, mobi txt, md, epub (mobi→epub 实验性)
Word/WPS/OFD doc, docx, odt, rtf, wps, wpt, wpd, ofd pdf, docx, odt, rtf, txt, html, md
Excel/WPS xls, xlsx, xlsm, ods, csv, tsv, et, ett pdf, xlsx, xls, ods, csv, html
PPT/WPS ppt, pptx, odp, dps, dpt pdf, pptx, odp, html, png, jpg (逐页转图 zip)
PDF pdf xlsx, docx, txt, html, png, jpg, split/解密 PDF
Audio / 音频 mp3, wav, flac, m4a, aac, ogg, opus, wma mp3, wav, flac, m4a, ogg, aac, opus, wma
Video / 视频 mp4, mov, mkv, webm, avi, m4v, wmv, flv mp4, webm, mkv, mov, gif, mp3, wav, flac, m4a, ogg, aac, opus, wma
ZIP / 压缩包 zip pdf (图片合并)
Any file / 任意文件 any zip

Privacy and security / 隐私与安全

License / 许可证

非商用许可 Non-Commercial License — 作者:牢蜂(LaoFeng)。

完整条款见 LICENSE。/ Full terms in LICENSE.

发现任何渠道倒卖本软件,欢迎通过 GitHub Issues 联系作者举报。

Support / 支持

FlyingMouse Format is free, offline, and has no ads. If it helped you, you can buy Mouse a dried fish — completely optional. / 飞鼠格式免费、离线、无广告。如果它帮到了你,欢迎请鼠鼠吃根小鱼干,纯自愿。

WeChat payment QR / 微信收款码

flyingmouse-format (LaoFeng-mouse/flyingmouse-format)

Searching Database…

这是什么?FlyingMouse Format 是一款免费、可离线使用的桌面应用,适用于 Windows(以及 macOS),可在图片、文档、表格、演示文稿、PDF、电子书、音频、视频和 ZIP 等格式之间进行转换,并内置 OCR 文字识别。
这是独立应用,还是我需要集成到代码里的库?它是一款独立的 Electron 桌面应用,需要安装后在本地运行,不是库,也不是云服务;它还提供命令行工具(CLI),方便编写脚本调用。
我该怎么开始使用?从 GitHub Releases 下载适合你操作系统的安装包,安装并启动后,拖入文件、选择目标格式再转换即可;它会记住你上次选择的格式和保存文件夹。
我需要单独安装 FFmpeg 或 LibreOffice 吗?不需要。打包发布版已内置 FFmpeg、LibreOffice、Poppler 和 Tesseract;只有从源码运行应用时,才需要自行把这些引擎的二进制文件放到 bin/ 目录下。
音频转换能处理流媒体应用里的音乐吗?不能。仅支持普通音频格式(MP3/WAV/FLAC/AAC/OGG/OPUS/WMA);音乐平台的加密格式(如 NCM 或 KGG)明确不支持。另外,Windows 安装包未签名,因此 SmartScreen 可能会发出警告。
支持哪些 Windows 和 Mac 版本?提供 Windows 10/11 x64 版本,以及用于旧系统的 Windows 7 SP1 x64 版本,还有适用于 Apple 芯片和 Intel 芯片的 macOS 版本;暂无 Linux 版本。macOS 和 Win7 版本仍处于实验阶段,且未签名。
我的文件内容会被上传到任何地方吗?不会。所有转换都在本地完成,文件从不会发送到云端服务;Electron 应用以上下文隔离、沙箱方式运行,并使用仅限本机访问的随机端口。
“Connect to Agent”按钮有什么作用?它会扫描已有的 Codex、Claude 或通用 Agent 技能目录,并安装一个轻量的 CLI 技能封装,让这些编程代理可以直接调用转换工具。
它能把 PDF 转成可编辑的 Word 或 Excel 文件吗?可以。PDF 转 Excel 使用智能表格提取,扫描页面会用 OCR 识别,并支持合并单元格;PDF 转 Word 则使用内置的 pdf2docx 引擎还原段落、表格、字体和版式,遇到扫描版 PDF 时会改用 OCR。
它能处理相机 RAW 照片吗?可以,但仍处于实验阶段。Windows 版本可以使用内置的 dcraw 解码器,将 CR2/CR3/NEF/ARW/DNG 等 RAW 格式转换为 JPG/PNG/WebP/TIFF。
文件大小有限制吗?没有限制。为保证完全 1:1 的还原度,已取消文件大小、像素、批量、PDF 页数和 OCR 页数的上限;超大文件只受电脑内存限制,加载可能较慢。
Size
7.6 MB
Stars
6.7K
Age
2mo
Commits · 90 Days