开发与参与¶
原始源码使用 MIT,第三方组件、模型与媒体遵循各自许可。用户文档默认中文,代码、配置键和界面身份保持实际名称;历史测量保留原始证据。
本地客户端¶
git clone --recurse-submodules https://github.com/NorthBoundWisdom/sonafolio.git
cd sonafolio
python3 configs/setup_local_app.py
python3 configs/ios_workflow.py build --platform mac --scheme Audio2TextApp --configuration debug --distribution ad-hoc
python3 configs/ios_workflow.py build --platform ios --scheme Audio2Text-iOS --configuration debug
macOS 原生包在 build/app/SonaFolio.app;iOS 命令验证模拟器构建。Qt 使用本机 Qt SDK 与 CMake:
python3 configs/source_roots.py init-seeds --quiet
python3 configs/source_roots.py materialize --quiet
python3 configs/qt_workflow.py config --configuration Release --qt-prefix <Qt-prefix>
python3 configs/qt_workflow.py smoke --configuration Release
替换实际 SDK 路径,不提交机器绝对路径。生产 ASR 后端的变更需要质量门与语义审阅,不因“能编译”就晋升。
Qt 控件通过 FreeCM 从 source_roots.lock.jsonc.in 固定的 GeoControls 提交引入;窗口、按钮、输入框、菜单、弹窗、滚动条和分栏使用共享控件。依赖源码保存在忽略的 build/ 中,Qt 安装包包含其 MIT 许可。已有本地 lock 的开发者需先合并模板中的 GeoControls 条目。
测试与文档¶
python -m ruff check .
python -m mypy
python -m pytest
python configs/check_docs.py
python configs/check_repository_language.py
运行在托管 Python 环境。Swift/Qt 的专门验证见各客户端 README。
网站使用 MkDocs Material,源码 website/,输出 build/website/。严格构建、资源/链接、语言政策与公共路径检查完成后,由 GitHub Pages 发布;生成 HTML 不进 Git。模型、音频、用户库与凭据也不进 Git。
技术资料入口¶
技术与研究参考中可能保留英文原文;默认用户流程以中文手册为准,下载包能力以对应 release 为准。