with open('index.html', 'r', encoding='utf-8') as f: lines = f.readlines() # 找到函數的起始行 start_line = None for i, line in enumerate(lines): if 'async function callClaudeAPI' in line: start_line = i break if start_line is None: print("ERROR: Could not find callClaudeAPI function") exit(1) # 找到函數的結束行 end_line = None brace_count = 0 for i in range(start_line, len(lines)): for char in lines[i]: if char == '{': brace_count += 1 elif char == '}': brace_count -= 1 if brace_count == 0: end_line = i break if end_line: break if end_line is None: print("ERROR: Could not find end of function") exit(1) print(f"Found function from line {start_line+1} to {end_line+1}") # 新函數 new_function = ''' async function callClaudeAPI(prompt, api = 'gemini') { try { // 調用後端 Flask API,避免 CORS 錯誤 const response = await fetch("/api/llm/generate", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ api: api, prompt: prompt, max_tokens: 2000 }) }); if (!response.ok) { const errorData = await response.json(); throw new Error(errorData.error || `API 請求失敗: ${response.status}`); } const data = await response.json(); if (!data.success) { throw new Error(data.error || 'API 調用失敗'); } let responseText = data.text; responseText = responseText.replace(/```json\\n?/g, "").replace(/```\\n?/g, "").trim(); return JSON.parse(responseText); } catch (error) { console.error("Error calling LLM API:", error); alert(`AI 生成錯誤: ${error.message}\\n\\n請確保:\\n1. Flask 後端已啟動 (python app_updated.py)\\n2. 已在 .env 文件中配置 LLM API Key\\n3. 網路連線正常`); throw error; } } ''' # 替換 new_lines = lines[:start_line] + [new_function] + lines[end_line+1:] # 寫回 with open('index.html', 'w', encoding='utf-8') as f: f.writelines(new_lines) print("SUCCESS: Function completely replaced") print("\nVerifying...") # 驗證 with open('index.html', 'r', encoding='utf-8') as f: content = f.read() if 'api.anthropic.com' in content: print("WARNING: Still contains references to api.anthropic.com") else: print("VERIFIED: No more direct API calls") if '/api/llm/generate' in content: print("VERIFIED: Now using Flask backend") print("\nDone! Please:") print("1. Restart Flask: python app_updated.py") print("2. Reload browser: Ctrl+F5") print("3. Test AI generation")