Tutorial para la instalación de OpenFang

AI Expert

Dificultad: Nivel principiante | Tiempo: 15 minutos | Logros: Dominar la implementación de OpenFang y la configuración de modelos

Introducción

Si estás buscando un framework de AI Agent ligero y potente, OpenFang merece tu atención. Se trata de un Sistema Operativo para Agents de código abierto escrito en Rust. Todo el sistema compilado ocupa solo unos 32MB, pero incluye soporte nativo para más de 20 proveedores de LLM, incluidos Anthropic Claude, Google Gemini, OpenAI GPT, DeepSeek, Groq y más.

A diferencia de los frameworks tradicionales, OpenFang no es un simple envoltorio para Chatbots, sino un verdadero sistema de Agents autónomos que pueden trabajar por ti: pueden ejecutarse según un horario programado, ayudarte a construir grafos de conocimiento, monitorear objetivos, generar leads, gestionar redes sociales y reportar automáticamente los resultados a tu Dashboard.

Hoy vamos a construirlo juntos.


Audiencia Objetivo

  • Desarrolladores con 1 a 5 años de experiencia
  • Personal técnico interesado en AI Agents
  • Entusiastas de la tecnología que desean desplegar capacidades de IA locales rápidamente

Dependencias y Entorno Principal

Antes de comenzar, asegúrate de que tu máquina cumpla con los siguientes requisitos:

  • Sistema Operativo: Linux, macOS, Windows (WSL2 o PowerShell)
  • Rust: 1.75+ (se recomienda usar rustup para la gestión)
  • Memoria: Al menos 4GB de RAM
  • Disco: Al menos 500MB de espacio disponible

Instalar Rust (si aún no lo tienes)

# Linux/macOS
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Windows (usando PowerShell)
irm https://sh.rustup.rs | iex

Una vez finalizada la instalación, ejecuta rustc --version para confirmar la versión.


Estructura del Proyecto

openfang/
├── agents/                 # Directorio de plantillas de Agents
│   ├── hello-world/
│   ├── coder/
│   ├── researcher/
│   └── ...
├── crates/                # Rust crates (14 en total)
│   ├── openfang-cli/      # Línea de comandos CLI
│   ├── openfang-runtime/  # Núcleo del tiempo de ejecución
│   ├── openfang-api/      # API REST
│   └── ...
├── docs/                  # Documentación oficial
├── sdk/                   # SDK multi-lenguaje
│   ├── python/
│   └── javascript/
└── config.toml.example    # Ejemplo de configuración

Instalación Rápida

Opción 1: Instalación oficial en un solo paso (Recomendado)

Linux/macOS:

curl -fsSL https://openfang.sh/install | sh

Windows PowerShell:

irm https://openfang.sh/install.ps1 | iex

Al terminar, verás el siguiente mensaje:

✅ OpenFang installed successfully!
Run 'openfang init' to get started.

Opción 2: Compilación manual

Si prefieres construir desde el código fuente o estás en un entorno que no soporta la instalación automática:

# Clonar el repositorio
git clone https://github.com/RightNow-AI/openfang.git
cd openfang

# Compilar la versión release
cargo build --release

# O compilar solo el CLI
cargo build --release -p openfang-cli

Tras la compilación, el archivo binario se encontrará en target/release/openfang (o target/release/openfang.exe).


Configuración Inicial

Crear el archivo de configuración

Ejecuta el comando de inicialización:

openfang init

Esto creará una carpeta de configuración en tu directorio personal:

~/.openfang/
└── config.toml    # Archivo de configuración principal

Estructura del archivo de configuración

Abre ~/.openfang/config.toml, la configuración básica es la siguiente:

# Configuración del servicio API
host = "127.0.0.1"
port = 4200

# API Key (opcional, se recomienda para producción)
api_key = ""

# Configuración del modelo por defecto
[default_model]
provider = "groq"
model = "llama-3.3-70b-versatile"

# Configuración por defecto de los Agents
[agents.defaults]

[!TIP]
Todos los campos del archivo de configuración son opcionales; los campos omitidos utilizarán valores por defecto.

Configurar las API Keys

OpenFang permite configurar las API Keys mediante variables de entorno. Recomendamos usar Groq (cuota gratuita) o Defapi (a mitad de precio) para la primera experiencia:

