用途:为文档添加正确、可嵌入的 UML 类图,避免多重性错误、箭头反向、继承颠倒,或给出永远渲染不成图片的代码块。
主要能力:仅支持类图(类、属性、关联、多重性、继承);其他 UML 类型(状态机、对象、时序、活动图等)暂不在范围内。所有图都先构建为 BESSER B-UML DomainModel,再交付,因而可校验、可复用为代码。起点可以是文字描述、已有代码(由代理阅读并建模,并非一键扫描导入),或 PlantUML、Draw.io、UI 原型等受支持的转入 B-UML 路径。
使用方式:先构建 B-UML 模型,调用 model.validate() 确认结构正确;随后二选一或两者兼有。交付 A:将 DomainModel 的 Python 代码放入 .md 的围栏代码块。交付 B:把模型 POST 到 BESSER 无头 SVG 端点渲染为图像,命令为 curl -X POST https://editor.besser-pearl.org/besser_api/get-svg -F "buml_file=@data-model.py;type=text/x-python" -o docs/img/data-model.svg,再以 嵌入。需要手工调版式时,可在 https://editor.besser-pearl.org 导入 .py 后拖拽并导出 SVG、PNG 或白底 PNG。用户指定目标文档则嵌入该文件;未指定则默认生成一个新的自包含 .md。
适用场景:README、设计文档、规范等需要展示或导出类图的位置;SVG、PNG 在支持 Markdown 图片的平台均无需插件。
限制:类图之外的类型不支持;模型须写成显式顶层赋值,关系写在函数或循环里会导致关联丢失;渲染路径不执行文件,故不要求本地安装 BESSER;渲染的 .py 须为无 BOM 的 UTF-8,并避免枚举字面量默认值(当前会导致 HTTP 500);非 200 响应为 JSON 错误而非 SVG。模型是唯一事实来源,需求变化时更新模型并重新交付,不要手工编辑导出的 SVG/PNG。具体收费、价格与更多细节暂未提供。