IR
irwinrodriguez.dev
Volver a documentacion

Primeros pasos

Paso 1: Verificar que el Broker esta corriendo

El instalador de FoxAgent ya configuro el Broker como un servicio de Windows con inicio automatico. Para verificar que esta corriendo:

# En PowerShell o CMD:
sc query FoxAgentBroker

# Deberias ver: STATE: RUNNING

Si el servicio no esta corriendo, puedes iniciarlo desde la consola de Servicios de Windows (services.msc) o con el comando:

# Iniciar el servicio manualmente:
net start FoxAgentBroker

Paso 2: Conectar tu aplicacion VFP

En tu aplicacion VFP, agrega el siguiente codigo al inicio (por ejemplo, en tu programa principal o en el evento Init de tu formulario principal):

* FoxAgent - Conexión del agente VFP
LOCAL loBridge
loBridge = CREATEOBJECT("FoxAgent.Bridge")

* 1. Establecer instancia VFP (ANTES de Connect)
loBridge.SetInstance(_VFP)

* 2. Configurar carpeta de herramientas personalizadas (UDTs)
*    Esta carpeta contiene tus herramientas que la IA podrá invocar
loBridge.SetToolsFolder("C:\MiProyecto\Tools")

* 3. Conectar al Broker
*    Parámetros: (ID único, nombre descriptivo, rol 0-3)
loBridge.Connect("mi-app-001", "Mi Aplicacion VFP", 3)

* El Bridge mantiene la conexión con heartbeats automáticos
* No necesitas llamar Heartbeat() manualmente

* IMPORTANTE: Mantén loBridge vivo mientras la app esté corriendo
* No lo liberes con loBridge = .NULL. hasta el cierre
Importante: SetToolsFolder La llamada a SetToolsFolder() es donde FoxAgent muestra su verdadero valor. Las herramientas personalizadas (UDTs) que coloques en esa carpeta seran automaticamente descubiertas y puestas a disposicion de tu agente de IA. Consulta la seccion de configuracion para aprender a crear UDTs.

Ejemplo completo

Aqui tienes un ejemplo completo que puedes usar como punto de partida:

* foxagent-init.prg - Inicialización de FoxAgent
* Coloca este archivo en tu proyecto y llámalo al inicio de tu app

LPARAMETERS tcAppId, tcAppName

* Valores por defecto
IF EMPTY(tcAppId)
    tcAppId = "vfp-app-001"
ENDIF
IF EMPTY(tcAppName)
    tcAppName = "Mi Aplicación VFP"
ENDIF

* Crear el Bridge
PUBLIC goFoxAgent
goFoxAgent = CREATEOBJECT("FoxAgent.Bridge")

* Inicializar
goFoxAgent.SetInstance(_VFP)

* Configurar carpeta de UDTs (ajusta la ruta a tu proyecto)
LOCAL lcToolsPath
lcToolsPath = JUSTPATH(SYS(16,0)) + "\Tools"
IF DIRECTORY(lcToolsPath)
    goFoxAgent.SetToolsFolder(lcToolsPath)
ENDIF

* Conectar al Broker (rol 3 = Admin, acceso completo)
LOCAL llOk
llOk = goFoxAgent.Connect(tcAppId, tcAppName, 3)

IF llOk
    ? "FoxAgent conectado: " + tcAppName
    ? "Versión Bridge: " + goFoxAgent.GetVersion()
ELSE
    ? "Error conectando a FoxAgent. ¿Está corriendo el Broker?"
ENDIF

RETURN llOk

Paso 3: Usar con tu agente de IA

Una vez que tu aplicacion VFP esta conectada al Broker, abre tu agente de IA favorito y preguntale por las instancias vivas:

  • Claude Desktop: Preguntale: "Muestrame las instancias VFP conectadas"
  • OpenCode: Preguntale: "Que instancias de FoxPro estan activas?"

Tu agente de IA usara las herramientas de FoxAgent para listar las instancias conectadas y podra inspeccionar variables, cursores, formularios y mas.

Ejemplos de lo que puedes preguntar

  • "Muestrame las variables publicas de mi aplicacion VFP"
  • "Que cursores estan abiertos y cuantos registros tienen?"
  • "Toma un screenshot de mi aplicacion"
  • "Ejecuta LIST MEMORY y muestrame el resultado"
  • "Cuales son los controles del formulario activo?"

Siguientes pasos