La interfaz de línea de comandos de ElizaOS centraliza el ciclo de vida comlpeto del desarrollo de agentes de inteligencia artificial. Esta referencia técnica detalla la configuración inicial, la sintaxis de los comandos principales, la arquitectura de extensiones y la implementación en entornos de confianza hardware (TEE). Al finalizar, el desarrollador podrá orquestar proyectos complejos, integrar módulos personalizados y garantizar la ejecución segura de modelos.
Configuración Inicial y Gestión de Dependencias
La instalación del motor de ejecución se realiza mediante un solo comando utilizando el administrador de paquetes Bun. El sistema incluye un mecanismo de autoconfiguración que provisiona automáticamente el runtime si no está presente en el entorno del host.
bun install -g @elizaos/cli
elizaos --version
Para entornos de producción o CI/CD donde se requiere control estricto sobre las versiones del entorno, se pueden desactivar las instalaciones automáticas mediante banderas o variables de contexto:
elizaos --skip-runtime-setup init workspace-alpha
# Alternativa mediante variable de entorno
CLI_DISABLE_AUTO_SETUP=1 elizaos init workspace-alpha
Repertorio de Comandos Principales
La herramienta expone un conjunto de instrucciones diseñadas para cubrir desde la generación de esqueletos de proyecto hasta la distribución en registros públicos.
| Instrucción | Propósito | Parámetros Relevantes |
|---|---|---|
elizaos create |
Genera estructuras base para agentes, módulos o contenedores seguros | -t, --type <tipo>: Define la plantilla (project, plugin, agent, tee) |
elizaos dev |
Inicia el servidor de desarrollo con recarga en caliente y trazabilidad detallada | -c, --configure: Reinicia configuración de servicios--profiles [rutas...]: Indica archivos de definición de agente`` |
elizaos start |
Ejecuta el agente en modo producción, aplicando configuraciones de red y servicios | -p, --port <n>: Asigna puerto de escucha --build: Compila artefactos antes de lanzar` |
elizaos test |
Ejecuta suites de validación, diferenciando pruebas unitarias y de extremo a extremo | -n, --name <identificador>: Filtra por etiqueta --skip-build: Omite fase de compilación` |
elizaos plugins |
Gestiona el ciclo de vida de extensiones (adquisición, listado, actualización) | add <modulo>: Integra dependencia list: Inventario localupdate: Sincroniza versiones`` |
elizaos publish |
Distribuye paquetes al registro centralizado | -t, --test: Simula flujo de publicación--npm: Restringir a repositorio npm`` |
elizaos tee |
Orquesta entornos de confianza vía Phala Cloud | phala cvms create: Provisiona nodos CVMphala docker build: Empaqueta imagen`` |
Flujo de Generación y Desarrollo
La inicialización de un repositorio se adapta a la naturaleza del sistema a construir. Una vez generado, el entorno de desarrollo activa observadores de archivos para reflejar cambios en tiempo real.
# Inicialización de agente estándar
elizaos create neural-core --type agent
# Generación de módulo extensible
elizaos create data-processor --type plugin
# Esqueleto para ejecución aislada
elizaos create -t tee secure-worker
cd neural-core
elizaos dev
La instrucción de desarrollo acepta múltiples definiciones de personalidad o configuración, tanto locales como alojadas en servidores remotos:
# Carga sincronizada de perfiles locales
elizaos dev --profiles ./config/persona_a.json ./config/persona_b.json
# Referencia a manifiesto en red
elizaos dev --profiles https://registry.internal/models/assistant_v2.json
Arquitectura e Implementación de Extensiones
Los módulos actúan como puntos de extensión que permiten a los agentes comunicarse con APIs externas, bases de datos o servicios de terceros. La estructura estándar sigue convenciones de TypeScript moderno.
Distribución de Archivos
module-custom-extension/
├── src/ # Lógica de negocio y controladores
│ └── index.ts # Punto de entrada y registro
├── assets/ # Recursos visuales
│ ├── icon.png # 400x400px Identificador
│ └── header.png # 1280x640px Banner descriptivo
├── package.json # Metadatos y configuración de runtime
├── tsconfig.json # Directivas de compilación
└── README.md # Documentación técnica
Síntesis del Código
La implementación central reside en el archivo principal. A continuación se muestra un patrón robusto que incluye validación tipada, mapeo de variables de entorno y ciclo de inicialización:
import { Plugin, type PluginManifest } from '@elizaos/core';
import { z } from 'zod';
// Definición del esquema de validación para credenciales
const CredentialsValidator = z.object({
SERVICE_TOKEN: z.string().min(8).describe('Token de autenticación obligatorio'),
API_ENDPOINT: z.string().url().optional().default('https://api.service.com/v1')
});
// Manifiesto de la extensión
const customExtension: PluginManifest = {
identifier: 'ext-external-data',
summary: 'Módulo de integración para consulta de servicios externos',
variables: {
SERVICE_TOKEN: process.env.EXTERNAL_SERVICE_SECRET
},
async bootstrap(context: Record<string unknown="">) {
// Validación estricta de la configuración recibida
const parsedConfig = CredentialsValidator.parse(context);
return {
handlers: {
onQuery: async (payload: any) => {
// Implementación de la lógica de procesamiento
return { success: true, data: payload };
}
}
};
}
};
export default customExtension;
</string>
Metadatos de Paquete
El archivo de configuración debe declarar explícitamente los parámetros que el runtime debe inyectar:
"agentConfig": {
"specVersion": "elizaos:extension:2.1.0",
"runtimeParameters": {
"SERVICE_TOKEN": {
"dataType": "string",
"label": "Credencial de acceso al servicio"
}
}
}
Validación y Distribución
El framework proporciona dos capas de verificación. Las pruebas de componentes se ejecutan con el runtime nativo de Bun para velocidad, mientras que las pruebas de integración simulan el entorno completo del agente.
elizaos validate
Una vez estabilizado el código, el proceso de publicación requiere autenticación previa y permite simulaciones antes del empuje definitivo:
npm login
elizaos distribute --dry-run
elizaos distribute
Para iteraciones posteriores, se recomienda automatizar el incremento de versiones y la sincronización con el control de cambios:
bun version minor
npm publish
git push origin release && git push --follow-tags
Despliegue en Entornos Aislados (TEE)
La integración con Phala Cloud permite ejecutar agentes dentro de Confidential Virtual Machines (CVM), garantizando que los datos sensibles y los pesos del modelo permanecen cifrados incluso durante el procesamiento.
Provisionamiento y Construcción
elizaos scaffold --mode isolated privacy-agent
cd privacy-agent
elizaos secure phala auth login
elizaos secure phala container build
elizaos secure phala container push
Posteriormente, se genera la orquestación de contenedores y se inicia el nodo seguro:
elizaos secure phala compose init --schema eliza-base
elizaos secure phala nodes spawn --label enclave-alpha -f docker-compose.yaml -v .env
El estado de la infraestructura y la verificación criptográfica del entorno se gestionan con:
elizaos secure phala nodes status
elizaos secure phala nodes verify <node-identifier>
Gestión de Configuración y Servicios
La herramienta expone subcomandos dedicados a la administración de variables de contexto y al ciclo de vida de las instancias activas:
elizaos config vars --show
elizaos config vars --modify
elizaos config vars --flush -f
elizaos services list
elizaos services execute --source ./configs/manager.json
elizaos services terminate --target all
Estrategias de Pruebas Avanzadas
Se recomienda separar rigurosamente la validación unitaria de la simulación de flujos completos. El CLI permite segmentar la ejecución según la capa evaluada:
# Ejecución exclusiva de validación unitaria
elizaos validate --mode unit
# Ejecución exclusiva de flujos completos
elizaos validate --mode integration
# Filtrado preciso por etiqueta
elizaos validate --filter exact-match-name
Esta segmentación permite mantener pipelines de CI/CD eficientes, ejecutando solo las pruebas relevantes según los archivos modificados en cada commit.