Files
makemd/server/src/api/controllers/AISelfImprovementController.ts

62 lines
1.8 KiB
TypeScript
Raw Normal View History

import { Controller, Get, Put, Param, UseGuards } from '@nestjs/common';
import { AISelfImprovementService } from '../../core/ai/AISelfImprovementService';
import { RbacGuard } from '../../core/guards/rbac.guard';
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
@ApiTags('AI Self-Improvement')
@ApiBearerAuth()
@Controller('api/ai/self-improvement')
export class AISelfImprovementController {
constructor(private aiSelfImprovementService: AISelfImprovementService) {}
/**
*
*/
@Get('suggestions/generate')
@UseGuards(RbacGuard)
async generateSuggestions() {
const suggestions = await this.aiSelfImprovementService.generateImprovementSuggestions();
return { success: true, suggestions };
}
/**
*
*/
@Get('suggestions')
@UseGuards(RbacGuard)
async getSuggestions() {
const suggestions = await this.aiSelfImprovementService.getImprovementSuggestions();
return { success: true, suggestions };
}
/**
*
*/
@Put('suggestions/:id/status')
@UseGuards(RbacGuard)
async updateSuggestionStatus(@Param('id') id: string, @Param('status') status: 'implemented' | 'dismissed') {
const result = await this.aiSelfImprovementService.updateSuggestionStatus(id, status);
return { success: result };
}
/**
*
*/
@Get('suggestions/apply')
@UseGuards(RbacGuard)
async applySuggestions() {
const result = await this.aiSelfImprovementService.applyImprovementSuggestions();
return { success: true, ...result };
}
/**
*
*/
@Get('optimize')
@UseGuards(RbacGuard)
async performOptimization() {
await this.aiSelfImprovementService.performRegularOptimization();
return { success: true, message: '定期优化执行完成' };
}
}