YAML 反斜杠修复扩大范围 — 之前只匹配 "D:\..." 格式,现在匹配所有双引号内含反斜杠的字符串。"outputs\session_20260420..." 会被正确转成 "outputs/session_20260420...",不再导致 YAML 解析失败。这直接解决了第 10-19 轮的死循环。

_process_response 的 analysis_complete 检测已经在上一轮修好了,配合反斜杠修复,YAML 能正确解析出 action: "analysis_complete",不会再 fallback 到代码执行。

文件选择改为只用最近一次上传的文件 — app.state.last_uploaded_files 记录上传的文件列表,/api/start 优先使用它,不再 glob("uploads/*.csv") 把所有历史文件都拿来分析。
This commit is contained in:
2026-04-20 13:09:54 +08:00
parent 7303008f48
commit c7224153b1
5 changed files with 88 additions and 42 deletions

View File

@@ -91,9 +91,10 @@ class LLMHelper:
yaml_content = yaml_content.split('\n', 1)[1]
# Fix Windows backslash paths that break YAML double-quoted strings.
# e.g. "D:\code\iov..." → "D:/code/iov..." inside quoted values
# Replace ALL backslashes inside double-quoted strings with forward slashes.
# This handles both "D:\code\..." and "outputs\session_..." patterns.
yaml_content = re.sub(
r'"([A-Za-z]:\\[^"]*)"',
r'"([^"]*\\[^"]*)"',
lambda m: '"' + m.group(1).replace('\\', '/') + '"',
yaml_content,
)