Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.devin.ai/llms.txt

Use this file to discover all available pages before exploring further.

Cette page présente ce que vous devez implémenter pour développer un agent ACP personnalisé compatible avec Devin Desktop. Pour consulter la spécification complète du protocole, rendez-vous sur agentclientprotocol.com. Des bibliothèques clientes officielles sont disponibles en Rust, TypeScript, Python, Kotlin et Java.

Notions de base

Les agents ACP fonctionnent comme des sous-processus locaux lancés à la demande par Devin Desktop. Toutes les communications passent par JSON-RPC via stdio.

Méthodes que vous devez implémenter

Au minimum, votre agent doit prendre en charge les méthodes suivantes de Devin Desktop :
  • initialize — Négocier la version du protocole, annoncer les capacités de votre agent et renvoyer les informations de l’agent (nom, version).
  • session/new — Créer une nouvelle session pour un répertoire de travail et renvoyer un identifiant de session. Devin Desktop transmet le cwd et tous les serveurs MCP configurés.
  • session/prompt — Recevoir un message de l’utilisateur, gérer le tour de prompt et renvoyer un stopReason une fois terminé.
  • session/cancel — Interrompre tout travail en cours pour une session lorsque l’utilisateur annule.

Cycle de vie d’un tour de prompt

Pendant un tour session/prompt, votre agent envoie des mises à jour à Devin Desktop sous forme de notifications JSON-RPC :
  • session/update avec agent_message_chunk pour diffuser en continu le texte de l’assistant.
  • session/update avec tool_call et tool_call_update pour afficher les appels d’outil et leur statut dans l’interface de Devin Desktop.
  • session/request_permission pour demander l’autorisation de l’utilisateur avant d’exécuter un appel d’outil sensible.
  • session/update avec plan si votre agent maintient un plan d’agent.
Le tour se termine lorsque votre agent renvoie une réponse session/prompt avec un stopReason (p. ex. end_turn, cancelled, max_tokens).

Tests

Pour tester votre agent avec Devin Desktop :
  1. Ajoutez une entrée pour votre agent dans votre configuration du registre local, en pointant cmd vers le chemin du binaire de votre agent local (ou d’un script wrapper).
  2. Modifiez votre agent et reconstruisez-le si nécessaire.
  3. Exécutez Reload ACP Connections depuis la palette de commandes pour prendre en compte la dernière version — inutile de redémarrer Devin Desktop entre les itérations.

Limitations

Devin Desktop ne prend pas encore en charge tous les aspects de la spécification ACP. Voici les principales différences à garder à l’esprit lors de la création d’un agent pour Devin Desktop :
  • Les modes de session ne sont pas pris en charge. Les modes de session ne sont pas exposés dans l’interface de Devin Desktop. Si votre agent doit permettre aux utilisateurs de choisir entre plusieurs modes (p. ex. plan / build / review), exposez-les plutôt comme une option de configuration de session avec la catégorie "mode".
  • Les capacités de terminal ne sont pas exposées. Devin Desktop n’annonce pas les capacités de terminal ; les agents ne peuvent donc pas créer de terminaux dans l’interface de Devin Desktop. Les agents doivent exécuter les commandes dans leur propre sous-processus et transmettre la sortie via des mises à jour tool_call.