Referencia de CLI
Cada verbo de bxAgents y sus flags.
On this page
Referencia de CLI
Usage: boxlang module:bxAgents <verb> [options]
(o la forma más corta bxAgents <verb> [options] - ver Instalación.)
Flags globales
Estos se manejan antes del despacho de verbos y nunca llegan a un verbo - solo son significativos como el primer token, así nunca colisionan con un flag del mismo nombre propio de un verbo.
| Flag | Efecto |
|---|---|
-h, --help, help | Imprime el uso (cada verbo + descripción) y sale con 0. También se imprime (sale con 1) si no se da ningún verbo en absoluto. |
-v, --version | Imprime bxAgents v{version} y sale con 0. |
Todo verbo acepta
--projectRoot=<path> (o una ruta posicional simple como el primer argumento sin flag) para apuntar a un proyecto distinto del directorio actual. Precedencia: flag --projectRoot > primer argumento posicional > directorio de trabajo actual.
Sintaxis de argumentos
Sigue las propias convenciones documentadas de CLI de BoxLang:
| Forma | Resultado |
|---|---|
--option | true |
--option=value / --option="quoted value" | value (se eliminan las comillas envolventes) |
-o=value | forma corta con un valor |
-o | forma corta, true |
-abc | abreviatura combinada: a, b, c todos true |
--!option / --no-option | negación, false |
| cualquier otra cosa | un posicional (el primero se convierte en el respaldo de raíz de proyecto) |
Opciones repetidas: gana la última.
Verbos
Genera el andamiaje de un nuevo proyecto de agente.
Ejecuta el pipeline de build completo.
Ejecuta los propios tests/specs de tu proyecto vía TestBox.
Lanza un proceso real de boxlang-miniserver.
REPL interactivo contra el agente construido.
Un turno no interactivo - para scripting/CI.
Empaqueta un proyecto construido en un .bxa.
Envía a un destino de despliegue real.
Genera el hash de una contraseña en texto plano para una entrada de usuarios de webui.
Imprime de forma legible un manifest.json existente.
Elimina la salida .build/ y dist/ de un proyecto.
new
Genera el andamiaje de un nuevo proyecto de agente.
bxAgents new my-agent --model=openai/gpt-5 [--name=...] [--description=...]
--modeles requerido - un slugprovider/model(ver Agent.bx).--namepor defecto toma el propio nombre base del directorio destino.- Se niega a ejecutarse si el destino ya contiene un
Agent.bx. - Crea
Agent.bx,instructions.md, cada carpeta de convención (vacía), una carpetatests/lista para ejecutar (tests/box.json+tests/specs/AgentSpec.bx), un.envque declaraBOXLANG_HOME=.build/runtime(coincidiendo con el propio home de runtime delimitado que usaserve- ver limitaciones conocidas para exactamente qué cubre y qué no esto), y un.gitignore(.build/,dist/,.env). Nunca sobrescribe un.env/.gitignoreexistente. - También ejecuta
box installdentro de la nueva carpetatests/, así quebxAgents testfunciona de inmediato sin un paso separado decd tests && box install. Esto es de mejor esfuerzo: siboxno está enPATHo la instalación falla,newigual tiene éxito - el mensaje simplemente te indica ejecutarlo tú mismo. Pasa--skipInstallpara omitir este paso por completo.
build
Ejecuta el pipeline de build completo.
bxAgents build [--environment=production] [--verbose]
Escribe .build/app/ y .build/manifest.json. Falla con todos los errores de validación recopilados si el proyecto no es válido.
--verboseimprime una línea por fase de build en vivo mientras se ejecuta - qué se resolvió/descubrió/validó, conteos por fase (modelos, tools, gateways, advertencias, etc.), qué agentes terminaron registrados enconfig/WireBox.bxy bajo qué nombres, si se encontró unschedules/Scheduler.bx, y una línea final de tiempoBuild completed in Xms. Útil para depurar un build lento o con comportamiento inesperado. Silencioso en cualquier otro caso ---verboseno cuesta nada cuando no se pasa.
test
Ejecuta los propios tests/specs de tu proyecto vía TestBox.
bxAgents test
- Requiere
testboxinstalado bajotests/testbox(cd tests && box install). - Construye tu agente contra el proveedor
mockpor defecto (el override de entornotest()deAgent.bx) - no se necesita clave de API ni acceso a red. - Imprime conteos de aprobados/fallidos/con error/omitidos más una línea por fallo, y sale con código distinto de cero si algo falló.
serve
Lanza un proceso real de boxlang-miniserver apuntado a .build/app.
bxAgents serve [--port=8080] [--host=0.0.0.0]
- Requiere un
buildprevio - falla claramente si.build/appno existe. - Falla claramente si
boxlang-miniserverno se encuentra enPATH. - Escribe
.build/miniserver.json(reescrituras habilitadas,rewriteFileName: "index.bxm", health check activado) antes de lanzar. - Delimita el propio home de runtime de BoxLang del servidor a
.build/runtime(víaserverHome) en lugar del~/.boxlangcompartido por defecto, así que la caché de clases compiladas y los overrides de configuración de cada proyecto están aislados - ycleanlo elimina gratis, ya que de todos modos borra.buildpor completo.invoke --servertambién obtiene esto, ya que reutilizaserveinternamente. Esto no se extiende achat/build/test/invokepor defecto - ver limitaciones conocidas.
chat
REPL interactivo contra el agente construido, usando el propio MiniConsole de BoxLang para la lectura de líneas.
bxAgents chat
- Requiere un
buildprevio. - Carga
GeneratedAgentFactory.bxdirectamente (sin ningún contenedor ColdBox/WireBox involucrado) y llama abuildAgent()una vez por sesión - exactamente la misma factory que usan las rutas HTTP deserve, así quechaty HTTP nunca divergen. - Escribe
exitoquitpara salir. - Necesita una TTY interactiva real (
MiniConsoleinvocasttypara el modo raw) - no funcionará canalizado/no interactivo.
invoke
Un solo turno no interactivo contra el agente construido: envía un mensaje, imprime la respuesta, sale. Existe para scripting/CI, donde el requisito de TTY de chat es un bloqueo absoluto.
bxAgents invoke --message="What's the weather in Boston?" [--json]
bxAgents invoke --message="..." --server [--port=<port>]
- Requiere un
buildprevio. - Por defecto (sin
--server): cargaGeneratedAgentFactory.bxdirectamente (sin contenedor ColdBox, sin HTTP) y llama al agente una vez - el mismo camino en proceso que usachatinternamente, solo sin el bucle del REPL. No hay ningún prerequisito deserve/gateway en absoluto. --server: lanza un proceso real y desechable deboxlang-miniserver(igual queserve), envía el mensaje como un request HTTP real a través de la ruta expuesta contoAi()del proyecto, luego apaga el servidor de nuevo. Ejerce el camino realmente servido (enrutamiento ColdBox, interceptores, gateways) en lugar del atajo en proceso. Requiere una entradagateways/*.bxcon{ exposes: "agent", path: "..." }(ver gateways) - falla claramente si ninguna existe.--portpor defecto usa un puerto efímero libre para que nunca colisione con unserveya en ejecución.--jsonimprime{"response": "..."}en lugar de la respuesta en texto plano.
package
Empaqueta un proyecto construido en un .bxa.
bxAgents package [--version=1.0.0]
- Requiere un
buildprevio - lee.build/manifest.json; falla claramente si falta. --versionpor defecto es1.0.0.- Escribe
dist/{agentName}-{version}.bxa, un.sha256hermano, y una copia redactada demanifest.json. Ver Despliegue y secretos.
deploy
Envía un proyecto construido/empaquetado a un destino de despliegue real vía la convención pluggable deploy/.
bxAgents deploy --name=production
# o, la forma abreviada solo con flags (solo local):
bxAgents deploy --destination=/path/to/somewhere [--target=local]
--name=<entry>despacha a cualquier destino que declare la entradadeploy/<entry>.bx/.jsonnombrada (local,ssh,ftp,sftp,docker, odigitalocean).- La forma solo con flags (
--target=local --destination=..., o sin--targeten absoluto) funciona sin ninguna carpetadeploy/presente - sololocalla soporta; cada otro destino requiere una entrada nombrada, ya que necesita más configuración de la que un par de flags puede transportar. local/ssh/ftp/sftprequieren unpackageprevio;docker/digitaloceanrequieren unbuildprevio (construyen directamente desde.build/app).ftp/sftpnecesitan el módulobx-ftpinstalado junto a BX Agents (ver Instalación).
hash-password
Convierte una contraseña en texto plano en el valor passwordHash que acepta el bloque users de una entrada webui.
bxAgents hash-password --password="correct horse battery staple"
--passwordes requerido.- Imprime el hash a stdout -
pbkdf2$<iterations>$<salt>$<derivedKey>, PBKDF2-HMAC-SHA256, con salt por llamada. Seguro de commitear: es unidireccional, y hacer el hash de la misma contraseña dos veces produce dos hashes distintos (ambos válidos). - Se mantiene deliberadamente idéntico al hasher que la propia interfaz web generada usa para verificar un inicio de sesión - un hash producido aquí siempre se verifica allí.
inspect
Imprime de forma legible un .build/manifest.json existente sin reconstruir.
bxAgents inspect [--json]
- Requiere un
buildprevio. - Imprime nombre del agente, modelo, entorno, versión del manifest, nombre/versión del generador, y conteo de archivos.
--jsonimprime el manifest crudo como JSON en lugar del resumen legible para humanos - útil para scripting.
clean
Elimina la salida .build/ y dist/ de un proyecto.
bxAgents clean
- Solo elimina
.buildydist- las convenciones fuente (Agent.bx,tools/, etc.) nunca se tocan. - Reporta "Nothing to clean" si ninguno de los directorios existe.