
桌面应用开发工具【免费下载链接】MooToolHandy tool set for developers项目地址https://gitcode.com/gh_mirrors/mo/MooTool点击查看免费下载本文基于 MooTool 开源仓库中next-macos-nativemacOS 原生版的0.8.0 验收记录verification-0.8.0.md整理而成。0.8.0 是该产品线的首个公开预发布版本文完整梳理其自动化验收体系check-core.sh59 组测试、smoke.sh界面/交互全绿、交付功能范围文本对比工作区、菜单栏托盘、关闭主窗口行为、SQLite 数据迁移等、三语国际化覆盖边界与手工验收建议。读者读完后可以掌握这套 macOS 原生工具产品的质量门禁做法、0.8.0 的完整功能清单以及如何复现对应验收流程。一、0.8.0 验收概况next-macos-native是 MooTool 独立的 macOS 产品线使用 SwiftUI、AppKit 和系统框架实现沿用nextElectron 版的 26 个工具入口、分组导航和编辑工作区详见 next-macos-native/README.md。0.8.0 是其首个公开预发布版GitHub tagnext-macos-native-v0.8.0prerelease且make_latest: false详见 parity.md。验收记录给出的核心结论是命令结果说明./scripts/check-core.sh59 组0 失败含 SQLite 导入HTTP / Host / 翻译 / 收藏 / 历史 / 草稿 /t_quick_note/t_json_beauty2026-09-17 工作树终验复跑通过./scripts/smoke.sh通过偶发需复跑附件、随手记、JSON、格式化、文档库选区/滚动、86 张截图、重启持久化2026-09-17 两批 i18n 后均单次全绿约 6.1 min / 8.6 min最近一次 smoke 全绿为2026-09-17调色板 / Cron describe / JSON worker / 计算器标签等批次后单次通过约 6.1 min同日 Markdown 预览 / 托盘·附件批次约 8.6 min亦全绿。二、自动化验收体系check-core 与 smoke 双门禁2.1 check-core.sh命令行工具集环境下的 59 组核心测试check-core.sh 是核心逻辑的回归门禁解决了一个 macOS 工程常见的痛点Command Line ToolsCLT环境不包含 XCTest 框架。它的做法是先执行 check-toolchain.sh 校验工具链要求 macOS SDK 26、Swift 6.2应用运行最低版本仍为 macOS 14swift build构建MooToolNextCore并收集MooToolNextCore.build、Yams.build、CYaml.build的全部目标文件用swiftc -parse-as-library -D STANDALONE_CHECK把测试用例 CoreTests.swift 与 StandaloneTests.swift 一起编译成独立可执行文件MooToolNativeCoreChecks直接运行该可执行文件按组输出 PASS/FAIL 并统计失败数。StandaloneTests.swift 中定义了轻量XCTestCase/XCTAssert*桩实现让同一份CoreTests.swift测试体在 CLT 和完整 Xcodeswift test两条路径下都能运行。最终汇总的 59 组覆盖范围包括文本对比 Electron 样例、格式化解析器与独立辅助程序、图片附件插入/备份/导出、随手记快速替换与 Markdown 块、JSON 原生格式化/JSONPath/转换/查找替换、文档库层级与原子导入、Vault Git 检查点调度、编码往返、RSA/SM2/AES-GCM、正则、配置转换、时间、计算器、Cron、Protobuf、PDF 页码、HTTP 校验/cURL 往返、扩展工作区与产品隔离等另有 5 组异步用例进程捕获超时、本地 HTTP 响应、重定向与会话隔离、JSON worker 超时取消、Reformat worker 隔离。2.2 smoke.sh真实界面与交互的全绿验收smoke.sh 是界面级验收门禁运行在已登录桌面环境会先swift build创建临时隔离数据目录MOOTOOL_NATIVE_TEST_DATA与验收截图目录MOOTOOL_NATIVE_SCREENSHOTS即dist/acceptance/以--smoke-test参数启动MooToolNextNative应用执行附件的NativeAttachmentAcceptance、随手记NativeNoteAcceptance、JSONNativeJSONAcceptance、VaultNativeVaultAcceptance、格式化NativeReformatAcceptance、文本对比NativeDiffAcceptance等专项验收随后以--verify-workspace校验重启持久化生成浅/深色主题、窄窗口等共 86 张界面截图并把报告与日志写入dist/acceptance/。smoke 支持按需裁剪的专项参数便于定位问题域./scripts/smoke.sh --window-capture # 完整窗口截图含系统工具栏与材质层 ./scripts/smoke.sh --chrome-only # 工具栏动作、搜索控件、分栏宽度与 12 种窗口布局 ./scripts/smoke.sh --feedback-only # 浮动提示关闭/超时、材质回退、双主题/窄窗口及重启恢复 ./scripts/smoke.sh --notes-only # 仅随手记、附件交互及新进程恢复 ./scripts/smoke.sh --window-capture --format-only # 仅格式化交互、5 种布局和重启恢复 ./scripts/smoke.sh --window-capture --diff-only # 仅文本对比交互、5 种布局和重启恢复 ./scripts/smoke.sh --window-capture --note-layouts-only # 仅随手记布局和图片分栏宽度回归验收使用临时数据目录及.acceptance偏好域不会访问真实工作区操作的是实际 NSTextView 与原生按钮检查差异高亮、导航、统一只读补丁、格式化撤销、快速切换、文档与图片附件、独立工作区以及新进程恢复。2.3 验收中的稳定性加固flaky 治理从验收记录可见0.8.0 期间针对负载下的偶发失败做了多轮针对性加固这也是值得参考的工程实践JSON worker / JSON 验收超时放宽至10s提交dc5f1049后 smoke 单次全绿约 3.7 min文本对比统一输出、JSON 输入转换与格式化文件模式增加轮询等待bb07bcc1、ee738d0d、1faf101c等提交随手记查找计数等待加长waitForFind格式化 smoke 验收加长撤销/历史等待NativeReformatAcceptance。这些改动背后的诱因是 SwiftPM 并发构建抢占.build目录导致的偶发超时记录中多次出现“首轮失败、单独复跑通过”的同一类 flake。三、0.8.0 功能范围验收记录将 0.8.0 的重点归纳为文本对比工作区双编辑器、统一视图、历史恢复工作台分栏与迁移Electronmootool-next.json合并布局/代理/编辑器与 Git 选项加密 / Host / 翻译 / 收藏SQLite 历史与t_func_content草稿导入菜单栏托盘与关闭主窗口行为general.closeBehavior询问 / 隐藏 / 退出。3.1 文本对比工作区0.8.0 核心交付文本对比改为与 Electron 对应的双编辑器工作区支持字符与行高亮、统一补丁、忽略空白、差异导航、同步滚动、交换、复制和历史恢复940px 窄窗口采用两行工具栏详见 text-diff-workspace.md。从引擎实现 TextDiff.swift 可以看到关键技术约束与设计输入变化后约160 毫秒自动比较比较在后台执行不会用过期结果覆盖当前工作区资源保护上限总输入限50 万 UTF-16 单元左右行数乘积限1000 万对应测试testTextDiffWhitespaceTrailingLinesAndBounds中的String(repeating: x, count: 500_001)抛错用例一对需比较的行合计超过4000 单元时改用行级高亮maximumCharacterPair 4_000统一补丁仍保留完整内容统一补丁按三行上下文分组输出 -oldStart,count newStart,count 忽略空白只隐藏对应高亮不删改真实补丁测试样例验证one two与one two忽略空白后 segments 为空、但 unified 仍含-one two/one two高亮使用 NSTextView 临时文本背景尚未包含 Monaco 的行侧边标记及完整编辑装饰明确列在边界内。3.2 菜单栏托盘与关闭主窗口行为菜单栏托盘MenuBarTray.swift提供打开、设置、屏幕取色、区域截图、翻译与 Host 配置切换等快捷入口托盘菜单项随general.language刷新通过general.trayEnabled可关闭。取色通过系统NSColorSampler完成截图调用/usr/sbin/screencapture -i -x。关闭主窗口行为MainWindowClosePolicy.swift与 Electron 的closeBehavior一致默认ask弹出「隐藏窗口 / 退出 / 取消」确认hide仅orderOut隐藏quit直接终止应用。smoke/verify 模式下直接关闭以支持无人工验收。3.3 GitHub 更新检查帮助菜单与设置 → 关于通过 GitHub Releases API 检查更新UpdateChecker.swift启动时受general.autoCheckUpdates控制若同时开启autoDownloadUpdates则发现新版本直接打开下载页暂无后台安装器明确列为 0.8 边界。四、三语国际化zh-CN / en-US / ja-JP交付范围0.8.0 的大头工作是界面与 Core 错误的三语化。验收记录按批次逐条确认可归纳为以下几层界面层侧栏/工作台/工具面板侧栏/搜索/26 个工具名三语、首页区块与设置分类标题、工作台工具栏与 ToolPage/共享编辑器栏、应用菜单、历史弹窗、调色板工具栏、翻译三标签翻译/词库/历史、HTTP 请求/响应分栏与表单/集合弹窗、Host/收藏弹窗与AppStore.run状态、网络工具面板、Cron 工作区与首页其他作品、留言板/系统信息工具栏、自定义分组与侧栏工具显示 sheet、二维码/图片/PDF 工具栏、文本对比工作区、格式化工作区、JSON 主工作区工具栏/检查器/查找条/弹窗/历史 sheet与结构树/路径选择面板JSONTreePane、文档库侧栏JSON/随手记、随手记编辑区工具栏/查找/24 项快速替换与 Markdown 预览块级 UIquickNote.preview.*。Core 层用户可见 ToolErrorMooToolNextCore 内硬编码中文清零。覆盖键名前缀包括键名前缀覆盖范围encode.error.*/config.error.*/regex.error.*/calculator.error.*编码、配置转换、正则、计算器 Core 校验错误reformat.error.*/reformat.undo.*格式化宿主/ReformatTools边界错误与撤销动作名含vendor/formatters/entry.js重打包cron.error.*、cron.describe.*/cron.weekday.*Cron 解析/构建/运行次数错误与可读摘要QuartzCronParser/CronExpression、CronToolView传languageprotobuf.error.*/messageBoard.error.*Protobuf wire 解析与留言板选项校验textCrypto.error.*TextTool /CryptoToolViewlegacy AES-GCMTextServices.digest校验错误textDiff.error.*文本对比输入超限错误TextDiffEngine.comparecrypto.error.*/crypto.verify.*/encode.error.base32InvalidRSA/SM2/RSAOpenSSLBridge错误与验签结果、对称 AES/DES/SM4 ECB、Base32http.error.*/http.curl.*/http.field.*/http.multipart.*/process.error.*/net.error.*HTTP/ProcessRunner/网络诊断校验错误migration.error.*/migration.warning.*/backup.error.*/workspace.error.*Electron 设置/SQLite 导入与备份校验、迁移 warningsvault.error.*/vault.import.error.*文档库校验/重命名/移动/批量导入、DocumentImportReader批量导入校验git.error.*/git.result.*VaultGitService用户可见ToolError与操作结果摘要quickNote.error.*/attachment.error.*/backup.error.attachment*/quickNote.image.*随手记查找替换限额、图片预览/插入队列、备份恢复附件路径host.error.*/host.validate.*Host 校验/配置保存错误与校验结果摘要timeConvert.error.*/timeConvert.detail.*时间转换校验错误与「详细解析」字段标签tray.status.*菜单栏托盘操作状态color.preview.title/color.label.*/calculator.label.*调色板预览标题与结果栏格式标签、计算器进制转换结果行标签vault.status.deletedDraftKeptVaultStore 删除草稿提示json.valid.*JSON workerJSONDispatch.jsJSONTools.js校验 idle/ok/errorworker 层JSON workerJSONDispatch.js宿主与 worker 校验文案随language三语请求携带languagelegacy TextTool JSON/紧凑加密与 crypto 稳定模式键保持稳定算法键。五、数据迁移范围0.8.0 的设置 → 数据迁移支持从 ElectronMooToolNext.db或 Java~/.MooTool/MooTool.db的 SQLite 表合并详见>赞分享桌面应用开发工具【免费下载链接】MooToolHandy tool set for developers项目地址https://gitcode.com/gh_mirrors/mo/MooTool点击查看免费下载相关推荐MooTool Next macOS Native 0.5.0 本机验收流程解析43 组核心测试到 Universal DMG 的可信发布闭环MooTool Next macOS Native 0.5.0 本机验收流程解析43 组核心测试到 Universal DMG 的可信发布闭环 本文围绕 Mo桌面应用开发工具MooTool Next macOS Native 0.4.0 本机验收记录全解析JSON 解析引擎、JavaBean 生成与 Universal 打包验证MooTool Next macOS Native 0.4.0 本机验收记录全解析JSON 解析引擎、JavaBean 生成与 Universal 打包验证桌面应用开发工具MooTool Next macOS Native 0.7.0 本机验收记录详解格式化双工作区、Universal 安装包与可复现验收流水线MooTool Next macOS Native 0.7.0 本机验收记录详解格式化双工作区、Universal 安装包与可复现验收流水线 本篇基于 Moo桌面应用开发工具上一篇探索WindFM-Tokenizer的未来路线图与风电预测技术发展趋势下一篇FauxPilot跨语言支持测试Java/JavaScript补全效果评估创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考