Fix automation system and AI learning integration
Fixed automation v2 start button (relative API URLs) Fixed batch analysis API endpoint in simple-automation Fixed AI learning storage with correct userId Implemented comprehensive learning data storage Fixed parallel analysis system working correctly - Changed frontend API calls from localhost:9001 to relative URLs - Updated simple-automation to use localhost:3000 for batch analysis - Fixed learning integration with 'default-user' instead of 'system' - AI learning now stores analysis results with confidence/recommendations - Batch analysis working: 35s completion, 85% confidence, learning stored - True parallel screenshot system operational (6 screenshots when multi-timeframe) - Automation start/stop functionality fully working
This commit is contained in:
@@ -3,12 +3,48 @@ import { enhancedScreenshotService } from '../../../lib/enhanced-screenshot'
|
||||
import { aiAnalysisService } from '../../../lib/ai-analysis'
|
||||
import { progressTracker } from '../../../lib/progress-tracker'
|
||||
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
// Store analysis results for AI learning
|
||||
async function storeAnalysisForLearning(symbol, analysis) {
|
||||
try {
|
||||
console.log('💾 Storing analysis for AI learning...')
|
||||
|
||||
// Extract market conditions for learning
|
||||
const marketConditions = {
|
||||
marketSentiment: analysis.marketSentiment || 'NEUTRAL',
|
||||
keyLevels: analysis.keyLevels || {},
|
||||
trends: analysis.trends || {},
|
||||
timeframes: ['5m', '15m', '30m'], // Multi-timeframe analysis
|
||||
timestamp: new Date().toISOString()
|
||||
}
|
||||
|
||||
await prisma.aILearningData.create({
|
||||
data: {
|
||||
userId: 'default-user', // Use same default user as ai-learning-status
|
||||
symbol: symbol,
|
||||
timeframe: 'MULTI', // Indicates multi-timeframe batch analysis
|
||||
analysisData: JSON.stringify(analysis),
|
||||
marketConditions: JSON.stringify(marketConditions),
|
||||
confidenceScore: Math.round(analysis.confidence || 50),
|
||||
createdAt: new Date()
|
||||
}
|
||||
})
|
||||
|
||||
console.log(`✅ Analysis stored for learning: ${symbol} - ${analysis.recommendation || 'HOLD'} (${analysis.confidence || 50}% confidence)`)
|
||||
} catch (error) {
|
||||
console.error('❌ Failed to store analysis for learning:', error)
|
||||
}
|
||||
}
|
||||
|
||||
export async function POST(request) {
|
||||
try {
|
||||
const body = await request.json()
|
||||
const { symbol, layouts, timeframes, selectedLayouts, analyze = true } = body
|
||||
|
||||
console.log('📊 Batch analysis request:', { symbol, layouts, timeframes, selectedLayouts })
|
||||
console.log('📊 Batch analysis request:', { symbol, layouts, timeframes, selectedLayouts, analyze })
|
||||
|
||||
// Validate inputs
|
||||
if (!symbol || !timeframes || !Array.isArray(timeframes) || timeframes.length === 0) {
|
||||
@@ -170,6 +206,9 @@ export async function POST(request) {
|
||||
if (analysis) {
|
||||
console.log('✅ Comprehensive AI analysis completed')
|
||||
progressTracker.updateStep(sessionId, 'analysis', 'completed', 'AI analysis completed successfully!')
|
||||
|
||||
// Store analysis for learning
|
||||
await storeAnalysisForLearning(symbol, analysis)
|
||||
} else {
|
||||
throw new Error('AI analysis returned null')
|
||||
}
|
||||
@@ -266,6 +305,8 @@ function getTimeframeLabel(timeframe) {
|
||||
return timeframes.find(t => t.value === timeframe)?.label || timeframe
|
||||
}
|
||||
|
||||
|
||||
|
||||
export async function GET() {
|
||||
return NextResponse.json({
|
||||
message: 'Batch Analysis API - use POST method for multi-timeframe analysis',
|
||||
|
||||
Reference in New Issue
Block a user