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.
ACP (Agent Client Protocol) normalise la façon dont les éditeurs se connectent aux agents d'IA, comme le Language Server Protocol (LSP) a normalisé l'intégration des serveurs de langage. Kiro CLI met en œuvre ACP afin que vous puissiez l'utiliser dans un éditeur compatible sans intégration personnalisée pour chaque agent. Consultez Agent Client Protocol pour comprendre l'architecture des clients et du harnais.
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 (CLI v2 uniquement — CLI V3 utilise session/set_config_option) |
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é (CLI v2 uniquement — CLI V3 termine les tours depuis la réponse session/prompt) |
Pour CLI v2, une réponse finale faisant l'objet d'un filtrage de contenu se termine par stopReason: refusal plutôt que par end_turn. Les clients ACP peuvent la présenter comme un refus plutôt que comme une fin normale, sans exposer de détails internes.
Kiro étend le serveur ACP CLI v2 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 sur le serveur v2.
| 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 CLI v2 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)