贡献指南
感谢您考虑为 Ascend Multimodal SDK 做出贡献!我们欢迎任何形式的贡献,包括错误修复、功能增强、文档改进等,甚至只是反馈。无论您是经验丰富的开发者还是第一次参与开源项目,您的帮助都是非常宝贵的。
贡献方式
请先提前了解社区相关规范:
- 签署贡献者许可协议(CLA)
- 社区行为准则
- Issue 提交指南
- 社区 Issue 处理流程指导
- Ascend 社区开发者测试贡献指南
- Ascend 开源与第三方软件建仓及分支命名指导
- Ascend 开源与第三方软件管理规范
- 社区安全设计规范
- Python代码规范
- Python安全编码指南
- C++代码规范
- C++安全编码指南
- PR 提交指南
您可以通过多种方式支持本项目:
- 领取社区任务
- 通过 Issues 反馈 Bug 或提出功能建议
- 改进或扩展文档
- 审查 Pull Request 并协助其他贡献者
- 传播项目:在博客、社交媒体等渠道分享 Multimodal SDK,或给仓库点个 ⭐
开发与测试
-
Fork 仓库:在 GitCode 上将本仓库 Fork 到个人账号。
-
克隆到本地:
git clone https://gitcode.com/<your-username>/MultimodalSDK.git cd MultimodalSDK -
创建开发分支:
git checkout -b <your-branch-name> origin/master -
代码开发:请遵循代码规范。
-
开发构建验证:
环境准备请参阅安装指南(Atlas 800I A2、Ubuntu 22.04 aarch64、CANN 9.0.0)。clone 后直接执行
bash build_script/build_merge.sh,脚本会自动下载并准备全部编译依赖(opensource、makeself、pybind11、googletest 等):source /usr/local/Ascend/ascend-toolkit/set_env.sh # 全量编译 + 打包(自动 fetch 依赖) bash build_script/build_merge.sh # 运行 AccSDK gtest + MultimodalSDK pytest bash build_script/build_merge.sh test # 清理三方依赖、构建中间产物与输出产物(无需 CANN 环境) bash build_script/build_merge.sh clean子项目也可独立构建:
# 仅构建 AccSDK cd AccSDK/build_script && ./build.sh # 仅构建 MultimodalSDK(需 AccSDK 已编译) cd MultimodalSDK/build_script && ./build.sh -
本地门禁检查:请先运行 pre-commit 进行本地检查,确保代码符合规范。
-
提交 Pull Request:提交 PR 并等待代码审查。
-
社区评审:如果涉及 patch、头文件宏、API 接口等变更,需提交社区评审。