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 lecwdet tous les serveurs MCP configurés.session/prompt— Recevoir un message de l’utilisateur, gérer le tour de prompt et renvoyer unstopReasonune 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 toursession/prompt, votre agent envoie des mises à jour à Devin Desktop sous forme de notifications JSON-RPC :
session/updateavecagent_message_chunkpour diffuser en continu le texte de l’assistant.session/updateavectool_callettool_call_updatepour afficher les appels d’outil et leur statut dans l’interface de Devin Desktop.session/request_permissionpour demander l’autorisation de l’utilisateur avant d’exécuter un appel d’outil sensible.session/updateavecplansi votre agent maintient un plan d’agent.
session/prompt avec un stopReason (p. ex. end_turn, cancelled, max_tokens).
Tests
Pour tester votre agent avec Devin Desktop :- Ajoutez une entrée pour votre agent dans votre configuration du registre local, en pointant
cmdvers le chemin du binaire de votre agent local (ou d’un script wrapper). - Modifiez votre agent et reconstruisez-le si nécessaire.
- Exécutez
Reload ACP Connectionsdepuis 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.

