# OmarchyCN 产品需求文档(PRD) > China-native, AI-first Omarchy downstream distribution. | 项目 | 内容 | |---|---| | 产品名称 | OmarchyCN | | 产品类型 | 基于 Omarchy 的中国开发者下游发行版与可叠加发行层 | | 文档版本 | 1.0 | | 文档状态 | Implementation Draft | | 文档负责人 | Zachary Zhang / OmarchyCN Community | | 更新时间 | 2026-08-24 | | 当前上游规划基线 | `basecamp/omarchy` 的 `quattro` 分支,仓库版本文件为 `4.0.0.alpha` | | 目标架构 | x86_64、UEFI、Wayland | | 建议代码许可证 | MIT;保留 Omarchy 原始版权与许可证声明 | | 建议文档许可证 | CC BY-SA 4.0 | | 品牌状态 | `OmarchyCN` 作为工作名称,发布前完成名称与商标审查 | --- ## 目录 1. 产品摘要 2. 背景与机会 3. 产品愿景 4. 产品目标 5. 用户画像 6. 核心用户场景 7. 产品原则 8. 成功指标 9. 发布形态与版本策略 10. 功能需求 11. 信息架构与交互设计 12. 系统架构 13. Tech Stack 14. AI Adapter 技术设计 15. 软件供应链与安全 16. 性能与可靠性要求 17. 硬件与兼容测试矩阵 18. 可访问性与本地化质量 19. 文档需求 20. 开源、许可证与品牌 21. CI/CD Pipeline 22. 里程碑 23. 风险与缓解措施 24. Definition of Done 25. 首版命令清单 26. 待确认产品决策 27. 官方事实基线与参考资料 28. 最终产品定义 --- ## 1. 产品摘要 OmarchyCN 是面向中国大陆开发者、AI 工程师、独立开发者与技术团队的 Omarchy 下游发行版。产品完整保留 Omarchy 的 Arch Linux、Hyprland、Quickshell、快捷键、主题、应用管理与 AI Agent 桌面体验,并增加中国网络环境、中文输入、中文字体、国内应用与中国 AI 服务的系统级支持。 产品包含两种交付形态: 1. **OmarchyCN ISO**:用于全新安装,包含可离线安装的核心系统、国内镜像预检、中文环境、输入法与 OmarchyCN 初始配置。 2. **OmarchyCN Overlay**:用于现有 Omarchy,安装后将中国镜像、中文输入、AI Hub、国内应用入口与 OmarchyCN 更新通道叠加到现有系统。 OmarchyCN 采用薄下游策略。上游系统行为持续由 Omarchy 提供,中国市场特性集中在独立目录、独立软件包、独立配置层和独立迁移中。该策略用于降低上游同步成本、缩小冲突面,并支持将通用改进回馈给 Omarchy 上游。 --- ## 2. 背景与机会 Omarchy 已经提供完整的 opinionated Linux desktop,并将 AI coding agents、系统 CLI、Quickshell 桌面和系统配置整合为一套统一体验。当前上游已经具备以下可复用能力: - `omarchy` CLI 与 `Super + Space` 系统菜单。 - 基于 `mise` 的 AI coding agent lazy launcher。 - Claude Code、Codex、OpenCode、Pi、Crush、Ori 等 Agent 入口。 - Fcitx5、Fcitx5 GTK、Fcitx5 Qt 的基础运行环境。 - 基于 Bash 5 的安装、迁移、配置与命令体系。 - 基于 Quickshell/QML 的桌面 Shell。 - Arch ISO、pacstrap、pacman、AUR 与 Omarchy 自有软件包能力。 中国大陆用户仍需要自行处理以下链路: - Arch、AUR、npm、pip、Rust、Go、Maven、Docker 等软件源的选择、测速、故障切换与恢复。 - 中文字体、Fcitx5 引擎、Rime、词库、Electron/GTK/Qt/Wayland 兼容配置。 - Kimi、DeepSeek、Z.AI/GLM 等模型与 Claude Code、Codex、OpenCode、Kimi Code、Deep Code 等 Harness 的组合配置。 - 微信、QQ、飞书、钉钉、腾讯会议、WPS 等国内应用的安装来源、桌面文件、图标与更新。 - 国内网络环境下的安装诊断、下载失败恢复与日志采集。 OmarchyCN 将这些分散操作收敛为系统级默认能力,让用户在首次启动后直接进入中文可用、网络可用、AI 可用的开发环境。 --- ## 3. 产品愿景 让中国开发者通过一次安装,获得一套完整、漂亮、稳定、可持续更新的 AI 原生 Linux 工作站。 ### 3.1 产品定位 **OmarchyCN = Omarchy Desktop Experience + China Network Layer + Chinese UX + China AI Stack。** ### 3.2 核心价值 - **安装即用**:首次进入桌面即可输入中文、安装软件、调用国内 AI 服务。 - **统一配置**:镜像、输入法、AI Provider、Harness、应用和诊断集中在同一 CLI 与菜单中。 - **可逆变更**:每次系统级配置变更均生成备份、变更记录和恢复入口。 - **持续同步**:上游更新通过自动化兼容测试进入 OmarchyCN 发布通道。 - **透明可信**:软件来源、签名、许可证、构建产物和配置变化均可审计。 --- ## 4. 产品目标 ### 4.1 v1.0 目标 1. 在中国大陆常见家庭与办公网络中完成 OmarchyCN ISO 安装和首次更新。 2. 首次启动后直接提供可用的简体中文界面、中文字体与中文输入。 3. 通过一个向导完成 Harness、Provider、模型与 API 凭据配置。 4. 支持 Kimi、DeepSeek、Z.AI/GLM 作为一等 AI Provider。 5. 支持 Kimi Code、Deep Code、Claude Code、Codex、OpenCode 作为一等 AI Harness。 6. 提供国内常用通信、办公、云盘与开发应用的可信安装入口。 7. 在 Omarchy 上游发布后,通过自动化同步、测试和迁移发布兼容版本。 8. 提供 ISO、软件包、更新清单、SBOM、校验和与签名。 ### 4.2 范围边界 - v1.0 聚焦 x86_64 UEFI 设备。 - v1.0 聚焦桌面与笔记本开发工作站。 - ARM64、服务器版、企业集中管理版进入后续版本规划。 - OmarchyCN 负责中国环境集成层;Linux 内核、Arch 基础仓库、Hyprland 与主要桌面组件持续跟随上游。 - 专有软件通过用户主动选择,从厂商官方来源、受信任软件仓库或经过审查的安装配方获取。 - AI 服务费用、账户、额度和服务可用性由对应 Provider 管理。 --- ## 5. 用户画像 ### 5.1 AI 原生开发者 - 日常使用 Claude Code、Codex、OpenCode、Kimi Code 或其他 Agent。 - 希望在 Kimi、DeepSeek、GLM、OpenAI、Anthropic 等模型之间切换。 - 需要统一管理 API Endpoint、模型名、凭据、MCP 和 Skills。 ### 5.2 Arch/Omarchy 爱好者 - 喜欢 Hyprland、键盘驱动工作流和精简桌面。 - 希望减少安装后的中文化与国内网络配置工作。 - 关注上游兼容、配置透明和可回滚性。 ### 5.3 独立开发者与学生 - 使用中国大陆网络和国内支付方式购买 AI 服务。 - 需要低成本模型与开箱即用的开发工具。 - 希望通过一个系统完成编程、沟通、文档、设计和 AI 协作。 ### 5.4 工程团队 - 希望形成统一的 Linux 开发环境。 - 需要可复现安装、团队镜像、统一 AI 配置模板与诊断包。 - 需要通过无人值守方式部署多台工作站。 --- ## 6. 核心用户场景 ### 场景 A:全新安装 1. 用户从官网下载 ISO 与签名文件。 2. 安装器检测硬件、网络、磁盘和可用镜像。 3. 用户选择语言、时区、键盘、输入法方案、镜像策略和磁盘方案。 4. 安装器从 ISO 内置仓库安装核心系统,并从最佳镜像补充在线包。 5. 首次启动向导完成显示缩放、中文输入、AI Provider 与可选应用配置。 6. 用户进入完整 OmarchyCN 桌面。 ### 场景 B:现有 Omarchy 转换 1. 用户运行 Overlay 安装命令。 2. 安装器验证 Omarchy 版本、磁盘空间、网络与系统状态。 3. 系统创建快照和配置备份。 4. 安装 OmarchyCN 软件包、菜单、镜像层、输入法和 AI Hub。 5. 用户通过 `omarchycn doctor` 验证系统。 ### 场景 C:配置国内 AI 1. 用户打开 `Super + Space → Setup → OmarchyCN → AI`。 2. 用户选择 Harness,例如 Claude Code。 3. 用户选择 Provider,例如 DeepSeek。 4. 用户选择模型、输入 API Key,并运行连接测试。 5. 系统保存凭据引用,生成 Harness 配置,显示能力与兼容状态。 6. 用户通过默认 Agent 快捷键启动该组合。 ### 场景 D:镜像故障恢复 1. pacman、npm 或 pip 下载出现失败。 2. Mirror Agent 检测超时、同步延迟或 TLS 错误。 3. 系统切换至健康镜像,并保留故障记录。 4. 用户可在 Mirror 页面查看当前源、健康度和切换原因。 ### 场景 E:团队批量部署 1. 管理员生成无人值守配置文件。 2. 配置文件指定镜像、语言、输入法、应用、AI Harness 和企业内部源。 3. 多台设备使用相同 ISO 与配置完成部署。 4. API Key 通过首次登录、密钥管理器或部署阶段的临时凭据注入。 --- ## 7. 产品原则 1. **上游优先**:通用能力优先提交 Omarchy 上游,中国专属能力保留在 OmarchyCN 层。 2. **薄下游**:核心差异集中在 `cn/`、独立软件包、菜单扩展和迁移中。 3. **安全默认**:所有发布包具备签名,凭据通过 Secret Service 或外部密钥管理器保存。 4. **配置可逆**:系统修改前自动备份,所有配置向导提供 Restore 入口。 5. **按需安装**:AI Harness 与专有应用采用 lazy install,减少 ISO 体积与授权风险。 6. **CLI 与 GUI 同构**:菜单中的操作具备对应 CLI,方便自动化与 AI Agent 调用。 7. **国内默认、全球可选**:中国镜像和中文环境作为推荐路径,官方全球源始终可选。 8. **状态透明**:用户能够查看当前版本、上游基线、镜像、包来源、AI 配置和变更历史。 --- ## 8. 成功指标 | 指标 | v1.0 目标 | |---|---:| | ISO 安装成功率 | 测试矩阵内 ≥ 95% | | Overlay 转换成功率 | 受支持 Omarchy 版本内 ≥ 97% | | 首次启动向导完成率 | ≥ 90% | | 中文输入开箱可用率 | 测试应用矩阵内 ≥ 98% | | 国内镜像自动选择成功率 | ≥ 95% | | 镜像故障自动恢复成功率 | ≥ 90% | | AI 配置连接测试成功率 | 有效账户与凭据条件下 ≥ 95% | | AI 配置生成准确率 | 稳定兼容矩阵内 100% | | 上游稳定版本同步目标 | 常规更新 7 天内;关键安全修复 48 小时内 | | 更新后启动成功率 | ≥ 99% | | 诊断包敏感信息脱敏率 | 自动化测试覆盖字段 100% | | 发布包签名覆盖率 | 100% | --- ## 9. 发布形态与版本策略 ### 9.1 发布形态 | 形态 | 用途 | 目标用户 | |---|---|---| | OmarchyCN ISO | 全新安装 | 新用户、团队统一装机 | | OmarchyCN Overlay | 现有 Omarchy 增强 | Omarchy 现有用户 | | OmarchyCN Package Repository | 软件包、配置、迁移与更新 | 全部用户 | | OmarchyCN Registry | 镜像、应用、AI 兼容矩阵与版本清单 | CLI、菜单、CI | | OmarchyCN Docs | 中文手册、安装与故障排查 | 用户与贡献者 | ### 9.2 版本格式 ```text -cn. 示例: 4.0.0.alpha-cn.1 4.0.0-cn.1 4.0.1-cn.2 ``` ### 9.3 发布通道 - `stable`:完成硬件、网络、输入法、AI 与升级测试。 - `beta`:进入候选验证的功能与新 Provider 适配。 - `nightly`:每日上游同步和开发构建。 ### 9.4 兼容策略 - 每个 OmarchyCN 版本声明精确的 Omarchy 上游 commit/tag。 - Stable 通道只跟踪上游稳定 tag。 - `quattro` 等开发分支用于 OmarchyCN Preview 与 Nightly。 - Overlay 安装器通过兼容矩阵决定直接安装、先更新或进入人工迁移路径。 --- ## 10. 功能需求 ## 10.1 发行与安装系统 ### FR-DIST-001:OmarchyCN ISO **优先级:P0** 需求: - 基于 Arch ISO 与 Omarchy 安装体系构建。 - ISO 内置核心系统离线仓库,支持核心桌面在弱网环境下完成安装。 - 支持 UEFI 启动、图形安装与日志控制台。 - 支持整盘安装、手动分区与双启动引导路径。 - 支持可选 LUKS2 全盘加密。 - 安装前检测 CPU、GPU、网络、磁盘、UEFI、时钟和分辨率。 - 根据 Intel、AMD、NVIDIA 硬件选择对应驱动路径。 - 生成安装报告,并对用户名、设备名、网络信息和磁盘标识做脱敏。 验收标准: - Intel 核显、AMD 核显/独显、NVIDIA 独显测试机均能进入桌面。 - 无网络条件下可完成核心系统安装。 - 联网条件下可自动选择健康镜像并补充更新。 - 安装失败后可从 Live 环境导出脱敏日志。 ### FR-DIST-002:Overlay Installer **优先级:P0** 需求: - 支持从受支持的 Omarchy 版本安装 OmarchyCN。 - 安装前运行版本、磁盘、网络、包冲突和配置冲突检查。 - 安装前创建 Btrfs/Snapper 快照;其他文件系统创建配置级备份。 - Overlay 包含 OmarchyCN CLI、菜单扩展、镜像管理、输入法、AI Hub、国内应用目录和文档。 - 安装过程幂等,多次运行得到一致状态。 - 支持 `omarchycn uninstall overlay` 恢复 Omarchy 默认配置和软件源。 验收标准: - 受支持 Omarchy 测试镜像可完成安装、重启、更新与卸载。 - 用户现有 dotfiles、主题与自定义快捷键获得保留或生成冲突报告。 - 安装失败时自动恢复关键配置。 ### FR-DIST-003:首次启动向导 **优先级:P0** 向导步骤: 1. 语言与地区。 2. 时区与键盘布局。 3. 显示缩放与多显示器。 4. 中文输入方案。 5. Arch 与开发工具镜像策略。 6. AI Harness 与 Provider。 7. 可选国内应用。 8. 隐私与诊断选项。 9. 最终系统检查。 要求: - 支持跳过单个步骤并在系统菜单中重新进入。 - 所有配置同时具备 CLI 参数。 - 向导状态保存在本地,支持中断后继续。 --- ## 10.2 中国网络与镜像管理 ### FR-MIRROR-001:Arch Mirror Manager **优先级:P0** 需求: - 从 Arch 官方镜像数据库与 OmarchyCN 签名 Registry 获取候选列表。 - 对镜像执行 DNS、TLS、首字节、下载吞吐、同步新鲜度和错误率检测。 - 自动选择一个主镜像和至少两个备用镜像。 - 支持中国优先、全球官方、固定镜像、自定义镜像四种策略。 - 生成 `/etc/pacman.d/mirrorlist` 前保存带时间戳备份。 - 更新后持续保留用户策略。 - 镜像连续失败时自动切换并发出桌面通知。 CLI: ```bash omarchycn mirror status omarchycn mirror benchmark omarchycn mirror apply china omarchycn mirror apply official omarchycn mirror pin omarchycn mirror restore ``` 验收标准: - 镜像测速结果包含延迟、吞吐、同步状态与证书状态。 - 当前镜像失效后自动切换至备用镜像。 - Registry 不可用时使用 ISO/软件包内置候选与 Arch 官方列表。 ### FR-MIRROR-002:OmarchyCN 软件仓库 **优先级:P0** 需求: - 提供 `[omarchycn]` pacman repository。 - 软件包由 OmarchyCN 发布密钥签名。 - Repository Database 具备签名与版本清单。 - 支持主站、国内镜像和全球镜像切换。 - Keyring 通过独立 `omarchycn-keyring` 包分发。 - Mirror Registry 记录镜像运营方、地区、同步状态、证书和最后验证时间。 建议配置: ```ini [omarchycn] SigLevel = Required DatabaseOptional Include = /etc/pacman.d/omarchycn-mirrorlist ``` ### FR-MIRROR-003:开发工具镜像配置 **优先级:P0** 覆盖范围: - Node.js:npm、pnpm、Yarn、Bun。 - Python:pip、uv、Poetry。 - Rust:rustup、Cargo、Crates index。 - Go:GOPROXY、checksum database 策略。 - JVM:Maven、Gradle。 - Ruby:RubyGems、Bundler。 - Containers:Docker/OCI registry mirror。 - Git:Git LFS、可选 URL rewrite。 要求: - 每个生态支持 `official`、`china`、`custom` profile。 - 修改前识别现有用户配置并创建备份。 - 使用用户级配置作为默认写入范围。 - 提供单项应用和批量应用。 - 镜像地址由签名 Registry 维护,支持无系统发版更新。 CLI: ```bash omarchycn dev-mirror list omarchycn dev-mirror apply china omarchycn dev-mirror apply official --target npm,pip,cargo omarchycn dev-mirror set custom --target npm --url omarchycn dev-mirror doctor ``` ### FR-MIRROR-004:代理与企业网络配置 **优先级:P1** 需求: - 支持 HTTP、HTTPS、SOCKS5 和 PAC 配置。 - 支持终端、Git、pacman、Docker 与 systemd user service 的统一代理配置。 - 支持企业 CA 导入与证书链诊断。 - 所有代理配置均由用户主动启用。 - 诊断包对用户名、代理凭据、内部域名和 IP 做脱敏。 --- ## 10.3 中文环境 ### FR-I18N-001:语言与 Locale **优先级:P0** 需求: - 预生成 `zh_CN.UTF-8` 与 `en_US.UTF-8`。 - 首次启动支持简体中文、English 与双语配置。 - 默认中文地区配置使用 `Asia/Shanghai`,同时允许选择其他时区。 - 系统菜单、OmarchyCN CLI、通知和文档提供简体中文。 - CLI 支持 `LANG` 自动选择和 `--lang zh-CN|en-US` 显式覆盖。 ### FR-I18N-002:中文字体 **优先级:P0** 默认字体集合: - Noto Sans CJK SC / 思源黑体。 - Noto Serif CJK SC / 思源宋体。 - Noto Color Emoji。 - 等宽字体采用具备中英文宽度一致性的方案,提供 Sarasa Mono SC 作为推荐选项。 要求: - 提供 Fontconfig 优先级文件。 - 避免中文 fallback 到日文字形。 - 终端、浏览器、Electron、GTK、Qt、PDF 和代码编辑器使用一致的中文 fallback。 - 字体设置通过 `omarchycn font` 和 OmarchyCN 菜单管理。 ### FR-I18N-003:高分屏与显示 **优先级:P0** 需求: - 首次启动检测显示器物理尺寸、分辨率与 DPI。 - 提供 1.0、1.25、1.5、1.6、1.75、2.0 缩放预设。 - 支持 5K2K、4K、超宽屏和多显示器组合。 - Electron/XWayland 应用执行清晰度检查并给出推荐环境变量。 - 显示配置变更具备 15 秒自动恢复确认机制。 --- ## 10.4 中文输入法 ### FR-IME-001:Fcitx5 开箱配置 **优先级:P0** 默认组件: - `fcitx5` - `fcitx5-gtk` - `fcitx5-qt` - `fcitx5-configtool` - `fcitx5-rime` - `fcitx5-chinese-addons` 需求: - 自动配置 Wayland、GTK、Qt、Electron 和 XWayland 环境。 - 默认提供 Rime 拼音与 Chinese Addons 拼音路径。 - 用户可在首次启动中选择默认引擎。 - 用户词典与配置保存在 XDG 目录并参与备份。 - 提供输入法状态栏图标、当前模式和快速设置入口。 ### FR-IME-002:快捷键冲突处理 **优先级:P0** Omarchy 使用 `Super + Space` 打开系统菜单。OmarchyCN 默认采用以下策略: - 推荐输入法切换:`Ctrl + Space`。 - 可选输入法切换:`Super + Space`。 - 用户选择 `Super + Space` 时,系统自动将 Omarchy 菜单迁移到 `Super + Alt + Space`,并展示变更说明。 - 快捷键向导自动检测现有 Hyprland 与 Fcitx5 冲突。 ### FR-IME-003:输入法兼容测试 **优先级:P0** 测试应用: - Chromium/Chrome。 - Firefox 系浏览器。 - Zed、VS Code、JetBrains IDE。 - Terminal、Neovim。 - WeChat、QQ、Feishu/Lark、DingTalk。 - WPS、LibreOffice。 - Electron、GTK4、Qt6 示例应用。 验收标准: - 中文候选框位置正确。 - 中英文切换状态与面板状态一致。 - 多显示器与分数缩放下候选框清晰可见。 - 重启会话后输入法配置持续生效。 --- ## 10.5 OmarchyCN AI Hub ### 10.5.1 核心模型 AI Hub 将 **Harness** 与 **Provider/Model** 作为两层独立对象管理。 ```text Harness ├── Kimi Code ├── Deep Code ├── Claude Code ├── Codex ├── OpenCode ├── Pi ├── Crush ├── Ori └── DeepSeek Harness(Preview Channel) Provider / Model ├── Kimi ├── DeepSeek ├── Z.AI / GLM ├── Qwen / DashScope ├── OpenAI ├── Anthropic ├── Google ├── OpenRouter ├── Local OpenAI-compatible Endpoint └── Local Anthropic-compatible Endpoint ``` 每个 Harness × Provider 组合具备兼容等级: - `stable`:进入自动化回归测试,可在 Stable 通道展示。 - `beta`:完成基础功能验证,在 Beta 与显式开启实验功能时展示。 - `experimental`:配置模板可用,接口或 Harness 行为仍在变化。 - `unsupported`:Registry 标记原因,界面隐藏或显示明确说明。 ### FR-AI-001:AI Setup Wizard **优先级:P0** 向导步骤: 1. 选择 Harness。 2. 选择 Provider。 3. 选择账户类型:订阅登录、API Key、自定义 Endpoint。 4. 选择模型和推理模式。 5. 配置权限模式与项目目录。 6. 配置 Skills 与 MCP Profile。 7. 执行连接、模型、工具调用和流式输出测试。 8. 保存为全局或项目 Profile。 CLI: ```bash omarchycn ai setup omarchycn ai harness list omarchycn ai provider list omarchycn ai model list --provider deepseek omarchycn ai profile list omarchycn ai profile use omarchycn ai test omarchycn ai doctor ``` ### FR-AI-002:Kimi 集成 **优先级:P0** 需求: - 提供 Kimi Code lazy launcher。 - 支持 Kimi 官方登录/订阅路径和 API Key 路径。 - 支持将 Kimi 作为 Claude Code、OpenCode 等受支持 Harness 的 Provider。 - Registry 维护 Kimi Endpoint、协议、模型别名与兼容工具。 - Kimi CLI 更新由 `mise` 或官方推荐安装机制管理。 - 配置向导显示官方集成与社区集成标识。 ### FR-AI-003:DeepSeek 集成 **优先级:P0** 需求: - 支持 DeepSeek API 作为 OpenAI-compatible 与 Anthropic-compatible Provider。 - 支持 Claude Code、Codex、OpenCode 的官方集成路径。 - 提供 Deep Code lazy launcher。 - DeepSeek Harness 进入 Preview Channel,并与 Provider 配置分离。 - 支持模型别名、上下文长度、工具调用、推理强度与兼容能力标记。 - 配置测试覆盖普通对话、代码编辑、工具调用与流式输出。 ### FR-AI-004:Z.AI / GLM 集成 **优先级:P0** 需求: - 支持 Z.AI API 与 GLM Coding Plan。 - 支持 Claude Code 与 OpenCode 的官方配置路径。 - 支持 Codex、Pi、Cursor 等 Registry 标记为可用的工具组合。 - 清楚区分 Coding Plan 的适用工具范围和通用 API 计费路径。 - 模型升级通过 Registry 更新,无需系统完整发版。 ### FR-AI-005:凭据管理 **优先级:P0** 需求: - 默认通过 Freedesktop Secret Service 保存 API Key。 - 支持 1Password CLI 作为可选 Secret Backend。 - 支持 `pass` 作为可选本地 Backend。 - 配置文件只保存 Secret Reference。 - 所有日志、诊断、错误提示和导出配置自动脱敏。 - 剪贴板粘贴 API Key 后提供自动清除剪贴板选项。 - 文件回退方案使用 `0600` 权限,并显示安全级别。 ### FR-AI-006:AI Profile **优先级:P0** Profile 类型: - Global Profile:全局默认。 - Project Profile:绑定项目目录。 - Temporary Profile:仅当前终端会话。 - Team Profile:可提交到仓库,包含配置模板与 Secret 引用规范。 示例: ```toml schema_version = 1 name = "claude-deepseek" harness = "claude-code" provider = "deepseek" model = "registry://deepseek/default-coding" secret_ref = "secret-service://omarchycn/ai/deepseek/default" scope = "global" permission_mode = "review" [capabilities] tools = true streaming = true vision = false [environment] # 由 Provider Adapter 生成,文件中不保存明文密钥 ``` ### FR-AI-007:默认 Agent 与桌面入口 **优先级:P0** 需求: - 与 Omarchy `omarchy default agent` 机制兼容。 - OmarchyCN Profile 可映射为默认 Agent。 - `Super + Shift + Ctrl + A` 启动默认 Profile。 - Top Bar AI 面板展示当前 Harness、Provider、模型、连接状态和本地使用量。 - Provider 公开额度接口时展示余额或配额;数据来源在 UI 中明确标识。 ### FR-AI-008:Skills 与 MCP **优先级:P1** 需求: - 提供 OmarchyCN 系统维护 Skill。 - 将 Skill 链接到 Claude Code、Codex、Pi、OpenCode 与通用 `~/.agents/skills`。 - 提供 MCP Profile 管理,支持全局、项目和临时启用。 - 安装 MCP Server 前展示来源、权限、命令、网络访问和文件访问范围。 - 支持导出可提交仓库的 MCP 模板,密钥使用 Secret Reference。 ### FR-AI-009:AI Doctor **优先级:P0** 检查项: - Harness 是否安装、版本和更新渠道。 - Provider Endpoint DNS、TLS、鉴权和模型可用性。 - 模型能力与 Harness 需求是否匹配。 - 配置文件权限与 Secret Backend。 - 项目目录权限、Git 状态与工具依赖。 - MCP Server 可执行文件、权限和连接状态。 - 输出可分享的脱敏诊断报告。 --- ## 10.6 国内应用中心 ### FR-APP-001:应用目录 **优先级:P0** 建议首批应用: | 分类 | 应用 | |---|---| | 沟通 | 微信、QQ、飞书/Lark、钉钉、腾讯会议、Discord | | 办公 | WPS Office、腾讯文档 Web App、石墨文档 Web App | | 云盘 | 百度网盘、阿里云盘、坚果云 | | 开发 | Chrome、Zed、VS Code、JetBrains Toolbox、Android Studio、Figma Web/Desktop 可用路径 | | 知识管理 | Obsidian、Notion Web App、语雀 Web App | | 密钥管理 | 1Password、Bitwarden | | AI | Kimi、DeepSeek、Z.AI、ChatGPT 等 Web App 或官方客户端入口 | 要求: - 每个应用记录来源类型:Official Package、Official Download、AUR、Flatpak、Web App。 - 每个应用记录许可证、支持架构、安装命令、校验方式、更新方式和已知问题。 - 专有软件安装前展示来源与许可证确认。 - 安装失败时提供替代来源和诊断信息。 - 应用安装配方由签名 Registry 管理。 ### FR-APP-002:图标与桌面一致性 **优先级:P1** 需求: - Papirus 作为国内应用推荐图标体系。 - 存在官方 Papirus 图标时直接映射。 - 缺少图标时使用最接近的 Papirus 图标或 OmarchyCN 独立补充图标。 - 每个安装配方声明 Desktop Entry、StartupWMClass、Wayland 参数与图标映射。 - 应用菜单内禁止出现重复入口、空白图标和失效 Desktop Entry。 ### FR-APP-003:应用更新 **优先级:P1** 需求: - pacman/AUR/Flatpak 应用沿用对应更新机制。 - Official Download 配方通过版本 Registry 和校验和更新。 - Web App 通过统一的 PWA/Web App 管理器创建和移除。 - 更新前显示来源变更、许可证变更和签名状态。 --- ## 10.7 系统更新、迁移与恢复 ### FR-UPDATE-001:统一更新 **优先级:P0** ```bash omarchycn update ``` 执行顺序: 1. 检查磁盘空间、网络、镜像和系统时间。 2. 获取 OmarchyCN 签名 Release Manifest。 3. 创建系统快照或配置备份。 4. 更新 Arch 与 Omarchy 上游组件。 5. 更新 OmarchyCN 软件包。 6. 执行版本迁移。 7. 运行关键健康检查。 8. 生成更新报告。 要求: - 更新流程支持恢复点。 - 更新锁防止并发 pacman 与 Overlay 更新。 - 迁移脚本具备版本号、前置条件、幂等性和回滚动作。 - 更新后检测登录管理器、Quickshell、Hyprland、网络、Fcitx5 和默认 Agent。 ### FR-UPDATE-002:上游同步 **优先级:P0** 需求: - CI 定期获取 `basecamp/omarchy` 上游变更。 - 自动生成 Sync Merge Request,包含改动范围、冲突、包变更、配置变更和测试结果。 - 上游目录修改控制在最小范围。 - 通用修复通过独立 PR 回馈上游。 - 每个 OmarchyCN Release Manifest 记录上游 commit SHA。 ### FR-UPDATE-003:恢复与重装 **优先级:P0** CLI: ```bash omarchycn restore list omarchycn restore config omarchycn restore system omarchycn reinstall mirrors omarchycn reinstall ime omarchycn reinstall ai omarchycn reinstall apps ``` 要求: - 配置恢复支持预览差异。 - 系统恢复与 Btrfs/Snapper 集成。 - ext4 等文件系统提供配置与软件包清单恢复。 --- ## 10.8 诊断与支持 ### FR-DIAG-001:系统 Doctor **优先级:P0** ```bash omarchycn doctor omarchycn doctor network omarchycn doctor mirror omarchycn doctor ime omarchycn doctor ai omarchycn doctor display omarchycn doctor apps ``` 输出: - `PASS`:状态正常。 - `WARN`:当前可用,存在推荐调整。 - `FAIL`:功能不可用,提供自动修复或精确命令。 - `INFO`:版本、来源和配置路径。 ### FR-DIAG-002:诊断包 **优先级:P0** 诊断包包含: - OmarchyCN 与 Omarchy 版本。 - 内核、GPU、显示、文件系统和桌面会话信息。 - pacman repo、镜像健康度和软件包状态。 - Fcitx5、字体和 Locale 状态。 - AI Harness 版本、Provider 名称和脱敏配置。 - 相关 systemd journal 摘要。 - 最近迁移、更新和配置变更记录。 安全要求: - API Key、Token、Cookie、代理凭据、SSH 私钥和密码模式全部过滤。 - 用户目录替换为 `$HOME`。 - 内部域名、IP、SSID 与设备序列号默认脱敏。 - 导出前展示文件清单与敏感信息扫描结果。 --- ## 10.9 无人值守安装与团队配置 ### FR-TEAM-001:声明式安装配置 **优先级:P1** 示例: ```yaml schema_version: 1 locale: zh_CN.UTF-8 timezone: Asia/Shanghai keyboard: us scale: 1.6 mirror_profile: china-auto ime: framework: fcitx5 engine: rime hotkey: Ctrl+Space ai: harnesses: - claude-code - kimi-code - opencode default_profile: claude-deepseek apps: - wechat - qq - feishu - onepassword - zed - android-studio security: disk_encryption: true telemetry: disabled ``` 要求: - Schema 公开并提供 JSON Schema/YAML 校验。 - Secret 通过首次登录、Secret Backend 或一次性环境注入。 - 安装报告包含每个步骤的结果与可重放命令。 --- ## 11. 信息架构与交互设计 ## 11.1 OmarchyCN 菜单 ```text Super + Space └── OmarchyCN ├── Setup │ ├── First Run Wizard │ ├── Language & Region │ ├── Input Method │ ├── Display & Scale │ ├── Mirrors │ ├── AI Hub │ └── Proxy & Certificates ├── Install │ ├── China Apps │ ├── AI Harnesses │ ├── Developer Tools │ └── Fonts & Input Schemas ├── Defaults │ ├── AI Profile │ ├── Mirror Profile │ ├── Input Method │ └── Application Defaults ├── Diagnostics │ ├── System Doctor │ ├── Network Doctor │ ├── AI Doctor │ ├── Input Method Doctor │ └── Export Support Bundle ├── Update │ ├── Check Updates │ ├── Change Channel │ ├── Release Notes │ └── Restore Point └── About ├── OmarchyCN Version ├── Omarchy Upstream Version ├── Package Sources ├── Licenses └── Community ``` ## 11.2 交互原则 - 所有危险操作先展示变更预览。 - 所有系统配置页展示当前值、来源、目标值和恢复入口。 - AI 配置页清楚展示 Harness、Provider、Model 三个独立层级。 - 软件安装页清楚展示开源/专有、官方/AUR/Flatpak/Web App 来源。 - 中文术语旁保留关键英文术语,方便搜索上游文档和错误信息。 - 错误页提供复制命令、自动修复和查看日志三条路径。 --- ## 12. 系统架构 ## 12.1 架构总览 ```text ┌─────────────────────────────────────────────────────────────┐ │ OmarchyCN User Experience │ │ Quickshell Menu · First Run · AI Panel · Mirror Status │ └──────────────────────────────┬──────────────────────────────┘ │ ┌──────────────────────────────▼──────────────────────────────┐ │ CLI Layer │ │ omarchycn · omarchy-cn-* wrappers · omarchy integration │ └──────────────────────────────┬──────────────────────────────┘ │ ┌──────────────────────────────▼──────────────────────────────┐ │ OmarchyCN Core Services │ │ Mirror Engine · AI Adapter · Registry · Secret · Doctor │ └───────────────┬──────────────────┬──────────────────────────┘ │ │ ┌───────────────▼──────────┐ ┌────▼──────────────────────────┐ │ Local System Integration │ │ Signed Remote Distribution │ │ pacman · Fcitx5 · Hyprland│ │ Package Repo · Registry │ │ mise · systemd · Snapper │ │ Release Manifest · Docs │ └───────────────┬──────────┘ └───────────────────────────────┘ │ ┌───────────────▼─────────────────────────────────────────────┐ │ Omarchy Upstream · Arch Linux · Hyprland · Quickshell │ └─────────────────────────────────────────────────────────────┘ ``` ## 12.2 薄下游边界 OmarchyCN 改动分为四层: 1. **Overlay Packages**:新增软件包、配置、Registry、图标、文档与命令。 2. **Integration Hooks**:通过 Omarchy CLI、菜单 JSONC、Quickshell plugin、migration hook 接入。 3. **Minimal Upstream Patches**:仅用于缺少扩展点的场景,并持续推动上游接受通用扩展点。 4. **Release Layer**:ISO、仓库、签名、同步、测试与发布基础设施。 目标指标: - 80% 以上 OmarchyCN 代码位于独立目录或独立软件包。 - 每次上游同步自动统计直接修改上游文件的数量。 - Stable 发版前完成上游差异审查。 ## 12.3 建议仓库结构 ```text omarchycn/ ├── .forgejo/ │ └── workflows/ ├── agents/ │ └── skills/ ├── bin/ │ ├── omarchycn │ └── omarchy-cn-* ├── cn/ │ ├── ai/ │ │ ├── adapters/ │ │ ├── profiles/ │ │ └── registry/ │ ├── apps/ │ ├── branding/ │ ├── fonts/ │ ├── ime/ │ ├── mirrors/ │ ├── shell/ │ └── translations/ ├── core/ │ ├── Cargo.toml │ └── src/ ├── config/ ├── install/ ├── migrations/ ├── packages/ │ ├── omarchycn-base/ │ ├── omarchycn-keyring/ │ ├── omarchycn-ai/ │ ├── omarchycn-ime/ │ └── omarchycn-apps/ ├── registry/ │ ├── ai.schema.json │ ├── apps.schema.json │ └── mirrors.schema.json ├── shell/ │ └── plugins/omarchycn/ ├── test/ │ ├── cli/ │ ├── shell/ │ ├── integration/ │ ├── acceptance/ │ └── iso/ ├── docs/ ├── manual/ ├── LICENSE ├── NOTICE └── PRD.md ``` ## 12.4 配置与状态路径 | 类型 | 路径 | |---|---| | 系统配置 | `/etc/omarchycn/config.toml` | | 用户配置 | `~/.config/omarchycn/config.toml` | | AI Profile | `~/.config/omarchycn/ai/profiles/*.toml` | | 系统 Registry | `/usr/share/omarchycn/registry/` | | 远程 Registry 缓存 | `~/.cache/omarchycn/registry/` | | 用户状态 | `~/.local/state/omarchycn/` | | 系统缓存 | `/var/cache/omarchycn/` | | 日志 | systemd journal + `~/.local/state/omarchycn/logs/` | | 配置备份 | `~/.local/state/omarchycn/backups/` | | Secret | Freedesktop Secret Service / 1Password / pass | 配置优先级: ```text CLI 临时参数 > 项目 Profile > 用户配置 > 系统配置 > OmarchyCN 默认值 > Omarchy 上游默认值 ``` --- ## 13. Tech Stack ## 13.1 基础系统 | 层 | 技术 | 用途与选择理由 | |---|---|---| | Base OS | Arch Linux | 与 Omarchy 保持一致,滚动更新,成熟的软件包生态 | | Upstream Distribution | Omarchy | 提供桌面、快捷键、主题、CLI、安装和 AI Agent 基础能力 | | Display Protocol | Wayland | Omarchy/Hyprland 原生路径 | | Window Manager | Hyprland | 动态平铺、动画、输入与显示配置 | | Session | UWSM + systemd user session | 保持 Omarchy 运行环境与环境变量模型 | | Desktop Shell | Quickshell | 菜单、Top Bar、AI Panel、镜像状态、首次启动 UI | | Shell UI Language | QML + JavaScript | 与 Omarchy Quickshell 代码保持一致 | | Hyprland Config | Lua | 跟随 Omarchy 当前配置结构 | | Audio | PipeWire/WirePlumber | Linux 桌面统一音频路径 | | Networking | NetworkManager | Wi-Fi、有线、VPN 与系统网络管理 | | Input Method | Fcitx5 + Rime + Chinese Addons | 中文输入、Wayland/GTK/Qt/Electron 集成 | | Filesystem Recovery | Btrfs + Snapper(推荐) | 更新前快照与系统恢复 | ## 13.2 CLI 与系统集成 | 层 | 技术 | 用途与选择理由 | |---|---|---| | Upstream-compatible Scripts | Bash 5 | 与 Omarchy `bin/`、`install/`、`migrations/` 约定一致 | | OmarchyCN Core CLI | Rust 2024 Edition | 镜像并发测速、Registry 校验、AI Adapter、Secret 与诊断的类型安全实现 | | CLI Framework | `clap` | 命令、子命令、补全与帮助生成 | | Async Runtime | `tokio` | 并发网络探测、下载、Provider 测试 | | HTTP/TLS | `reqwest` + rustls | Registry、镜像与 Provider 连接测试 | | Serialization | `serde`, `serde_json`, `toml`, `serde_yaml` | 配置、Registry、无人值守文件 | | Error Handling | `thiserror`, `anyhow` | 用户可读错误与内部错误链 | | Logging | `tracing`, `tracing-subscriber` | 结构化日志、脱敏和诊断包 | | Secret Integration | `keyring` / Secret Service D-Bus | API Key 安全存储 | | D-Bus | `zbus` | Quickshell、通知、Secret Service 与桌面服务集成 | | Signature Verification | `sequoia-openpgp` 或系统 `gpgv` | Release Manifest 与 Registry 验证 | 实现约束: - Bash wrapper 使用 `omarchy-cn-*` 前缀,并遵循 Omarchy 的命令元数据与帮助规范。 - Rust Core 提供稳定 JSON 输出,供 Quickshell、Bash 与自动化调用。 - Root 权限仅覆盖 pacman、系统源、系统字体与系统配置写入。 - 用户配置与 AI Profile 使用普通用户权限完成。 ## 13.3 软件包与 ISO | 层 | 技术 | 用途 | |---|---|---| | Package Manager | pacman | 系统软件包管理 | | Package Build | PKGBUILD + `makepkg` | OmarchyCN 包构建 | | Clean Build | `devtools`/clean chroot | 可复现、隔离的 Arch 包构建 | | Repository | `repo-add` + PGP signing | `[omarchycn]` 仓库与数据库 | | ISO | `archiso` | OmarchyCN 安装镜像 | | AUR | `paru`/Omarchy package helpers | 可选社区包安装 | | Lazy Tool Runtime | `mise` | AI Harness 与开发工具按需安装 | | Web Apps | Omarchy Web App mechanism | 国内 Web App/PWA 桌面入口 | ## 13.4 配置与 Registry | 类型 | 格式 | |---|---| | 用户与系统配置 | TOML | | 菜单定义 | JSONC | | Remote Registry | JSON + JSON Schema | | 无人值守安装 | YAML | | 版本与发布清单 | JSON,带签名 | | 翻译 | JSON/Qt Linguist compatible catalog,构建阶段生成 QML/Bash 可用资源 | | 文档 | Markdown | Registry 类型: - `mirrors.json`:Arch、OmarchyCN 与开发工具镜像。 - `apps.json`:应用来源、安装器、版本、校验和、许可证和图标。 - `ai-providers.json`:Provider Endpoint、协议和模型元数据。 - `ai-harnesses.json`:Harness 安装方式、版本检测与配置适配器。 - `ai-compatibility.json`:Harness × Provider × Model 兼容矩阵。 - `release.json`:上游 commit、OmarchyCN 版本、包版本、迁移与最低兼容版本。 ## 13.5 CI/CD 与发布基础设施 | 层 | 建议技术 | 用途 | |---|---|---| | Canonical Git Forge | 自托 Gitea/Forgejo | 源码、Issue、MR、Release 与独立控制 | | Public Mirrors | GitHub、GitLab | 社区发现、贡献与冗余镜像 | | CI | Gitea Actions / Forgejo Actions | 构建、测试、同步与发布 | | Runners | 自托 x86_64 Linux runners | Arch 包、ISO 与 VM 测试 | | Artifact Storage | RustFS S3-compatible storage | ISO、软件包、SBOM、日志与构建缓存 | | Static Repository | Nginx/Caddy + object storage sync | pacman repository 与 Registry | | Domestic Distribution | 国内对象存储/CDN 或社区镜像 | 中国大陆下载加速 | | Docs | VitePress | 中文优先文档站 | | Website | VitePress/Astro | 下载、版本、镜像状态与项目介绍 | | Release Signing | Offline PGP master key + online release subkey | 包、数据库和发布清单签名 | | ISO Signing | minisign 或 PGP detached signature | ISO 与 checksum 验证 | | SBOM | Syft | ISO 与包级软件物料清单 | | Vulnerability Scan | Grype/Trivy | 依赖与镜像扫描 | | Provenance | cosign + SLSA-compatible attestations | 构建来源证明 | ## 13.6 测试栈 | 类型 | 技术 | |---|---| | Bash 静态检查 | ShellCheck | | Bash 单元/集成测试 | Omarchy 原生 test runner + Bats-core(OmarchyCN 独立模块) | | Rust 测试 | `cargo test`, `cargo nextest`, `clippy`, `rustfmt` | | Schema 测试 | JSON Schema validator + golden fixtures | | Quickshell 测试 | 上游 Shell test pattern + QML lint + Node helper tests | | 系统集成测试 | systemd-nspawn/Arch clean chroot | | 图形验收 | QEMU/KVM disposable VM + 自动截图与交互脚本 | | ISO 启动测试 | QEMU UEFI + serial log + cloud-init-like test seed | | 网络故障测试 | Toxiproxy/netem/DNS failure fixtures | | 安全测试 | Secret scanning、dependency audit、SBOM diff | --- ## 14. AI Adapter 技术设计 ## 14.1 Adapter 接口 每个 Harness Adapter 实现: ```text install() detect_version() auth_methods() read_config() plan_config_change() apply_config() validate_provider() validate_model() launch() collect_usage() redact_diagnostics() uninstall() ``` 每个 Provider Adapter 实现: ```text endpoint_schema() auth_schema() list_models() resolve_model_alias() capabilities() health_check() pricing_metadata() quota_metadata() render_environment(harness) render_config(harness) ``` ## 14.2 配置生成原则 - Adapter 读取 Harness 当前版本后选择对应模板。 - 配置写入前生成 diff 和备份。 - API Key 只在进程启动阶段从 Secret Backend 注入。 - 支持环境变量、配置文件和 Wrapper Script 三种输出方式。 - 每个组合记录最后成功测试时间、Harness 版本、Provider API 版本和模型。 - Registry 过期时保留最后验证通过的配置模板,并显示时间戳。 ## 14.3 Provider Manifest 示例 ```json { "$schema": "https://example.invalid/schemas/ai-provider.schema.json", "id": "deepseek", "display_name": "DeepSeek", "protocols": ["openai", "anthropic", "responses"], "auth": ["api_key"], "endpoints": { "openai": "registry-value", "anthropic": "registry-value" }, "models": [ { "id": "registry-model-id", "aliases": ["default-coding"], "capabilities": ["tools", "streaming", "reasoning"] } ] } ``` 生产 Registry 使用真实 Endpoint,示例文档使用占位值,避免文档与服务变更耦合。 --- ## 15. 软件供应链与安全 ### 15.1 发布安全 - 所有 pacman 包与数据库使用 OmarchyCN PGP Key 签名。 - Release Manifest、Registry 和镜像清单均验证签名。 - Master Key 离线保存,Release Subkey 定期轮换。 - 每个 Release 发布 SHA-256 checksum、签名、SBOM 与 provenance。 - 构建环境使用 clean chroot 或一次性 VM。 - Release Job 只从受保护 tag 启动。 ### 15.2 应用来源安全 - Official Package 优先级最高。 - Official Download 配方必须验证 TLS、发布者和 checksum/signature。 - AUR 配方在安装前展示 PKGBUILD 来源、维护者、最后更新时间与风险标识。 - 专有软件二进制遵循厂商再分发条款;需要用户下载安装的包采用 fetch-on-install。 - Registry 变更经过代码审查、自动测试和签名发布。 ### 15.3 凭据安全 - API Key、Token 和密码禁止进入 Git、日志、诊断包与 Release Artifact。 - Secret Backend 返回的 Secret 只存在于目标进程环境或受控临时文件。 - 临时文件使用 `0600`、短生命周期和退出清理。 - `omarchycn ai export` 默认导出脱敏模板。 - Agent unattended/auto-approve 模式显示显著风险提示,并允许按 Profile 配置。 ### 15.4 权限模型 - 包管理、系统源和系统配置通过 `sudo`/`pkexec`。 - 用户配置、AI Profile、镜像测速和应用目录查询使用普通用户权限。 - Quickshell UI 通过受控 CLI 调用特权操作。 - 每个命令声明权限需求和变更范围。 ### 15.5 隐私 - v1.0 默认关闭遥测。 - 更新检查只请求版本与架构所需信息。 - 用户主动提交诊断包前可预览内容。 - 未来匿名统计采用显式 Opt-in,并公开事件 Schema 与数据保留策略。 --- ## 16. 性能与可靠性要求 | 项目 | 要求 | |---|---| | CLI 启动 | 常用只读命令 P95 < 150 ms | | 菜单打开 | P95 < 300 ms | | Mirror Status 缓存读取 | P95 < 100 ms | | 镜像完整测速 | 默认并发执行,目标 30 秒内返回可用结果 | | AI Profile 切换 | P95 < 1 秒,不含 Harness 下载与 Provider 网络延迟 | | First Run 状态恢复 | 崩溃或注销后继续上次未完成步骤 | | Registry 故障 | 使用最后一个有效签名缓存 | | 更新中断 | 保留恢复点与可重放步骤 | | 配置写入 | 原子写入、fsync、备份与权限校验 | | 日志空间 | 默认轮转与上限控制 | --- ## 17. 硬件与兼容测试矩阵 ### 17.1 P0 硬件 | 类别 | 覆盖 | |---|---| | CPU | Intel x86_64、AMD x86_64 | | GPU | Intel iGPU、AMD Radeon、NVIDIA RTX | | 显示 | 1080p、1440p、4K、5K2K、单屏、双屏 | | 缩放 | 1.0、1.25、1.5、1.6、2.0 | | 设备 | 台式机、主流笔记本、外接扩展坞 | | 网络 | 有线、Wi-Fi、热点、企业代理 | | 文件系统 | Btrfs、ext4 | | 安装 | 整盘、手动分区、Windows 双启动 | ### 17.2 P1 硬件 - 高刷新率与 VRR。 - 混合显卡笔记本。 - Thunderbolt/USB-C 多显示器。 - 指纹与 FIDO2。 - 触控板手势与高 DPI 鼠标。 ### 17.3 网络测试 - 中国电信、中国联通、中国移动代表性网络。 - DNS 污染、DNS 超时、IPv6-only/dual-stack、TLS 握手失败。 - 高延迟、丢包、限速与镜像同步滞后。 - 企业代理、自签名 CA 与内部镜像。 --- ## 18. 可访问性与本地化质量 - 中文 UI 使用统一术语表。 - 核心错误同时提供中文解释与原始英文错误。 - 键盘操作覆盖全部 OmarchyCN 菜单。 - 状态依赖文字、图标和形状共同表达。 - 支持系统字体缩放与高对比度主题。 - 文档示例同时覆盖中文目录、带空格目录和英文目录。 - 中文标点、CJK 行高、终端等宽和候选框在分数缩放下进入视觉回归测试。 --- ## 19. 文档需求 ### 19.1 用户文档 - 下载与签名验证。 - ISO 安装。 - 从 Omarchy 安装 Overlay。 - 首次启动向导。 - 中文输入与快捷键。 - 国内镜像与开发工具镜像。 - Kimi、DeepSeek、Z.AI/GLM 配置。 - Harness 与 Provider 概念。 - 国内应用安装。 - 更新、快照与恢复。 - 常见硬件问题。 - 诊断包与 Issue 模板。 ### 19.2 贡献者文档 - 上游同步流程。 - 新增命令。 - 新增 AI Harness Adapter。 - 新增 Provider Adapter。 - 新增镜像与应用配方。 - PKGBUILD 与 clean chroot。 - Quickshell 插件开发。 - 翻译与术语表。 - 测试与 Release Checklist。 - 安全响应与密钥轮换。 --- ## 20. 开源、许可证与品牌 ### 20.1 代码许可证 - Omarchy 上游代码遵循其 MIT License。 - 所有复制或实质修改的上游文件保留原始版权与许可证声明。 - OmarchyCN 原创代码建议采用 MIT License,以保持与上游一致。 - 第三方组件继续遵循其原始许可证。 ### 20.2 品牌 建议公开声明: > OmarchyCN is an independent community distribution based on Omarchy. OmarchyCN is not affiliated with or endorsed by Basecamp, 37signals, or the Omarchy maintainers. 要求: - 使用独立 Logo、图标、网站和视觉系统。 - About 页面清楚标注 Omarchy 上游来源。 - 发布前完成 `OmarchyCN` 名称与商标审查。 - 当名称授权存在约束时,项目保留迁移至独立品牌名的能力,代码包名与内部 ID 使用可重命名结构。 ### 20.3 专有软件 - ISO 核心层只包含具备再分发权的软件。 - 微信、QQ、WPS、钉钉等软件依据许可采用 fetch-on-install、官方仓库或用户确认路径。 - 应用配方保存来源、hash、许可证提示与更新机制。 --- ## 21. CI/CD Pipeline ```text Upstream Poll ↓ Create Sync MR ↓ Static Checks ├── ShellCheck ├── Rust fmt/clippy/test ├── QML/JSON/TOML/YAML validation └── License/Secret Scan ↓ Build Packages in Clean Chroot ↓ Build Overlay Test Image ↓ VM Integration Tests ├── Install ├── Upgrade ├── IME ├── Mirror Failover ├── AI Adapter Mock Tests └── Rollback ↓ Build ISO ↓ UEFI Boot Smoke Test ↓ Generate SBOM + Provenance ↓ Sign Packages/Registry/ISO ↓ Publish Beta ↓ Manual Hardware Gate ↓ Promote Stable ``` ### 21.1 发布门禁 Stable 发布必须满足: - 所有 P0 自动化测试通过。 - ISO 在 Intel、AMD、NVIDIA 代表设备通过启动和安装测试。 - 中文输入应用矩阵通过。 - Kimi、DeepSeek、Z.AI 至少各一个 Stable 组合通过真实账户测试。 - 升级和恢复测试通过。 - 软件包、Registry、ISO、checksum 和 SBOM 全部签名。 - Release Notes 明确上游基线、已知问题和恢复路径。 --- ## 22. 里程碑 ### M0:项目与法律基础 交付: - 项目名称、免责声明和视觉方向。 - Canonical Repository、许可证、NOTICE、贡献指南、Code of Conduct、Security Policy。 - 上游 remote、分支策略、同步工作流。 - Release Key 与 Key Rotation 文档。 退出条件: - 能够自动创建上游同步 MR。 - 能够构建一个未修改功能的 OmarchyCN 基线 ISO。 ### M1:Overlay 与国内镜像 交付: - `omarchycn` CLI 初版。 - Overlay Installer。 - Arch Mirror Manager。 - OmarchyCN Keyring 与 Package Repository。 - npm/pip/Cargo/Go 镜像 Profile。 - System Doctor 与恢复入口。 退出条件: - 现有 Omarchy 可完成安装、更新和卸载。 - 镜像失效场景通过自动恢复测试。 ### M2:中文体验 交付: - Locale、字体、Fcitx5、Rime、Chinese Addons。 - 快捷键冲突向导。 - 1.6 分数缩放与 5K2K 测试。 - 中文菜单、通知和核心文档。 退出条件: - 中文输入应用矩阵达到目标通过率。 - 首次启动向导完成中文环境配置。 ### M3:AI Hub 交付: - Harness/Provider/Profile 数据模型。 - Kimi、DeepSeek、Z.AI Adapter。 - Kimi Code、Deep Code、Claude Code、Codex、OpenCode Adapter。 - Secret Backend。 - AI Doctor、兼容矩阵与 Mock Server 测试。 - 默认 Agent 和 Quickshell AI 面板集成。 退出条件: - 每个国内 Provider 至少一个 Stable Harness 组合。 - Profile 切换、凭据注入、诊断脱敏通过安全测试。 ### M4:ISO Alpha 与应用中心 交付: - OmarchyCN ISO。 - First Run Wizard。 - 国内应用 Registry 与首批配方。 - 签名、SBOM、Release Manifest。 - QEMU UEFI 自动化测试。 退出条件: - ISO 在 P0 硬件代表设备通过安装。 - Offline Core Install 与 Online Update 均通过。 ### M5:v1.0 Stable 交付: - Stable Channel。 - 中文用户手册与贡献者文档。 - 国内镜像分发。 - 完整 Release Checklist。 - 上游同步 SLA 与安全响应流程。 退出条件: - 达到第 8 节成功指标。 - 完成一次真实上游版本同步、迁移、Beta 验证和 Stable 晋级。 --- ## 23. 风险与缓解措施 | 风险 | 影响 | 缓解措施 | |---|---|---| | Omarchy 上游快速变化 | 合并冲突、功能回归 | 薄下游、自动 Sync MR、每日 Nightly、最小上游文件修改 | | AI Harness 配置频繁变化 | Provider 组合失效 | 签名兼容 Registry、版本检测、Stable/Beta/Experimental 分级 | | 国内镜像质量波动 | 安装与更新失败 | 多镜像测速、同步新鲜度、自动故障切换、官方源回退 | | AUR 与第三方二进制供应链 | 安全与稳定风险 | 来源标识、PKGBUILD 审查、校验和、fetch-on-install、默认最小包集 | | 专有软件再分发限制 | ISO 发布风险 | 核心 ISO 与应用安装配方分离,遵循厂商授权 | | Omarchy/Arch 名称与商标 | 品牌调整成本 | 独立视觉、免责声明、发布前审查、内部 ID 可重命名 | | 维护资源不足 | 更新滞后 | P0 范围收敛、自动化测试、社区 Maintainer 分工、Adapter/Registry 模块化 | | API Key 泄露 | 用户资产与隐私风险 | Secret Service、日志脱敏、文件权限、Secret Scan、诊断包预览 | | 中国网络差异难以在 CI 复现 | 线上环境回归 | 多 ISP 社区探针、netem 故障测试、镜像状态遥测 Opt-in | | NVIDIA/混合显卡复杂性 | 黑屏、功耗、外接屏问题 | 跟随上游驱动路径、硬件矩阵、Live Recovery、已知问题数据库 | --- ## 24. Definition of Done 一个功能进入 Stable 的条件: 1. 需求与验收标准完成。 2. CLI 和菜单入口完成。 3. 配置变更具备预览、备份和恢复。 4. 中文与英文文案完成。 5. 单元、集成与适用的 VM/图形测试完成。 6. 权限、Secret、日志和诊断脱敏经过安全审查。 7. 用户文档与故障排查完成。 8. Release Manifest 与兼容 Registry 更新。 9. 上游兼容性评估完成。 10. Stable Channel 发布门禁通过。 --- ## 25. 首版命令清单 ```text omarchycn omarchycn version omarchycn status omarchycn setup omarchycn update omarchycn doctor [module] omarchycn mirror omarchycn dev-mirror omarchycn ime omarchycn font omarchycn display omarchycn ai omarchycn app omarchycn proxy omarchycn restore omarchycn reinstall omarchycn channel omarchycn support bundle omarchycn config get omarchycn config set omarchycn config diff omarchycn config restore ``` 所有命令支持: ```text --help --json --dry-run --yes --lang zh-CN|en-US --verbose ``` 涉及系统修改的命令必须支持 `--dry-run`,并在执行前展示目标文件、软件包、服务与恢复点。 --- ## 26. 待确认产品决策 | 决策 | 建议默认值 | 发布门槛 | |---|---|---| | 项目正式名称 | OmarchyCN | 首个公开 ISO 前完成名称/商标审查 | | Canonical Forge | 自托 Gitea/Forgejo | M0 | | 公共镜像 | GitHub + GitLab | M1 | | 默认中文输入引擎 | Fcitx5 Rime | M2 | | 默认输入法快捷键 | Ctrl + Space | M2 | | 默认文件系统 | Btrfs | M4 | | 默认镜像策略 | China Auto,官方全球源作为备用 | M1 | | 默认遥测 | Disabled | M0 | | 原创代码许可证 | MIT | M0 | | 文档许可证 | CC BY-SA 4.0 | M0 | | Artifact Origin | RustFS S3-compatible | M1 | | 国内分发 | 国内对象存储/CDN或社区镜像 | M5 | --- ## 27. 官方事实基线与参考资料 本 PRD 的产品事实基线截至 2026-08-24。实现阶段应持续以官方文档和签名 Registry 为准。 1. Omarchy Repository: 2. Omarchy AI Manual: 3. Omarchy CLI Manual: 4. Omarchy Keyboard/Input Manual: 5. Omarchy License: 6. Arch Linux Mirror Status: 7. Arch Linux Mirrorlist Generator: 8. Kimi Code Docs: 9. Kimi Claude Code Integration: 10. DeepSeek Coding Agent Integrations: 11. DeepSeek Claude Code Integration: 12. DeepSeek OpenCode Integration: 13. DeepSeek Codex Integration: 14. Deep Code Integration: 15. Z.AI Coding Plan Overview: 16. Z.AI Claude Code Integration: 17. Z.AI OpenCode Integration: --- ## 28. 最终产品定义 OmarchyCN 是一个保持 Omarchy 核心体验、面向中国开发者环境进行系统级优化的独立社区下游发行版。v1.0 的成立条件包括完整 ISO、可逆 Overlay、中国镜像与故障切换、中文输入与字体、Kimi/DeepSeek/Z.AI AI Hub、国内应用中心、签名软件仓库、自动上游同步、硬件与网络测试矩阵,以及可审计的软件供应链。