#!/usr/bin/env python3 import sys p = "/data/ai/audio/server/src/modules/book-generator/nodes/rich-outline.node.ts" src = open(p).read() old = """ // 移除 markdown 代码块标记 cleaned = cleaned.replace(/```json\\s*/gi, '').replace(/```\\s*/g, ''); // 策略1:jsonrepair 修复后直接解析""" new = """ // 移除 markdown 代码块标记 cleaned = cleaned.replace(/```json\\s*/gi, '').replace(/```\\s*/g, ''); // 策略0:手工清理已知瑕疵(jsonrepair 偶尔漏掉的情况) // 1. 修复 `,""` 这种空 key/空 value 残留(volcengine 等模型常见瑕疵) cleaned = cleaned.replace(/,\\s*""\\s*([,\\}])/g, '$1'); // 2. 修复 `:""` 这种空 value(改成 null) cleaned = cleaned.replace(/:\\s*""\\s*([,\\}])/g, ':null$1'); // 3. 修复连续逗号 cleaned = cleaned.replace(/,\\s*,/g, ','); // 策略1:jsonrepair 修复后直接解析""" if old not in src: print("ERROR: old block not found") sys.exit(1) src = src.replace(old, new, 1) open(p, 'w').write(src) print("patched rich-outline.node.ts OK")