Cargue la habilidad de Workbench CLI en herramientas de codificación con IA como Wukong, Qoder y opencode, y utilice lenguaje natural para que un agente consulte instancias ECS, ejecute comandos y transfiera archivos. Gracias a la salida JSON estructurada y al traspaso del código de salida de los comandos, el agente puede evaluar los resultados de forma autónoma y encadenar operaciones posteriores.
Por qué los agentes de IA son ideales para Workbench CLI
En comparación con otros métodos de conexión a instancias ECS, Workbench CLI es inherentemente adecuado para ser invocado por agentes de IA:
Salida JSON estructurada: Todos los comandos admiten
--output jsony devuelven una estructura de campos predecible (por ejemplo, exec devuelveoutput,stderryexit_code), por lo que el agente no necesita analizar texto con expresiones regulares.Traspaso del código de salida:
workbench exectransmite el código de salida del comando remoto (de forma consistente con SSH), lo que permite al agente determinar si el comando remoto se ejecutó correctamente. Cuando un comando falla,--output jsongenera información de error estructurada que el agente puede analizar para decidir si reintenta la operación o reporta un error.Ejecución sin estado: Cada llamada a
workbench execse ejecuta en un entorno independiente sin conservar el estado del shell. El agente no necesita mantener el contexto de la sesión y el comportamiento de los comandos no se vuelve impredecible por estados residuales.Semántica de comandos intuitiva: Los nombres
list/exec/upload/downloadcorresponden uno a uno con tareas operativas comunes, por lo que el agente puede aprender a usarlos por sí mismo mediante--help.
Requisitos previos
Workbench CLI debe estar instalado en su computadora, con las credenciales y una directiva de RAM de mínimo privilegio configuradas. Para obtener más información, consulte Install Workbench CLI and configure credentials.
La herramienta de codificación con IA de destino (Wukong, opencode u otra herramienta de IA capaz de ejecutar comandos de shell) debe estar instalada en su computadora.
Se recomienda leer primero Manage ECS instances by using Workbench CLI para familiarizarse con el uso de cada subcomando de workbench, de modo que pueda evaluar mejor la salida del agente.
Carga de la habilidad Workbench CLI en una herramienta de IA
Alibaba Cloud ha publicado una habilidad oficial de Workbench CLI que incluye el uso de todos los subcomandos, descripciones de parámetros, significados de códigos de salida y flujos de trabajo típicos. Una vez cargada la habilidad en una herramienta de codificación con IA, el agente puede invocar de forma autónoma el comando workbench cuando usted exprese su intención operativa en lenguaje natural. Las siguientes secciones describen cómo cargar la habilidad en Qoder, Wukong y opencode, en ese orden.
Qoder
En la terminal donde se ejecuta Qoder, ejecute el siguiente comando para cargar la habilidad oficial mediante el CLI de habilidades.
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-workbench-cli --agent qoder -y --full-depth
Después de cargar la habilidad, pruebe la siguiente conversación en Qoder para verificarla:
You: Deploy the local app.jar to the /opt/app directory on instance i-bp1a2b3c4d5e6f.
Agent: (Calls workbench upload and then workbench exec to complete the deployment, and reports the result step by step.)
Wukong
Wukong aún no admite la carga con un solo comando mediante el CLI de habilidades. Debe descargar el paquete de la habilidad e importarlo manualmente:
Vaya a la página de Workbench CLI Skill y descargue el paquete ZIP de la habilidad.
Importe el paquete ZIP descargado en Wukong.
Habilite (cargue) la habilidad después de la importación.
Después de cargar la habilidad, pruebe la siguiente conversación en Wukong para verificarla:
You: Use workbench to list the running instances in China (Hangzhou).
Agent: (Automatically runs workbench list ecs -r cn-hangzhou --status Running --output json and summarizes the result.)
opencode
En la terminal donde se ejecuta opencode, ejecute el siguiente comando para cargar la habilidad oficial mediante el CLI de habilidades.
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-workbench-cli --agent opencode -y --full-depth
Después de cargar la habilidad, pruebe la siguiente conversación en opencode para verificarla:
You: Connect to instance i-bp1a2b3c4d5e6f and check its disk usage.
Agent: (Automatically runs workbench exec -i i-bp1a2b3c4d5e6f -c "df -h" --output json and explains the result.)
Para más herramientas de IA, visite la página de Workbench CLI Skill.
Escenarios típicos de conversación
Escenario 1: Consulta de instancias en ejecución
Solicitud del usuario:
List the running instances in China (Hangzhou).
Ejecución del agente:
workbench list ecs -r cn-hangzhou --status Running --output json
Respuesta simplificada:
{
"instances": [
{ "instance_id": "i-bp1a2b3c...", "instance_name": "web-prod-01", "status": "Running", "private_ip": "172.16.0.10" },
{ "instance_id": "i-bp2x4y5z...", "instance_name": "api-prod-02", "status": "Running", "private_ip": "172.16.0.11" }
]
}
Resumen del agente: China (Hangzhou) (cn-hangzhou) tiene actualmente 2 instancias en ejecución: web-prod-01 (i-bp1a2b3c...) y api-prod-02 (i-bp2x4y5z...).
Escenario 2: Ejecución de un comando remoto y análisis del resultado
Solicitud del usuario:
Check whether i-bp1a2b3c4d5e6f has enough disk space.
Ejecución del agente:
workbench exec -i i-bp1a2b3c4d5e6f -c "df -h" --output json
Respuesta simplificada:
{
"output": "Filesystem Size Used Avail Use% Mounted on\n/dev/vda1 40G 36G 4.0G 90% /\n/dev/vdb1 100G 20G 80G 20% /data\n",
"stderr": "",
"exit_code": 0
}
Análisis del agente: La partición raíz / tiene un 90 % de uso, con 4.0G restantes, lo cual está cerca de su límite. Se recomienda limpiar registros o ampliar el disco del sistema. La partición /data tiene un 20 % de uso y cuenta con capacidad suficiente.
Escenario 3: Transferencia de archivos
Solicitud del usuario:
Deploy ./app-2.0.tar.gz to the /opt/deploy directory on i-bp1a2b3c4d5e6f, then extract and verify it.
Ejecución del agente (llamadas en secuencia):
workbench upload ./app-2.0.tar.gz /opt/deploy/app-2.0.tar.gz -i i-bp1a2b3c4d5e6f
workbench exec -i i-bp1a2b3c4d5e6f -c "cd /opt/deploy && tar xzf app-2.0.tar.gz" --output json
workbench exec -i i-bp1a2b3c4d5e6f -c "ls -lh /opt/deploy/app-2.0/" --output json
Resumen del agente: El archivo se cargó correctamente. La extracción finalizó con el código de salida 0. El directorio contiene bin/, config/ y app.jar (120M). El despliegue ha concluido.
Permisos y recomendaciones de seguridad
Utilice un usuario o rol de RAM dedicado para el agente de IA: Separe las credenciales del agente de las utilizadas por personas. Esto facilita distinguir entre "operaciones humanas" y "operaciones del agente" en los registros de auditoría, además de permitir localizar rápidamente el origen de cualquier problema.
Aplique una directiva de mínimo privilegio y limite el alcance por recurso: Otorgue al agente únicamente las acciones necesarias y utilice los ARN de instancia para restringir el
Resourcea instancias específicas, evitando así que una operación errónea afecte a otras instancias.Habilite la confirmación humana en el bucle (HITL): El modo de agente integrado en
workbench connectrequiere confirmaciónY/nantes de ejecutar cualquier comando de forma predeterminada. Para herramientas de IA externas, también se recomienda habilitar la confirmación del usuario antes de la ejecución de comandos.Prefiera RamRoleArn en entornos de producción: Los escenarios con agentes suelen ejecutarse durante largos periodos y utilizan credenciales con frecuencia, por lo que un par de AccessKey estático comprometido representa un alto riesgo. Prefiera RamRoleArn o CredentialsURI para que las credenciales se actualicen automáticamente.
Preguntas frecuentes
Solución de problemas: Error "command not found" tras cargar la habilidad en el agente
Causa: Cuando la herramienta de IA ejecuta un proceso secundario, el entorno de shell que utiliza no hereda la variable PATH de su shell de usuario, por lo que no puede encontrar el binario de workbench.
Solución:
Utilice la ruta absoluta
/usr/local/bin/workbench(Linux/macOS) oC:\Program Files\workbench\workbench.exe(Windows).Declare explícitamente la ruta del binario en la definición de la habilidad o en el prompt del sistema.
Verifique cómo se inicia la herramienta de IA y si hereda el perfil de su shell (
~/.bashrco~/.zshrc).
Limitación del exceso de sesiones causadas por reintentos en bucle del agente
Causa: Cuando el agente encuentra un error, reintenta repetidamente y crea una nueva sesión cada vez, consumiendo gradualmente recursos del servidor.
Solución:
En la habilidad o en el prompt, indique al agente que le reporte inmediatamente el error sin reintentar automáticamente cuando encuentre un error no recuperable, como un fallo de autenticación o una instancia inexistente (determinado según el campo
messagede--output json).Las sesiones se liberan automáticamente tras unos 30 minutos de inactividad. Cuando no necesite mantener una sesión activa por mucho tiempo, haga que el agente la cierre con
/exittan pronto como termine.Ejecute periódicamente
workbench session close --alloworkbench daemon stoppara limpiar sesiones residuales.
Forzar al agente a utilizar exclusivamente --output json
Causa: De forma predeterminada, el agente podría usar salida de texto, lo que provoca un análisis inestable.
Solución: En la definición de la habilidad o en el prompt del sistema, exija explícitamente al agente que añada --output json a todas las llamadas de comandos de workbench y que analice los resultados según el esquema JSON: en caso de éxito, los campos son output, stderr y exit_code; en caso de fallo, genera {code, message}.
Referencias
Connect to an instance by using Workbench CLI: Tema principal que aborda el posicionamiento de la herramienta y una guía de inicio rápido.
Install Workbench CLI and configure credentials: Instalación del CLI y configuración de credenciales y permisos.
Manage ECS instances by using Workbench CLI: Descripciones detalladas de cada comando y solución de problemas (incluye cómo usar el asistente de IA dentro de una sesión de conexión).