Kiro CLI met en œuvre le Agent Client Protocol (ACP), une norme ouverte qui permet aux agents d'IA de fonctionner avec n'importe quel éditeur compatible. Cela signifie que vous pouvez utiliser les capacités agentives de Kiro dans les IDE JetBrains, Zed et d'autres éditeurs compatibles avec ACP.
Les agents de programmation par IA et les éditeurs sont étroitement couplés, mais l'interopérabilité n'est pas la norme par défaut. Chaque éditeur doit créer des intégrations personnalisées pour chaque agent, et les agents doivent mettre en œuvre des API propres à chaque éditeur. Cela crée une surcharge d'intégration, une compatibilité limitée et un enfermement propriétaire pour les développeurs.
L'ACP résout ce problème en fournissant un protocole normalisé pour la communication agent-éditeur — semblable à la façon dont le Language Server Protocol (LSP) a normalisé l'intégration des serveurs de langage. Les agents qui mettent en œuvre l'ACP fonctionnent avec n'importe quel éditeur compatible, et les éditeurs qui prennent en charge l'ACP ont accès à tous les agents compatibles avec l'ACP.
Exécutez Kiro comme agent ACP :
kiro-cli acp
Pour utiliser une configuration d'agent précise :
kiro-cli acp --agent my-agent
L'agent communique via stdin/stdout en utilisant JSON-RPC 2.0. Configurez votre éditeur pour qu'il lance cette commande, et vous êtes prêt à commencer.
Kiro CLI peut être utilisé comme agent ACP dans n'importe quel éditeur qui prend en charge le protocole.
Les IDE JetBrains (IntelliJ IDEA, WebStorm, PyCharm, etc.) prennent en charge l'ACP par l'intermédiaire d'AI Assistant. Consultez la documentation ACP de JetBrains pour tous les détails.
Pour ajouter Kiro comme agent personnalisé :
~/.jetbrains/acp.json :{ "agent_servers": { "Kiro Agent": { "command": "/full/path/to/kiro-cli", "args": ["acp"] } } }
L'agent apparaîtra dans le sélecteur de mode d'AI Chat.
Zed prend en charge nativement les agents ACP. Consultez la documentation sur les agents externes de Zed pour tous les détails. Ajoutez ce qui suit à vos paramètres Zed (~/.config/zed/settings.json) :
{ "agent_servers": { "Kiro Agent": { "type": "custom", "command": "~/.local/bin/kiro-cli", "args": ["acp"], "env": {} } } }
Sélectionnez « Kiro Agent » dans le sélecteur d'agent du panneau d'IA de Zed.
Tout éditeur prenant en charge l'ACP peut intégrer Kiro en lançant kiro-cli acp et en communiquant via JSON-RPC sur stdio. Consultez la spécification ACP pour les détails du protocole.
Kiro CLI met en œuvre les méthodes ACP suivantes, vous donnant accès à la gestion des sessions, à la sélection du modèle et à la diffusion en continu des réponses lorsque vous utilisez Kiro par l'intermédiaire de n'importe quel éditeur compatible avec l'ACP.
| Method | Description |
|---|---|
initialize | Initialise la connexion et échange les capacités |
session/new | Crée une nouvelle session de clavardage |
session/load | Charge une session existante par ID |
session/prompt | Envoie une requête à l'agent |
session/cancel | Annule l'opération en cours |
session/set_mode | Change le mode de l'agent (p. ex., différentes configurations d'agent) |
session/set_model | Change le modèle pour la session |
L'agent ACP de Kiro annonce ces capacités lors de l'initialisation :
loadSession: true - Prend en charge le chargement de sessions existantespromptCapabilities.image: true - Prend en charge le contenu image dans les requêtesL'agent envoie ces types de mises à jour de session via session/notification :
| Update Type | Description |
|---|---|
AgentMessageChunk | Texte/contenu diffusé en continu depuis l'agent |
ToolCall | Invocation d'outil avec nom, paramètres, état |
ToolCallUpdate | Mises à jour de progression pour les outils en cours d'exécution |
TurnEnd | Signale que le tour de l'agent est terminé |
Kiro étend l'ACP avec des méthodes personnalisées (préfixées par _kiro.dev/ conformément à la spécification ACP) pour exposer des fonctionnalités propres à Kiro comme les commandes slash, les serveurs MCP et la compaction du contexte. Les clients qui ne prennent pas en charge ces extensions peuvent les ignorer sans problème — il s'agit d'améliorations facultatives.
| Method | Type | Description |
|---|---|---|
_kiro.dev/commands/execute | Request | Exécute une commande slash (p. ex., /agent swap, /context add) |
_kiro.dev/commands/options | Request | Obtient des suggestions de saisie automatique pour une commande partielle |
_kiro.dev/commands/available | Notification | Envoyée après la création de la session avec la liste des commandes disponibles |
| Method | Type | Description |
|---|---|---|
_kiro.dev/mcp/oauth_request | Notification | Fournit l'URL OAuth lorsqu'un serveur MCP nécessite une authentification |
_kiro.dev/mcp/server_initialized | Notification | Indique qu'un serveur MCP a terminé son initialisation et que ses outils sont disponibles |
| Method | Type | Description |
|---|---|---|
_kiro.dev/compaction/status | Notification | Signale la progression de la compaction du contexte de conversation |
_kiro.dev/clear/status | Notification | Signale l'état lors de l'effacement de l'historique de session |
_session/terminate | Notification | Met fin à une session de sous-agent |
Voici comment un client ACP initialise une connexion avec Kiro :
// Client sends initialize request { "jsonrpc": "2.0", "id": 0, "method": "initialize", "params": { "protocolVersion": 1, "clientCapabilities": { "fs": { "readTextFile": true, "writeTextFile": true }, "terminal": true }, "clientInfo": { "name": "my-editor", "version": "1.0.0" } } } // Kiro responds with capabilities { "jsonrpc": "2.0", "id": 0, "result": { "protocolVersion": 1, "agentCapabilities": { "loadSession": true, "promptCapabilities": { "image": true } }, "agentInfo": { "name": "kiro-cli", "version": "1.5.0" } } }
Après l'initialisation, créez une session et commencez à envoyer des requêtes :
// Create a new session { "jsonrpc": "2.0", "id": 1, "method": "session/new", "params": { "cwd": "/home/user/my-project", "mcpServers": [] } } // Send a prompt { "jsonrpc": "2.0", "id": 2, "method": "session/prompt", "params": { "sessionId": "sess_abc123", "content": [ { "type": "text", "text": "Explain this codebase" } ] } }
Les sessions ACP sont conservées sur le disque à :
~/.kiro/sessions/cli/
Chaque session crée deux fichiers :
<session-id>.json - Métadonnées et état de la session<session-id>.jsonl - Journal des événements (historique de conversation)Les journaux de l'agent ACP sont écrits à l'emplacement standard des journaux de Kiro :
| Platform | Location |
|---|---|
| macOS | $TMPDIR/kiro-log/kiro-chat.log |
| Linux | $XDG_RUNTIME_DIR/kiro-log/kiro-chat.log |
Contrôlez le niveau de verbosité des journaux avec des variables d'environnement :
KIRO_LOG_LEVEL=debug kiro-cli acp KIRO_CHAT_LOG_FILE=/path/to/custom.log kiro-cli acp
Agent Client Protocol (ACP)