欢迎贡献者!
Mirobody 是一个用 CMake 构建的 C++11 引擎。本指南涵盖如何构建它、修改工作流以及 PR 规范。贡献方式
新增一个 vendor
在
src/health/vendor/ 中新增一个 vendor::Vendor —— 参见 Provider 集成新增一个 MCP 工具
在
res/mcp_tools/ 中新增一个 .cpp,使用 MIROBODY_REGISTER_TOOL 宏修复 Bug
反馈并修复问题
完善文档
改进本文档
构建引擎
Mirobody 在 Linux / WSL / macOS 上针对系统安装的库进行构建;Windows 上使用 vcpkg。安装依赖
Debian / Ubuntu / WSL:macOS(Homebrew):另请为你构建的数据库后端安装对应的
-dev 包(默认是 Postgres)。完整清单见仓库 README 的 “Building” 一节。构建
build.sh 可按任意顺序接收一个架构和/或后端选择器,另加 clean:build.cmd(Visual Studio + vcpkg,会自动拉取依赖)→ build\mirobody.exe。build-shared.sh(libmirobody C-ABI 共享库)、build-python.sh(Python wheel,经 pybind11 从源码构建),以及 Android(Gradle + NDK)/ iOS(mirobody.xcframework)目标。还有一个多阶段 Dockerfile。
修改工作流
构建并测试
代码规范
- C++11。 与周边风格保持一致;代码库倚重标准库、
rapidjson和轻薄的内部封装(client::HttpClient、storage::*),而非重型框架。 - 头部注释解释意图 —— 尤其是为何某处是桩或权宜之计。新的 vendor 桩必须记录其原因(受限 / 契约不匹配 / 无此端点)。
- 不要捏造契约。 若某个线路格式无法公开确认,请留下一个诚实的桩(抛出带原因的
VendorError/DocumentError),而不是猜测。 - 为你改动的行为新增或更新测试(Catch2,位于
tests/下)。
Pull Request 规范
标题格式
标题格式
Conventional commits:
feat:、fix:、docs:、refactor:、test:、chore:。描述内容
描述内容
- 该 PR 做了什么、为什么
- 如何构建 / 测试它
- 链接相关 issues
Checklist
Checklist
- 能通过
./build.sh构建 -
ctest通过 - 新增 / 更新了测试
- 行为变更时更新了文档
- 桩(如有)已记录其原因
有问题?
GitHub Issues
Bug 反馈与功能请求
Mirobody 支持
直接的技术支持