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.Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
Notions de base
Méthodes que vous devez implémenter
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
session/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
- 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
- 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.
