Vai al contenuto principale

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.

Questa pagina descrive cosa devi implementare per creare un agente ACP personalizzato che funzioni con Devin Desktop. Per la specifica completa del protocollo, consulta agentclientprotocol.com. Le librerie client ufficiali sono disponibili per Rust, TypeScript, Python, Kotlin e Java.

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 un stopReason al 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 turno session/prompt, il tuo agente invia aggiornamenti in streaming a Devin Desktop come notifiche JSON-RPC:
  • session/update con agent_message_chunk per trasmettere in streaming il testo dell’assistente.
  • session/update con tool_call e tool_call_update per mostrare le invocazioni degli strumenti e il loro stato nell’interfaccia utente di Devin Desktop.
  • session/request_permission per chiedere all’utente l’autorizzazione prima di eseguire un’invocazione di uno strumento sensibile.
  • session/update con plan se il tuo agente gestisce un piano dell’agente.
Il turno termina quando il tuo agente restituisce una risposta session/prompt con uno stopReason (ad es. end_turn, cancelled, max_tokens).

Testing

Per testare il tuo agente con Devin Desktop:
  1. Aggiungi una voce per il tuo agente nella configurazione del registry locale, impostando cmd con il percorso del binario del tuo agente locale (o di uno script wrapper).
  2. Apporta modifiche al tuo agente e ricompilalo secondo necessità.
  3. Esegui Reload ACP Connections dalla 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.