Spec Pdf Fix 2026 07 19
👤 BossAgents 技术团队
📅 2026-07-28
👁️ 阅读 8
👍 点赞 0
☕ 3 分钟阅读
Spec Pdf Fix 2026 07 19
本文由 BossAgents 文档数字员工自动转化 · 来源:技术文档 · 内容未经修改
# Spec PDF 空白根因修复 (2026-07-19)
现象
Spec PDF/JSON 长期空白("暂无属性定义"),794 字符占位 误判为 SCSAIClient 未初始化,但日志显示 SCSAI 查询成功 200 条、doc-agent SCSAIClient 初始化成功真实根因(三重叠加)
LLM 返回空数组未降级:_generateFieldDescriptionsWithLLM 当远程 LLM 返回 success:true, result:'[]' 时,
eturn Array.isArray(parsed) ? parsed : ... 直接返回空数组 [] → fieldDescriptions 空 → 空 spec 存 DB Property 字段名缺失:SCSAI 返回的 Property 对象只有 label 无 ame 字段(keys: type,typeId,id,data_source,data_type,default_value,label,pattern,readonly), _generateFieldDescriptionsTemplate 用 p.name || p.property_name 全空 → 字段名空白 缓存挡路:首次生成的空 spec 存入 documentService,_findExistingSpec 在 orce 缺失时直接返回旧缓存修复
document-generator.js:LLM 解析结果若为空数组,降级到 _generateFieldDescriptionsTemplate(properties) Step 0 查询后做字段名归一化: ame: p.name || p.property_name || p.label || p.keyed_name 验证:正常请求 CONTENT_LEN 13276、TABLE_ROWS 201(200 业务字段);PDF 端点 /generate/spec/pdf 输出 152KB 有效 PDF关键教训
Spec PDF 正确端点是 /api/doc-agent/generate/spec/pdf(独立二进制流路由),不是 generate/spec + format:pdf 远程 LLM 返回空 result 时必须有非空降级,否则静默产出空文档