بنقرة واحدة
commit-and-release
Sharp GUI 项目的 Commit Message、Release Note、Windows 完整便携包一键打包与网盘发布流程规范
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Sharp GUI 项目的 Commit Message、Release Note、Windows 完整便携包一键打包与网盘发布流程规范
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | commit-and-release |
| description | Sharp GUI 项目的 Commit Message、Release Note、Windows 完整便携包一键打包与网盘发布流程规范 |
本 Skill 定义了 Sharp GUI 项目的 Git Commit Message 和 GitHub Release Note 的书写格式规范。当用户要求生成 commit message 或 release note 时,必须严格遵循以下规则。
Agent / AI 执行提交时,Author 使用实际工具身份;不得把不同工具统一写成固定 Agent,也不得把推送账号直接当作作者。优先使用工具官方身份;没有官方邮箱时可使用清晰工具名和中性未绑定邮箱。
将实际参与需求、讨论、优化、验证或验收的人类参与者写入 Co-authored-by:。姓名和邮箱取当前参与者已确认的 GitHub 关联身份,优先使用 GitHub noreply 邮箱;不得在仓库规则中写死某位维护者的信息。本人手动提交时无需重复添加自己。
每次提交前检查 git config --show-origin --get user.name、git config --show-origin --get user.email 和 git var GIT_AUTHOR_IDENT。本地配置只能在确认属于当前人类参与者后用于共同作者;无法确认时先询问,不得猜测。
Agent 身份只对本次命令临时覆盖,例如 git -c user.name="<Agent>" -c user.email="<Agent email>" commit ...;除非用户明确要求,不修改全局 Git 身份。
提交正文与 footer 之间留一个空行;每位参与者只保留一条:
Co-authored-by: <参与者姓名> <GitHub 已关联邮箱>
推送前执行 git show -s --format=fuller HEAD,确认实际 Agent 作者和共同作者归属正确。错误只能在未推送时修正;不得擅自改写已推送历史。
使用 Conventional Commits 格式,语言为 中文。
生成 commit message 前,先执行
git diff --staged --stat(必要时再看git diff --staged)核对真实改动范围,确保 type / scope 与描述和实际改动一致,避免"描述与改动不符"。
type(scope): 简要描述
feat | fix | refactor | chore | docs | style | perf | revert
feat 新功能、fix 修复、refactor 重构、perf 性能、style 纯样式/格式、docs 文档、chore 杂项/构建/依赖、revert 回滚Initial commit、自动生成的提交不强制套用本格式photo | video | viewer | frontend | app | backend | share | vrinstall | update | run | release | build | openspecdocs(openspec) | docs(frontend) | docs(video)- 把多条变更塞进标题& 堆叠多个 type!(如 feat(app)!: ...),并在正文末尾追加一行 BREAKING CHANGE: 说明Closes #123 或 Refs #123frontend/,提交前必须先执行 npm run build 重新生成 dist/,并将更新后的 dist/ 一并纳入提交,确保发布版本无需用户自行构建即可使用最新前端dist/,避免产生无意义的大 diffchore(build): 同步前端构建产物 提交,避免淹没功能 diffversion.txt 为准;发布时使用独立提交 chore(release): 发布 vX.Y.Z(同步 version.txt),便于检索版本节点- 列表描述具体变更 -小改动 (单行即可):
fix: 赋予 update.sh 执行权限
中等改动 (附简短说明):
fix: update.py 解压路径修复 - 移至 tools/ 后解压到了错误目录
get_script_dir() 返回 tools/ 而非项目根目录,导致 zip 被解压
到 tools/ 内而不是项目根目录。改为返回 tools/ 的父目录。
大改动 (分类组织):
feat: 添加自动更新脚本 & 重构工具目录 & 修复 install.bat 闪退
新增功能:
- 添加 update.py/update.bat/update.sh 自动更新脚本
- GitHub Release 版本检测 (无 API 限流)
- 版本比较防止降级 (pre-release → 旧 stable)
- release.yml 自动写入 version.txt
目录重构:
- 工具脚本移至 tools/ 目录
- detect_cuda.py, download_model.py, generate_cert.py, update.py
- 更新所有引用: install.bat/sh, release.yml, README.md 等
Bug 修复 (install.bat):
- 修复 CUDA 检测闪退: for /f 内联 Python 语法冲突
- 修复 nvcc 版本解析带尾部逗号 (12.4, → 12.4)
/ 分隔## 🚀 vX.Y.Z(-rc.N) (Pre-Release)
> ⚠️ 这是预发布版本,用于测试验证。正式版将在测试通过后发布。
>
> ⚠️ This is a pre-release for testing. Stable release coming after validation.
---
### 🎯 功能标题 / Feature Title
- **中文粗体关键词**: 中文描述 / English description
- **中文粗体关键词**: 中文描述 / English description
### 🐛 Bug 修复 / Bug Fixes
- **修复 xxx**: 中文描述 / English description
### 🔧 技术改进 / Technical Improvements
- 中文描述 / English description
---
### 📦 快速使用 / Quick Start
1. 下载 `sharp-gui-vX.Y.Z.zip` / Download the zip file
2. 解压后运行安装脚本 / Extract and run install script:
- **Linux/macOS**: `./install.sh && ./run.sh`
- **Windows**: `install.bat` 然后 `run.bat`
3. 浏览器访问 / Open browser: `https://127.0.0.1:5050`
### 🔄 从旧版本更新 / Update from Previous Version
- **Release 包用户**: 运行 `update.bat` 或 `./update.sh` / Run update script
- **Git 用户**: `git pull origin main` 后重跑 `install.bat` 或 `./install.sh` / Pull and re-run install
📖 **中文详细教程**: [查看 README](https://github.com/lueluelue12138/sharp-gui)
📖 **English Guide**: [View README.en.md](https://github.com/lueluelue12138/sharp-gui/blob/main/README.en.md)
当用户要求发布 Windows 完整包、网盘包、一键打包、便携包、RTX 50 / CUDA 包时,优先使用项目根目录的一键入口:
build_portable_release.bat
默认行为:
version.txt 或 Git tag 自动提取版本号,生成包含真实版本号的包名。vX.Y.Z,脚本默认会拒绝继续,避免误生成 local-* 测试包;测试时才使用 -AllowLocalVersion。frontend\node_modules,通过 Node 直接调用 TypeScript 与 Vite 入口;只有缺失或构建失败时才安装依赖,避免 npm 版本差异导致 lockfile 被改、npm ci 失败或 Windows .bin shim 权限问题。venv 生成 cu128-rtx50 完整包。venv 和 .video-reconstruction-env 生成 cu128-rtx50-video-recon 视频重建完整包。.portable-venvs\cu126 并生成 cu126-mainstream 完整包。.sha256.txt。portable-dist\portable-release-template-<version>.md,用于复制到 GitHub Release 正文并填写网盘链接。.portable-venvs 作为下次打包加速缓存,并保留 portable-dist 中的历史旧版本产物;脚本结束时会打印缓存位置和手动清理命令。常用命令:
build_portable_release.bat -Version v1.2.3
build_portable_release.bat -PlanOnly
build_portable_release.bat -Version v1.2.3 -PlanOnly
build_portable_release.bat -AllowLocalVersion -PlanOnly
build_portable_release.bat -SkipCu126
build_portable_release.bat -SkipCu128
build_portable_release.bat -SkipVideoRecon
build_portable_release.bat -CleanBuildVenvs
build_portable_release.bat -CleanOldArtifacts
清理策略:
portable-dist\sharp-gui-*.zip、对应 .sha256.txt、portable-release-template-*.md。.portable-venvs 作为 cu126 打包加速缓存,避免每次重新下载和安装 PyTorch。.portable-build 临时 staging 目录,避免异常之外的中间目录残留。cu126 打包缓存,可显式加 -CleanBuildVenvs,或手动删除 .portable-venvs。-CleanOldArtifacts,或手动删除 portable-dist 中不需要的版本。根目录只保留 build_portable_release.bat 作为公开入口;tools/build_portable_package.ps1 是内部单包构建实现,除非用户明确要求调试单个目标包,否则不要让用户直接调用它。
发布检查清单:
portable-dist\*.zip 与对应 .sha256.txt 已生成,且文件名包含真实版本号 vX.Y.Z,不能发布 local-* 或 v-local-test 包。portable-dist\portable-release-template-<version>.md 已生成,并将网盘链接补进去。cu128-rtx50 面向 RTX 50 系列核心包;cu128-rtx50-video-recon 面向 RTX 50 / CUDA 12.8 视频重建完整包;cu126-mainstream 面向 RTX 50 以下主流 NVIDIA 核心包。npm run build,生成最新的 dist/ 目录内容,并将其包含在 commit 中。这样可以确保发布版本包含最新的前端代码,让用户无需自行构建即可使用最新功能。Pre-Release,正式版不带> ⚠️ 警告 blockquote,正式版不需要- **粗体关键词**: 描述 / English desc### 🔄 从旧版本更新 / Update 章节markdown ... ),方便用户复制update.bat/update.sh 必须加 --pre 参数(如 update.bat --pre 或 ./update.sh --pre),正式版不需要