## 背景 仓库已有明确的 Python 验证命令和锁定依赖,但目前没有 `.github/workflows/`,Pull Request 无法自动发现 lint、类型检查、单元测试或协议文档不同步。为首次贡献建立一个最小且快速的 CI,可以让提交者在合并前获得一致反馈。 ## 建议范围 新增一个 GitHub Actions 工作流,仅覆盖 Python 快速检查: - 在 Pull Request 和推送到 `main` 时触发。 - 使用仓库要求的 Python 3.12。 - 安装 `uv` 并执行 `uv sync --frozen`。 - 依次运行 Ruff、mypy、单元测试和协议生成检查。 - 为 uv 与 Python 依赖启用合理缓存。 - 设置最小 `contents: read` 权限。 建议命令: ```bash uv run ruff check src tests scripts uv run mypy src uv run pytest tests/unit -q uv run python scripts/gen_protocol_doc.py --check ``` ## 验收标准 - [ ] 新增 `.github/workflows/python-ci.yml`(名称可调整)。 - [ ] Pull Request 与 `main` 分支 push 会触发工作流。 - [ ] 工作流固定 Python 3.12,并使用 `uv.lock` 的冻结安装。 - [ ] 四项检查全部执行;任一失败会使 Job 失败。 - [ ] workflow permissions 为只读,不暴露或依赖仓库 Secret。 - [ ] 配置并发取消,使同一 PR 的旧运行可被新提交替代。 - [ ] 在 PR 中附一次成功运行链接或截图。 ## 非目标 - 不运行真实模型 API 测试。 - 不运行桌面端 Playwright、Tauri 构建或发布流程。 - 不修改现有测试以迁就 CI 环境。
Activity
neutronstar238 commentedon Aug 7, 2026
已完成该 Issue,并提交 PR #51:
uv sync --frozen、Ruff、mypy、单元测试和协议文档检查。PR 已转为 Ready for review,当前无冲突且可合并,请维护者审阅。
rojim666 commentedon Nov 10, 2026
完成状态复核(main
bbbe73f):虽然 #51 曾合并,当前.github/workflows/仅有desktop-linux.yml、typescript-ci.yml、website.yml,未发现本 issue 要求的独立 Python 3.12 冻结依赖安装、Ruff、mypy、单测与协议漂移完整流水线。TypeScript CI 中的 Python/Office 局部检查不等价。因此保持开放,避免仅按历史 PR 合并状态误判完成。