Nozioni di base
Gli agenti ACP vengono eseguiti come sottoprocessi locali che Devin Desktop avvia quando necessario. Tutte le comunicazioni avvengono tramite JSON-RPC su stdio.Metodi da implementare
Come minimo, il tuo agente deve gestire questi metodi di Devin Desktop:initialize— Negozia la versione del protocollo, dichiara le capacità del tuo agente e restituisce le informazioni sull’agente (nome, versione).session/new— Crea una nuova sessione per una directory di lavoro e restituisce un ID di sessione. Devin Desktop passa il cwd ed eventuali server MCP configurati.session/prompt— Riceve un messaggio dell’utente, gestisce il turno del prompt e restituisce unstopReasonal termine.session/cancel— Interrompe qualsiasi attività in corso per una sessione quando l’utente annulla.
Ciclo di vita di un turno di prompt
Durante un turnosession/prompt, il tuo agente invia aggiornamenti in streaming a Devin Desktop come notifiche JSON-RPC:
session/updateconagent_message_chunkper trasmettere in streaming il testo dell’assistente.session/updatecontool_calletool_call_updateper mostrare le invocazioni degli strumenti e il loro stato nell’interfaccia utente di Devin Desktop.session/request_permissionper chiedere all’utente l’autorizzazione prima di eseguire un’invocazione di uno strumento sensibile.session/updateconplanse il tuo agente gestisce un piano dell’agente.
session/prompt con uno stopReason (ad es. end_turn, cancelled, max_tokens).
Testing
Per testare il tuo agente con Devin Desktop:- Aggiungi una voce per il tuo agente nella configurazione del registry locale, impostando
cmdcon il percorso del binario del tuo agente locale (o di uno script wrapper). - Apporta modifiche al tuo agente e ricompilalo secondo necessità.
- Esegui
Reload ACP Connectionsdalla command palette per caricare la versione più recente — non serve riavviare Devin Desktop tra un’iterazione e l’altra.
Limitazioni
Devin Desktop al momento non supporta tutte le parti della specifica ACP. Di seguito sono riportate le principali differenze da tenere presenti quando si sviluppa un agente destinato a Devin Desktop:- Le modalità di sessione non sono supportate. Le modalità di sessione non sono esposte nell’interfaccia utente di Devin Desktop. Se il tuo agente deve consentire agli utenti di scegliere tra più modalità (ad es. plan / build / review), esponile invece come opzione di configurazione della sessione con la categoria
"mode". - Le funzionalità del terminale non sono esposte. Devin Desktop non dichiara le funzionalità del terminale, quindi gli agenti non possono creare terminali nell’interfaccia utente di Devin Desktop. Gli agenti devono eseguire i comandi nel proprio sottoprocesso e inviare l’output tramite aggiornamenti
tool_call.