# Opción 1: Groq (Gratis, con límites de velocidad)
export GROQ_API_KEY="gsk_tu_clave_Groq"

# Opción 2: Defapi (Mitad de precio, recomendado)
export DEFAPI_API_KEY="tu_clave_Defapi"

[!WARNING]
No escribas las API Keys directamente en el archivo de configuración; utiliza referencias a variables de entorno.


Iniciar el Servicio

Iniciar OpenFang

openfang start

Verás una salida similar a esta:

🚀 Starting OpenFang daemon...
📡 Server listening on http://127.0.0.1:4200
🌐 Dashboard: http://127.0.0.1:4200
✅ OpenFang is ready!

Verificar el servicio

# Comprobación de salud (Health check)
curl http://127.0.0.1:4200/api/health

# Ver modelos disponibles
curl http://127.0.0.1:4200/api/models

# Ver estado de los proveedores
curl http://127.0.0.1:4200/api/providers

Acceder al Dashboard

Abre tu navegador y visita http://127.0.0.1:4200 para ver el Web Dashboard de OpenFang.


Tu primer Agent

Crear usando una plantilla incorporada

OpenFang ofrece varias plantillas de Agents integradas en el directorio agents/:

# Listar plantillas disponibles
openfang template list

Plantillas comunes:

  • hello-world: El Agent de conversación más sencillo
  • coder: Asistente de programación
  • researcher: Asistente de investigación
  • assistant: Asistente de propósito general

Crear el Agent

# Crear usando la plantilla hello-world
openfang agent create hello-world my-first-agent

Prueba de envío de mensajes

# Enviar mensaje a través del CLI
openfang agent message my-first-agent "Hello, say hi in 3 words"

O a través de la API REST:

curl -X POST http://127.0.0.1:4200/api/agents/{agent-id}/message \
  -H "Content-Type: application/json" \
  -d '{"message": "Hello, say hi in 3 words"}'

Si recibes una respuesta normal, ¡significa que tu Agent ya está funcionando!


Práctica de Configuración de Modelos

Configurar Groq (Cuota gratuita)

Groq ofrece un nivel gratuito extremadamente rápido, ideal para desarrollo y pruebas:

# ~/.openfang/config.toml
[default_model]
provider = "groq"
model = "llama-3.3-70b-versatile"

Variable de entorno:

export GROQ_API_KEY="gsk_tu_clave"

[!TIP]
El nivel gratuito de Groq tiene límites de velocidad. Para entornos de producción se recomienda usar otros proveedores.

Configurar Defapi (Recomendación a mitad de precio)

Si quieres usar modelos de alta calidad a un precio menor, Defapi es una excelente opción. El precio es solo el 50% del oficial:

  • Gemini 2.5 Pro: Oficial $1.25/M → Defapi solo $0.625/M
  • Claude Sonnet 4: Oficial $3.00/M → Defapi solo $1.50/M
# ~/.openfang/config.toml

# Añadir proveedor personalizado
[[providers]]
name = "defapi"
base_url = "https://api.defapi.org/v1"
api_key_env = "DEFAPI_API_KEY"

# Configurar modelo por defecto
[default_model]
provider = "defapi"
model = "claude-sonnet-4-20250514"

Variable de entorno:

export DEFAPI_API_KEY="tu_clave_Defapi"

