# OpenLess 2.0:范围与完成条件 状态:canonical;更新:2026-09-29。 ## 1. 平台与版本锚点 | 目标 | 载体 | 版本锚点 | | --- | --- | --- | | Windows / macOS / Android | Tauri 2 Host + React 界面(`src-tauri/` + `src/`) | `src-tauri/tauri.conf.json` 与 `package.json` 版本须同步;2.0 起点为 `v2.0.0-Beta.1-tauri`;identifier `com.openless.app` | | Linux | egui/eframe Host + 原生 UI(`linux-egui/`,crate `openless-linux-egui`) | 内部 crate 版本为 0.1.0;发行包使用应用版本与 `linux-egui/package-revision`,以发布工作流为准 | | 共享业务 | `crates/openless-core`(平台无关,crate 版本 0.1.0) | 公开合同 `openless-all/app/contract/backend-2.0.json` | 显示版本与内部 crate 版本是两个概念;发布版本号、标签与渠道以仓库发布流程(`RELEASING.md`、GitHub workflows)为准。 ## 2. “完整”的定义(Windows / macOS) - 比较对象是用户可执行的操作链:入口 → Core 业务 → 原生效果 → 结果/历史/错误反馈。仅类型、按钮、fixture 或接口存在不算实现。 - 功能基线为各平台 1.x 实际交付(标签 `v1.3.18-tauri` 及其 beta 线);架构迁移不得丢失功能、旧数据、快捷键、取消与异常恢复路径。 - 平台特有能力按各自 OS 范围验收,不要求跨平台移植:Windows 的 TSF/IME(`windows-ime/` 工程)、Foundry/Sherpa 本地 ASR;macOS 的 AX/TIS、Apple Speech、MLX。 - 原生能力以真实结果表达;`Unsupported`、no-op、伪成功或仅单元测试通过不构成交付。 ## 3. 完成条件 | 范围 | 完成条件 | | --- | --- | | Windows | [桌面验收清单](2.0-desktop-acceptance.md)各域生产接线 + 安装、目标应用与设备验收 | | macOS | 同上,另加 Intel/Apple Silicon、权限、输入源、本地模型、签名与公证 | | Android | APK 工作流与悬浮窗管线按 [Android 计划](android-mobile-apk-overlay-plan.md),原生键盘与后台恢复按 [Android 输入法](android-ime.md) | | Linux(本批移交) | 可接入的 Core + 交接资料完整;应用侧缺口按[登记表](linux-egui-handoff/02-gap-register.md) L01–L12 推进,不阻塞 Windows/macOS 交付 | | 共享 Core | 合同、迁移、会话与取消语义可被 Linux 直接接入,见[契约](linux-egui-backend-contract.md) | ## 4. 证据分级 源码已实现 / 自动测试通过 / 目标平台编译通过 / 安装运行通过 / 设备交互通过,五级分开表述。CI、单元测试与内部审查不替代真实发布所需的行为证据;macOS 上的构建或 cfg 排除不能冒充 Linux 原生结果。