¿Qué hace ARK CUA?
Opera ARK CUA a través de la CLI de Python empaquetada. Mantén todo el acceso a la gateway dentro de la CLI y nunca solicites una clave de API de AgentPlan en el chat.
Superficie de comandos
python3 <directorio-de-la-habilidad>/scripts/cua.py <comando> [opciones]
Analiza el único objeto JSON que imprime cada invocación:
- Éxito:
ok: true, condatay a vecesnext. - Fallo:
ok: false, conerror.codey a vecesnext.setup_command.
Lee references/commands.md para comandos no principales. Lee references/auth.md, references/outcomes.md o references/troubleshooting.md solo cuando ocurra el estado correspondiente.
Flujo de trabajo principal
- Ejecuta
auth status. - En caso de
AUTH_REQUIRED,TOKEN_EXPIREDoREFRESH_FAILED, reenvía elsetup_commanddevuelto. Pide al usuario que lo ejecute en su propia terminal local e introduzca la clave de API de AgentPlan a través del prompt oculto. Nunca ejecutes el inicio de sesión interactivo desde una sesión de agente y nunca aceptes la clave en el chat. - Después de que el usuario confirme que el inicio de sesión se ha completado, ejecuta
auth statusnuevamente. - Ejecuta
delegate --objective "<solicitud del usuario>"una vez. Preserva la solicitud del usuario sin planificarla ni descomponerla. - Registra
data.invocation_id; nunca envíes la misma solicitud nuevamente. - Monitorea
data.outcomehasta que sea terminal:in_progress: ejecutanext.commandy continúa supervisando.needs_input: reenvíadata.input_request.questiontextualmente, luego envía la respuesta del usuario conanswer.completed: usadata.result.textcomo el resultado autoritativo.failed: reporta el fallo; reintenta solo cuando se solicite y sea seguro.cancelled: reporta la cancelación.
Si la creación de la tarea devuelve ACTIVE_RUN_CONFLICT, la nueva solicitud no se inició. Detente, informa al usuario que el escritorio está ocupado y no reintentes ni inspecciones la tarea existente a menos que el usuario lo solicite explícitamente.
Rutas para intenciones especiales
- Escritorio específico o contexto reutilizable: usa
desktop list,task run,contextytask continue. - Entrega de archivos locales: elimina solo la redacción de entrega local del objetivo de CUA, haz que CUA exporte un artefacto registrado, luego usa
artifact listyartifact save. - Inspección de salud o configuración: usa
ping,diagnoseomodel get; no crees una tarea solo para probar la disponibilidad. - Detener una tarea activa: usa
cancelsolo cuando el usuario lo solicite explícitamente.
Seguridad e integridad de los resultados
- Usa la gateway empaquetada en
assets/config.json; permite las mismas sobrescrituras por llamada y de entorno queap-cua-skill. - Configura las credenciales exactamente como
ap-cua-skill: resuelve--api-key, luegoAP_CUA_AGENTPLAN_API_KEY,AGENTPLAN_API_KEYoARK_API_KEY, luego usa el prompt oculto de la terminal local cuando no haya clave disponible. Valida y almacena las credenciales exitosas en la caché local con permisos0600. - Nunca expongas claves de API, contenido de la caché, encabezados de autorización, respuestas del usuario ni bytes de artefactos.
- Nunca infieras la finalización a partir de texto de progreso o un estado no terminal.
- Trata
result.textcomo autoritativo solo cuandooutcome == completed. - Rechaza sobrescribir archivos locales existentes. Exige una nueva ruta de salida para
artifact save. - Rechaza respuestas HTML/intersticiales como artefactos y no las escribas en el disco.
- No aceptes texto en base64 ni un enlace de uso compartido externo como archivo descargado; requiere un artefacto registrado.
- No omitas preguntas de CUA, modifiques configuraciones persistentes del modelo, administres horarios, expongas tickets de acceso al escritorio ni invoques operaciones de reinicio/reinicialización del escritorio.