[!TIP]
Defapi soporta múltiples protocolos: v1/chat/completions, v1/messages, v1beta/models/*, siendo perfectamente compatible con OpenFang.

Configurar Anthropic Claude

[default_model]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
export ANTHROPIC_API_KEY="sk-ant-tu_clave"

Configurar Google Gemini

[default_model]
provider = "gemini"
model = "gemini-2.5-flash"
# Tanto GEMINI_API_KEY como GOOGLE_API_KEY funcionan
export GEMINI_API_KEY="AIza_tu_clave"

Configurar OpenAI

[default_model]
provider = "openai"
model = "gpt-4o-mini"
export OPENAI_API_KEY="sk-tu_clave"

Resolución de Problemas Comunes

Q1: La API Key no parece surtir efecto

Pasos de verificación:

  1. Confirma que la variable de entorno se exportó correctamente: echo $GROQ_API_KEY
  2. Reinicia el servicio OpenFang: openfang restart
  3. Revisa el estado del proveedor: curl http://127.0.0.1:4200/api/providers

Q2: El modelo aparece como no disponible

Causas posibles:

  • API Key no configurada o con formato incorrecto
  • El modelo no está en la lista de soporte del proveedor
  • Problemas de conexión de red

Solución:

# Ver la lista detallada de modelos
curl http://127.0.0.1:4200/api/models | jq

# Probar la conexión con un proveedor específico
curl -X POST http://127.0.0.1:4200/api/providers/groq/test

Q3: El puerto 4200 está ocupado

# Ver proceso que lo ocupa
lsof -i :4200   # Linux/macOS
netstat -ano | findstr :4200  # Windows

# Modificar el archivo de configuración para usar otro puerto
# ~/.openfang/config.toml
port = 4201

Q4: Error de compilación

Asegúrate de que la versión de Rust sea lo suficientemente reciente:

rustup update
rustc --version  # Debe ser >= 1.75

Si encuentras problemas de dependencias, intenta:

cargo clean
cargo build --release

Q5: No se encuentra el comando en Windows

Asegúrate de que el binario de OpenFang esté en el PATH:

# Añadir el directorio bin al PATH (permanente)
$env:PATH += ";$env:USERPROFILE\.openfang\bin"

# O usar la ruta completa directamente
~\.openfang\bin\openfang.exe start

Q6: Cómo ver los logs

# Ver logs en tiempo real
openfang logs

# O ver el archivo de log
cat ~/.openfang/logs/openfang.log

Direcciones Avanzadas

Hands: 7 Paquetes de Capacidades Integrados

La característica más distintiva de OpenFang son sus 7 Hands (manos) integradas:

HandFunción
ClipDescarga de videos de YouTube, edición, doblaje, publicación automática en redes sociales
LeadGeneración diaria de leads, prospección de clientes, calificación, eliminación de duplicados
CollectorRecolección de inteligencia OSINT, detección de cambios, construcción de grafos de conocimiento
PredictorMotor de predicción, intervalos de confianza, seguimiento de precisión
ResearcherInvestigación profunda, validación cruzada de múltiples fuentes, informes en formato APA
TwitterTuits automáticos, respuestas interactivas, programación de publicaciones
BrowserAutomatización web, llenado de formularios, flujos de trabajo de varios pasos
# Activar Researcher Hand
openfang hand activate researcher

# Ver estado
openfang hand status researcher

# Pausar
openfang hand pause researcher

Desarrollo de Agents Personalizados

Crear un Agent personalizado:

# my-agent.toml
name = "my-agent"
version = "0.1.0"
description = "My custom agent"
author = "tu"

[model]
provider = "groq"
model = "llama-3.3-70b-versatile"

[capabilities]
tools = ["file_read", "web_fetch", "bash"]
memory_read = ["*"]
memory_write = ["self.*"]
# Desplegar Agent personalizado
openfang agent deploy my-agent.toml

Integración MCP

OpenFang soporta MCP (Model Context Protocol), que permite conectar varios servicios externos:

[[mcp_servers]]
name = "filesystem"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]

Resumen

Hoy hemos completado el proceso de implementación de OpenFang:

  • ✅ Instalación de OpenFang (script oficial o compilación manual)
  • ✅ Configuración inicial (config.toml + variables de entorno)
  • ✅ Inicio y verificación del servicio
  • ✅ Creación y prueba del primer Agent
  • ✅ Configuración de múltiples proveedores de LLM (Groq, Defapi, Claude, Gemini)
  • ✅ Resolución de problemas comunes

¡Ahora tienes una plataforma completa de ejecución de AI Agents! Lo siguiente que puedes intentar es:

  1. Activar una Hand para experimentar la capacidad de trabajo automatizado.
  2. Crear un Agent personalizado definiendo tus propias herramientas y capacidades.
  3. Explorar la integración MCP para conectar más servicios externos.

¡Diviértete!

[!TIP]
Para entornos de producción, se recomienda usar Defapi (mitad de precio) o configurar múltiples proveedores para implementar failover y garantizar la estabilidad del servicio.


Lecturas Adicionales