跳转至

v0.3.0 稳定化收尾 — 计划设计

日期: 2026-05-29 状态: 已批准(头脑风暴中)——执行进行中 负责人: debpalash

目标

推动开放的 v0.3.0 待办事项走向闭环:修复现存 bug 集群、分类处理社区 PR,并在每个 PR 前面加上自动化审查与安全扫描。不升级版本、不发布 RC、不搞仪式——按照项目章程,每个修复都持续合并到 main。

形态:一系列小 PR,而不是一个巨型 PR

最初的设想是一个合并后的单独 PR。我们否决了这一点:它与“每个修复都持续合并到 main”的节奏规则冲突,会让 CodeRabbit/Greptile 看到一个信号稀疏的多子系统 diff,并使回归无法二分定位。相反,每个根因集群都以自己的 PR 形式,通过同一个自动化门禁发布。

待办事项已经分解完毕。Issue #128–132 是近似规格(缺陷 / 修复序列 / 测试矩阵 / 范围外),用于路由原始 bug 报告。因此“修复所有 issue”==“执行 plan-01 … plan-05”,每个计划作为一个 PR,关闭它所路由的子项。

执行顺序(依赖感知)

PR 集群 关闭 排序原因
0 审查 + 安全脚手架 — 必须最先落地:让下面的每个 PR 都能真正使用 bot + 安全门禁。
1 plan-04 流水线错误透明化(#131) #122、#127、#63 力量倍增器——把未来每个“未知错误”变成可诊断的错误。
2 plan-01 Windows 模型存储与 HF 缓存(#128) #117、#118 Windows 上最严重的首次运行阻塞项(WinError 448 / Errno 22)。
3 plan-02 Windows 运行时完整性(#129) #116、#65 pkg_resources / Triton OOM——Windows 运行时完整性。
4 plan-03 安装器网络韧性(#130) #57、#60 受限网络引导(镜像级联 + 系统 Python 回退)。
5 plan-05 语音设计指令验证器(#132) #114、#115 让预设构建器与指令白名单保持一致。
6+ 社区 PR 分类 #120(经 #123/#125) 独立轨道:合并/变基合理的 PR,对其余 PR 附评论拒绝。

延迟处理(明确推迟,而非放弃)

  • macOS 公证(#134 / #72)——真正的修复需要 Apple Developer 证书 + 维护者必须提供的 CI 签名密钥;同时先用已记录的 xattr -cr 临时绕过方法。
  • 增强功能:#124 AMD GPU、#119 纯音频配音、#44 增加引擎、#3 原生桌面。这些是全新功能,处于稳定化工作的下游。

横切规则

  • 目标分支为 main;不升级版本、不发布 RC(章程要求)。
  • 每个计划 PR 都附带其 issue 中 Test-matrix 所包含的测试;合并前 CI 必须通过。
  • 向后兼容:不重新安装引擎,任何 schema 变更使用 alembic,omnivoice_data/ 保持不动。
  • 默认功能一致性:任何新功能都必须在 macOS/Windows/Linux 上可用,或放在显式选入(opt-in)之后(Settings 开关 / 环境变量 / CLI 标志)。

按计划的工作流

按集群使用 speckit(specify → plan → tasks → implement),以 issue 正文为种子——其中已包含缺陷分析和修复序列。

审查 + 安全门禁(PR 0)

  • CodeRabbit + Greptile:已作为 GitHub Apps 安装;在创建 PR 时触发。.coderabbit.yaml 调整路径过滤器,并将章程约束编码为审查指令。
  • .github/workflows/security.yml 在每个 PR、推送到 main 以及每周都会运行:
  • gitleaks — 密钥扫描(硬失败)。
  • CodeQL — Python + JavaScript/TypeScript SAST → Security 标签页。
  • bandit — Python SAST → SARIF → Security 标签页。
  • pip-audit + bun audit — 依赖项安全公告(报告)。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio