diff --git a/ReportEngine/renderers/html_renderer.py b/ReportEngine/renderers/html_renderer.py
index b2a001e..4164ba5 100644
--- a/ReportEngine/renderers/html_renderer.py
+++ b/ReportEngine/renderers/html_renderer.py
@@ -889,6 +889,14 @@ class HTMLRenderer:
if handler:
html_fragment = handler(block)
return self._wrap_error_block(html_fragment, block)
+ # 兼容旧格式:缺少type但包含inlines时按paragraph处理
+ if isinstance(block, dict) and block.get("inlines"):
+ html_fragment = self._render_paragraph({"inlines": block.get("inlines")})
+ return self._wrap_error_block(html_fragment, block)
+ # 兼容直接传入字符串的场景
+ if isinstance(block, str):
+ html_fragment = self._render_paragraph({"inlines": [{"text": block}]})
+ return self._wrap_error_block(html_fragment, {"meta": {}, "type": "paragraph"})
if isinstance(block.get("blocks"), list):
html_fragment = self._render_blocks(block["blocks"])
return self._wrap_error_block(html_fragment, block)