Initial commit

This commit is contained in:
Jordan
2026-04-01 23:16:45 +01:00
commit 91cfdaee72
200 changed files with 25589 additions and 0 deletions

44
mcp-server/cluster.js Normal file
View File

@@ -0,0 +1,44 @@
/**
* Acai Code MCP Server - Cluster Mode
*
* Ejecuta múltiples workers para aprovechar todos los CPUs.
* Cada worker maneja sus propias conexiones SSE.
*/
import cluster from 'node:cluster';
import os from 'node:os';
const numCPUs = os.cpus().length;
// Usar máximo 4 workers o el número de CPUs, lo que sea menor
const numWorkers = Math.min(numCPUs, 4);
if (cluster.isPrimary) {
console.log(`[Cluster] Master ${process.pid} iniciando`);
console.log(`[Cluster] CPUs disponibles: ${numCPUs}`);
console.log(`[Cluster] Spawneando ${numWorkers} workers...`);
// Spawnear workers
for (let i = 0; i < numWorkers; i++) {
cluster.fork();
}
// Reiniciar worker si muere
cluster.on('exit', (worker, code, signal) => {
console.error(`[Cluster] Worker ${worker.process.pid} murió (${signal || code}). Reiniciando...`);
cluster.fork();
});
// Log cuando un worker está listo
cluster.on('online', (worker) => {
console.log(`[Cluster] Worker ${worker.process.pid} online`);
});
} else {
// Worker: ejecutar el servidor MCP
import('./index.js').then(() => {
console.log(`[Worker ${process.pid}] MCP Server iniciado`);
}).catch((err) => {
console.error(`[Worker ${process.pid}] Error:`, err);
process.exit(1);
});
}