Consola Farsight
Consola web local y también el único punto de entrada: configura el directorio del juego, arranca y detén los servicios y las instancias del juego, configura la siguiente partida, mira qué piensa la IA, da órdenes a mano, dirección de cámara, historial de partidas.
Farsight es la consola web que se ejecuta en tu equipo y solo escucha en 127.0.0.1. También es el único punto de entrada de todo el sistema: iniciar partidas, cambiar de IA, la pasarela, las burbujas de diálogo y el LLM local se manejan desde aquí, sin tener que buscar otros scripts.
start.bat # comprueba el despliegue y abre Farsight en http://127.0.0.1:8866
start.bat 5 6 # además inicia la prueba en las instancias 5 y 6 (juego + cerebro de referencia)
start.bat restart # solo reinicia el backend de Farsight (tras cambiar el código del servidor; el juego y los servicios no se ven afectados)
stop.bat # lo detiene todo por completo
El puerto se cambia en ports.console de openwar3.json (8866 por defecto).
Centro de control
La página de inicio de Farsight.
- Directorio del juego: búscalo automáticamente o elígelo tú; comprueba la versión del juego y extrae los datos de tu propio juego.
- Servicios locales: pasarela, burbujas de diálogo, LLM local (LM Studio) y vista previa del sitio web; cada tarjeta permite iniciar, detener, reiniciar y ver el log. Además muestra si algún cliente ha conectado el servidor MCP.
- Comprobación del entorno: si está instalada cada pieza: Python, archivos del runtime, datos del juego, datos de AMAI, etc.
- Detener todo (arriba a la derecha): detiene por orden las instancias del juego, la IA, la pasarela, las burbujas, el modelo local que usa este sistema y el backend de Farsight; equivale a hacer doble clic en
stop.bat. El servidor MCP lo gestionan clientes como Claude, así que no se detiene; tampoco se cierra el propio programa LM Studio.
Páginas
| Grupo | Página | Qué hace |
|---|---|---|
| Principal | Centro de control | Ver la sección anterior |
| Partida | Resumen | Visión general de la partida en la instancia actual |
| Mando en el campo | Vista del mapa; puedes dar órdenes a mano (las órdenes manuales tienen la prioridad más alta en la tabla de reclamación: 95) | |
| Datos de unidades | Orden, objetivo de la tarea, maná, nivel y experiencia de héroe, enfriamientos de habilidades e inventario de cada unidad | |
| Decisiones de IA / de combate | Qué piensa el cerebro de referencia en este tick y el detalle de cada decisión de combate | |
| Asesor de estrategia | Estado del LLM como asesor: si el servicio del modelo está activo, si cada instancia está conectada, el último consejo y la entrada que vio | |
| Dirección | Cámara automática, barras de vida sobre las unidades | |
| Burbujas de diálogo | Hacer hablar a las unidades, conversar con el modelo local, tertulia de campesinos, diálogos de cámara, reacciones a la partida, ajustes del modelo. Ver Burbujas y modelos locales | |
| Velocidad de órdenes | APM y caudal de comandos | |
| Eventos y entrada | Qué ha pasado en la partida: habilidades lanzadas, chat y mensajes en pantalla, clics en botones, atajos, clics en el suelo, selección, jugadores que se van; con filtro por categoría. Al lado, la posición del ratón, el elemento bajo el cursor y la selección local. Ver Interfaz y entrada | |
| Registros | Logs / historial | Fuentes de log de cada instancia; resultado, duración y pico de tropas de cada partida |
| Notas de problemas | Pulsa Pause/Break en el juego para pausarlo y anotar el momento; luego añade aquí la descripción | |
| Sistema | Instancias y partida | Arranca y detén instancias; configura el mapa de la siguiente partida (mapas de combate, y también mapas RPG / personalizados), las razas de ambos bandos, la dificultad y la velocidad; elige un esquema de IA para cada instancia; “Iniciar prueba” lanza juego + IA con un clic |
| Esquemas de IA | Importa, exporta, copia, marca como de confianza y borra esquemas, cambia el esquema de una instancia (incluso en la partida en curso: la nueva IA toma el relevo al instante) y consulta los resultados de cada esquema. Ver Esquemas de IA | |
| Consola JASS | Escribe un script JASS y pulsa Ejecutar; a la derecha, consulta las 1291 funciones por categoría y haz clic en una para insertarla en el script; las variables se conservan durante toda la partida. Ver Canal JASS | |
| Conexión y extensión | Estado de la pasarela y arranque con un clic; direcciones de conexión generadas por rol (desarrollo / jugador / espectador), comandos y configuración para conectar el MCP; ejemplos en JS y Python. Ver Pasarela y MCP | |
| Datos y disco | Cuánto disco ocupa cada tipo de dato de ejecución (grabaciones, historial de partidas, logs, etc.), cuánto se ha añadido en el último día y qué se puede borrar (Farsight nunca borra nada automáticamente) | |
| Ajustes | Directorio del juego, idioma de la interfaz, apariencia (oscuro / claro, moderno / estilo Warcraft), etc. | |
| Comentarios y sugerencias | Si encuentras un problema o tienes una sugerencia, envíanoslo directamente; la información de diagnóstico solo se adjunta si marcas la casilla, y puedes previsualizarla antes de enviarla |
Pulsa Ctrl + K para abrir la paleta de comandos: cambiar de página, cambiar de instancia, terminar la partida actual, lanzar un cerebro nuevo.
En la parte inferior de la barra lateral, “Novedades” muestra lo último que se ha añadido a Farsight y a la plataforma. Al arrancar (y después cada 6 horas), Farsight pregunta a War3AI.com si hay una versión nueva y, si la hay, te avisa. Cuando Farsight se actualiza, aparece un aviso en la parte superior de la página: guarda lo que estés escribiendo y pulsa “Recargar”.
Multiinstancia
runtime/farm.py se encarga de abrir varias (Farsight lo llama por ti al arrancar y detener instancias): copia el lanzador original War3.exe y lo renombra a War3-<N>.exe (sin modificar ningún archivo del juego); cada instancia tiene un número y un directorio (bin/inst<N>/). Al terminar una partida, la siguiente arranca sola según next_game.json (es lo que editas en la página “Instancias y partida” de la consola).
Tu Bot se conecta a una instancia concreta con --inst N. En la página “Instancias y partida” de la consola ves qué números están en uso; no choques con el cerebro de referencia.
Página para directos
http://127.0.0.1:8866/live es una página de log con desplazamiento, pensada para usarla como “fuente de navegador” en OBS; muestra las decisiones de la IA y el estado de la partida.
API
El servidor de la consola es un conjunto de API REST + WebSocket locales (estado de las instancias, configuración de la siguiente partida, detalle de unidades, órdenes manuales, logs, historial de partidas, dirección de cámara, esquemas de IA, llamadas JASS, lienzo…); la web es solo uno de sus clientes y cualquier programa, en cualquier lenguaje, puede llamarlas directamente. La lista de endpoints está en la cabecera de console/server/app.py; el uso de los grupos de esquemas, JASS y lienzo se explica en Esquemas de IA, Canal JASS y Lienzo, respectivamente.