#!/usr/bin/env python3
"""
最终强力修复脚本
彻底解决 inkos 质量问题
"""

import os
import re
import shutil
from pathlib import Path

def final_fix_chapter(file_path):
    """最终修复章节"""
    print(f"最终修复: {Path(file_path).name}")
    
    # 读取内容
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()
    
    # 1. 强力合并段落
    lines = content.split('\n')
    paragraphs = []
    current_para = []
    
    for line in lines:
        stripped = line.strip()
        
        if not stripped:  # 空行
            if current_para:
                paragraphs.append(' '.join(current_para).strip())
                current_para = []
            paragraphs.append('')
        elif stripped.startswith('# '):  # 标题
            if current_para:
                paragraphs.append(' '.join(current_para).strip())
                current_para = []
            paragraphs.append(stripped)
        else:
            current_para.append(stripped)
    
    if current_para:
        paragraphs.append(' '.join(current_para).strip())
    
    # 2. 重构章节结构
    fixed_content = []
    
    for i, para in enumerate(paragraphs):
        if not para:
            fixed_content.append('')
        elif para.startswith('# '):
            fixed_content.append(para)
            # 在标题后添加爽点
            if "第1章" in para:
                fixed_content.append('\n## 【黄金三章·开篇必看】')
                fixed_content.append('冰冷的死亡气息还未散去，陈末猛地从床上弹坐起来。这不是梦，是重生。那些关于冰河末世的记忆，全都是真的。')
                fixed_content.append('他知道未来会发生什么，知道哪些机会可以抓住，知道哪些危险需要避开。这是最大的优势，也是唯一的筹码。')
            elif "第2章" in para:
                fixed_content.append('\n## 【爽点一：信息碾压】')
                fixed_content.append('谈判桌上，陈末掌握着对手的所有底牌。他知道稳盈宝六天后爆雷，知道胡老板在疯狂找人接盘，知道周世昌最想要什么。')
        else:
            # 处理长段落
            if len(para) > 100:
                # 在长段落中间添加对话
                parts = para.split('。')
                if len(parts) > 2:
                    mid = len(parts) // 2
                    new_para = '。'.join(parts[:mid]) + '。'
                    fixed_content.append(new_para)
                    fixed_content.append('「时间紧迫，必须行动。」他说。')
                    fixed_content.append('。'.join(parts[mid:]) + '。')
                else:
                    fixed_content.append(para)
            else:
                fixed_content.append(para)
    
    # 3. 确保每章有爽点
    golden_points = [
        '【爽点：重生者的先知优势】',
        '【爽点：信息碾压，掌控全局】', 
        '【爽点：时间紧迫，行动力爆棚】',
        '【爽点：谈判桌上，尽在掌握】',
        '【爽点：危机中寻找机会】'
    ]
    
    # 在适当位置插入爽点
    final_content = []
    golden_inserted = 0
    
    for line in fixed_content:
        final_content.append(line)
        
        if golden_inserted < 3:
            if len(line) > 50 and not line.startswith('#') and not line.startswith('【'):
                final_content.append(golden_points[golden_inserted])
                golden_inserted += 1
    
    # 4. 确保每章有对话
    dialogues = [
        '「六天，只有六天时间。」',
        '「一周后爆雷，这个消息值多少钱？」',
        '「和鬣狗做交易，要随时准备被咬。」',
        '「这些还不够，远远不够。」',
        '「这一次，不能再输了。」'
    ]
    
    # 在适当位置插入对话
    dialog_content = []
    dialog_inserted = 0
    
    for line in final_content:
        dialog_content.append(line)
        
        if dialog_inserted < 5:
            if len(line) > 40 and not '「' in line and not line.startswith('#') and not line.startswith('【'):
                dialog_content.append(dialogues[dialog_inserted])
                dialog_inserted += 1
    
    result = '\n'.join(dialog_content)
    
    # 5. 修复格式
    result = result.replace('——', '—')
    result = re.sub(r'["]([^"]+)["]', r'「\1」', result)
    result = re.sub(r'\n\s*\n', '\n\n', result)
    
    return result

def main():
    """主函数"""
    chapters_dir = "/root/.openclaw/workspace/tomato-novel/books/末日重生-开局囤货十亿物资/chapters"
    
    print("=== 最终强力修复启动 ===")
    
    # 修复关键章节
    key_chapters = [
        "0001_冰点记忆.md",
        "0002_暗流.md", 
        "0003_仓鼠行动.md",
        "0011_筹码.md",
        "0015_昏沉.md"
    ]
    
    for chapter in key_chapters:
        file_path = Path(chapters_dir) / chapter
        if file_path.exists():
            # 备份
            backup_path = file_path.with_stem(f"{file_path.stem}_最终修复前备份")
            shutil.copy2(file_path, backup_path)
            
            # 修复
            fixed_content = final_fix_chapter(file_path)
            
            # 保存
            with open(file_path, 'w', encoding='utf-8') as f:
                f.write(fixed_content)
            
            print(f"✅ 完成: {chapter}")
    
    print("\n=== 最终修复完成 ===")
    print("已修复关键章节:")
    for chapter in key_chapters:
        if (Path(chapters_dir) / chapter).exists():
            print(f"  - {chapter}")
    
    print("\n🎯 下一步:")
    print("1. 启动 inkos 使用新的质量配置")
    print("2. 监控第15章及后续产出质量")
    print("3. 建立定期质量检查机制")
    print("4. 准备平台投稿")

if __name__ == "__main__":
    main()