Communitygithub.com

ARK CUA

Opère ARK CUA via une CLI Python intégrée. Toutes les opérations de passerelle restent dans la CLI ; aucune clé API AgentPlan ne doit être demandée dans le chat.

Qu'est-ce que ARK CUA ?

ARK CUA est une compétence d'agent spécialisée qui permet d'opérer un assistant d'interface utilisateur en ligne (Computer Using Agent) via une interface en ligne de commande Python. Elle est conçue pour être utilisée avec des plateformes comme Claude Code, Cursor ou Codex. L'utilisateur n'a pas à planifier, décomposer ou gérer la session CUA ; il se contente de transmettre l'objectif et de suivre les instructions de la CLI. La compétence gère l'authentification via une passerelle sécurisée, exécute des délégations, suit les résultats, et redirige vers le chat uniquement les questions nécessitant une entrée humaine. Elle garantit la sécurité en ne laissant jamais fuiter les clés API ou les réponses utilisateur. Des commandes non essentielles sont disponibles dans les fichiers de référence. En cas de conflit de session active, la compétence s'arrête et informe l'utilisateur sans réessayer. Elle intègre également des fonctions pour la gestion de bureau, de contexte, de tâches, d'artefacts, et de configuration.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add 2B-AL/agentplan-skills

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait ARK CUA ?

Opère ARK CUA via la CLI Python fournie. Conserve tout l'accès à la passerelle dans la CLI et ne demande jamais de clé API AgentPlan dans le chat.

Surface de commandes

python3 <skill-dir>/scripts/cua.py <commande> [options]

Analyse l'objet JSON unique imprimé par chaque appel :

  • Succès : ok: true, avec data et parfois next.
  • Échec : ok: false, avec error.code et parfois next.setup_command.

Consultez references/commands.md pour les commandes non essentielles. Consultez references/auth.md, references/outcomes.md ou references/troubleshooting.md uniquement lorsque l'état correspondant se produit.

Flux de travail principal

  1. Exécutez auth status.
  2. En cas de AUTH_REQUIRED, TOKEN_EXPIRED ou REFRESH_FAILED, transmettez la setup_command renvoyée. Demandez à l'utilisateur de l'exécuter dans son terminal local et de saisir la clé API AgentPlan via l'invite masquée. N'exécutez jamais la connexion interactive depuis une session d'agent et n'acceptez jamais la clé dans le chat.
  3. Une fois que l'utilisateur confirme la connexion terminée, exécutez à nouveau auth status.
  4. Exécutez delegate --objective "<demande utilisateur>" une fois. Préservez l'objectif de l'utilisateur sans le planifier ni le décomposer.
  5. Enregistrez data.invocation_id ; ne soumettez jamais la même requête à nouveau.
  6. Pilotez data.outcome jusqu'à ce qu'il soit terminal :
    • in_progress : exécutez next.command et continuez à surveiller.
    • needs_input : transmettez intégralement data.input_request.question, puis soumettez la réponse de l'utilisateur avec answer.
    • completed : utilisez data.result.text comme résultat faisant autorité.
    • failed : signalez l'échec ; ne réessayez que si demandé et sans risque.
    • cancelled : signalez l'annulation.

Si la création de tâche renvoie ACTIVE_RUN_CONFLICT, la nouvelle requête n'a pas démarré. Arrêtez-vous, informez l'utilisateur que le bureau est occupé, et ne réessayez ni n'inspectez la tâche existante sauf demande explicite de l'utilisateur.

Acheminement des intentions spéciales

  • Bureau spécifique ou contexte réutilisable : utilisez desktop list, task run, context et task continue.
  • Livraison de fichier local : supprimez uniquement le libellé de livraison locale de l'objectif CUA, faites exporter un artefact enregistré par CUA, puis utilisez artifact list et artifact save.
  • Inspection de santé ou de configuration : utilisez ping, diagnose ou model get ; ne créez pas de tâche uniquement pour tester la disponibilité.
  • Arrêt d'une tâche active : utilisez cancel uniquement lorsque l'utilisateur le demande explicitement.

Sécurité et intégrité des résultats

  • Utilisez la passerelle fournie dans assets/config.json ; autorisez les mêmes surcharges par appel et par environnement que ap-cua-skill.
  • Configurez les identifiants exactement comme ap-cua-skill : résolvez --api-key, puis AP_CUA_AGENTPLAN_API_KEY, AGENTPLAN_API_KEY ou ARK_API_KEY, puis utilisez l'invite terminal local masquée lorsqu'aucune clé n'est disponible autrement. Validez et stockez les identifiants réussis dans le cache local en mode 0600.
  • N'exposez jamais les clés API, le contenu du cache, les en-têtes d'autorisation, les réponses utilisateur ou les octets d'artefact.
  • Ne déduisez jamais la complétion à partir du texte de progression ou d'un état non terminal.
  • Considérez result.text comme faisant autorité uniquement lorsque outcome == completed.
  • Refusez de remplacer des fichiers locaux existants. Exigez un nouveau chemin de sortie pour artifact save.
  • Rejetez les réponses HTML/interstitielles en tant qu'artefacts et ne les écrivez pas sur le disque.
  • N'acceptez pas de texte en base64 ou un lien de partage externe comme fichier téléchargé ; exigez un artefact enregistré.
  • Ne contournez pas les questions CUA, ne modifiez pas les paramètres de modèle persistants, ne gérez pas les plannings, n'exposez pas de tickets d'accès au bureau et n'invoquez pas d'opérations de redémarrage/réinitialisation du bureau.

Skills associés