CLI-Anything: convertir software en una línea de comandos utilizable por Agents

CLI-Anything genera interfaces de línea de comandos estructuradas para software existente, permitiendo que los AI Agents usen capacidades reales mediante REPL, subcomandos y salida JSON.

CLI-Anything es un proyecto open source de HKUDS para convertir software en herramientas utilizables por Agents. Su objetivo es transformar software originalmente diseñado para operaciones humanas en GUI en interfaces de línea de comandos que los AI Agents puedan invocar con más facilidad. No reimplementa una versión simplificada del software. En su lugar, genera un CLI harness alrededor del código existente y del backend real, para que el Agent pueda completar tareas mediante comandos estables, sesiones con estado y salida estructurada.

Esta dirección aborda una de las brechas más comunes cuando los Agents usan software: la automatización de GUI depende de capturas de pantalla, clics y coordenadas, por lo que se ve afectada fácilmente por cambios de interfaz; al mismo tiempo, una API única suele tener cobertura incompleta, lo que obliga al Agent a componer mucho contexto por su cuenta. CLI-Anything opta por concentrar las capacidades del software en la línea de comandos porque los comandos son naturalmente fáciles de leer, combinar y verificar para los modelos, además de integrarse bien con scripts y flujos de automatización.

Cómo funciona

El repositorio oficial describe CLI-Anything como una canalización para generar CLIs automáticamente. Después de recibir una ruta local al código fuente del software o la URL de un repositorio de GitHub, el proceso analiza la estructura del código, identifica el backend y los modelos de datos, diseña grupos de comandos y luego implementa el CLI, las pruebas y la documentación.

El CLI generado suele incluir dos modos de uso. Uno es un REPL orientado al trabajo continuo, que conserva el estado del proyecto. El otro es un modo de subcomandos, adecuado para scripts y canalizaciones. Los comandos también ofrecen salida JSON, para que el Agent pueda analizar los resultados directamente, mientras se conserva un formato legible por humanos para depuración.

En el ejemplo oficial, el plugin de Claude Code puede usarse así:

1
2
3
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
/cli-anything <software-path-or-repo>

Si ya se ha generado un harness para cierto software, el uso posterior se parece más a un CLI normal de Python:

1
2
3
4
5
cd <software>/agent-harness
pip install -e .
cli-anything-<software> --help
cli-anything-<software>
cli-anything-<software> --json <command>

Dónde encaja

CLI-Anything encaja mejor en escenarios donde “la capacidad está dentro de software real, pero el Agent no puede operarlo de forma estable”. Por ejemplo, imágenes, video, audio, documentos de oficina, modelado 3D, análisis de datos o toolchains de AI/ML. Siempre que el proyecto tenga una base de código analizable, un backend invocable o un modelo de datos claro, existe la posibilidad de envolverlo como un conjunto de comandos utilizable por Agents.

Su valor no consiste solo en añadir otra capa de envoltura en la línea de comandos, sino en convertir las operaciones clave del software en interfaces descubribles, componibles y testeables. Un Agent puede entender primero las capacidades mediante --help, recibir resultados con salida JSON y encadenar varios comandos en un workflow. Para tareas que requieren procesamiento por lotes, validación automática e iteración continua, esto es más controlable que pedirle temporalmente al Agent que haga clic en una interfaz.

Límites a tener en cuenta

CLI-Anything no significa que cualquier software pueda integrarse de inmediato y sin coste. Depende del código fuente, las capacidades del backend, los formatos de archivo y la testabilidad del software objetivo. Si un software es muy cerrado y su lógica clave solo existe en la capa GUI, la dificultad de generar un CLI de alta calidad aumenta de forma notable.

La metodología oficial también enfatiza el backend real y la validación mediante pruebas. Esto significa que generar un harness no termina al escribir unos pocos scripts que envuelven comandos. Para usarlo en trabajo serio, todavía hace falta confirmar la cobertura de comandos, el formato de salida, la instalación de dependencias, la invocación del software real y la fiabilidad de las pruebas end-to-end. Un enfoque más realista es generar primero un CLI para un workflow claramente definido y luego completar capacidades gradualmente mediante comandos como refine, test y validate.

Resumen

La idea de CLI-Anything es directa: en lugar de hacer que el Agent se adapte a interfaces humanas frágiles, añade a software existente una entrada de línea de comandos estable, estructurada y testeable. Es adecuado para quienes quieren incorporar software profesional a workflows de Agents, y también para desarrolladores que estudian la forma del “software nativo para Agents”. En la adopción real, lo importante no es cuánto código puede generar un solo comando, sino si el CLI generado puede invocar capacidades reales, conservar estado, producir resultados estructurados y resistir pruebas.

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy