Cette page documente le comportement de l'IDE 0.x pour les utilisateurs qui n'ont pas encore migré vers la version 1.0. Pour le format actuel, consultez la documentation Features.
Dans l'IDE 0.x, les Hooks étaient stockés dans des fichiers .kiro.hook. Dans l'IDE 1.0, les Hooks ont déménagé vers des fichiers .kiro/hooks/*.json utilisant un schéma JSON versionné.
Dans l'IDE 0.x, les Hooks étaient créés grâce à un formulaire dédié :
Les champs du formulaire étaient :
Vous pouviez également ouvrir l'interface utilisateur des Hooks depuis la Palette de commandes en appuyant sur Cmd + Shift + P (Mac) ou Ctrl + Shift + P (Windows/Linux), puis en tapant Kiro: Open Kiro Hook UI.
Dans l'IDE 1.0, ce formulaire a été remplacé par un flux conversationnel — cliquer sur + préremplit maintenant une requête dans le clavardage et vous travaillez avec l'agent pour configurer le Hook.
.kiro.hook à .kiro/hooks/*.jsonversion: "v1" avec des champs structurés when/thenname, description, enabled, timeout{ "version": "v1", "hooks": [ { "name": "format-on-save", "description": "Run Prettier on saved TypeScript files", "enabled": true, "when": { "type": "fileEdited", "patterns": ["\\.ts$"] }, "then": { "type": "command", "command": "prettier --write {{filePath}}" }, "timeout": 10 } ] }
Valeur de when.type | Se déclenche quand | when.patterns correspond à |
|---|---|---|
sessionStart | La session commence | Non évalué |
agentStop | L'agent s'arrête | Non évalué |
promptSubmit | L'utilisateur envoie un message | Non évalué |
preToolUse | Avant l'exécution d'un outil | Nom de l'outil |
postToolUse | Après l'exécution d'un outil | Nom de l'outil |
fileCreated | Un nouveau fichier est créé | Chemin du fichier |
fileEdited | Un fichier est enregistré/modifié | Chemin du fichier |
fileDeleted | Un fichier est supprimé | Chemin du fichier |
preTaskExecution | Avant le début d'une tâche de spec | Non évalué |
postTaskExecution | Après la fin d'une tâche de spec | Non évalué |
userTriggered | Déclenché manuellement par l'utilisateur | Non évalué |
command — Exécute une commande shell, reçoit le contexte JSON sur stdinagent — Injecte une requête dans le contexte de l'agent au moment du déclenchementPour tous les détails de la migration, consultez Nouveautés de l'IDE 1.0 — Hooks.
Dans l'IDE 0.x, la bascule Autopilot/Supervised était le seul mécanisme de contrôle du comportement de l'agent. Dans la version 1.0, une couche permissions.yaml basée sur les capacités a été ajoutée en dessous pour un contrôle fin.
L'IDE avait deux modes accessibles via Settings → Agent → Agent Autonomy :
Il n'y avait aucun moyen de permettre certaines opérations tout en bloquant d'autres — c'était tout ou rien.
La bascule Autopilot/Supervised existe toujours et fonctionne comme avant. Ce qui est nouveau, c'est une couche permissions.yaml qui s'applique après le mode d'autonomie :
permissions.yaml peuvent toujours deny (refuser) ou ask (demander) pour des capacités précisesallow dans permissions.yaml peuvent préapprouver des opérations fiables afin qu'elles ne déclenchent pas de demandeCela signifie que vous pouvez utiliser le mode Autopilot sans donner à l'agent un accès sans restriction — refusez les opérations dangereuses tout en permettant aux opérations routinières de se dérouler silencieusement.
Pour la référence complète des permissions, consultez Permissions. Pour les détails de la migration, consultez Nouveautés de l'IDE 1.0 — Permissions.
Dans l'IDE 0.x, l'approbation des commandes de terminal était contrôlée par deux paramètres : Trusted Commands et Command Denylist. Dans la version 1.0, ceci est remplacé par les règles de capacité shell de permissions.yaml.
Configurées dans Settings → Kiro Agent: Trusted Commands au niveau de l'utilisateur ou de l'espace de travail. Utilisait la correspondance de préfixe avec des caractères génériques * :
["npm install"] — correspondance exacte seulement["npm install *"] — caractère générique partiel (npm install avec n'importe quels arguments)["npm *", "git *"] — caractère générique complet (n'importe quelle commande npm/git)["*"] — confiance universelle (toutes les commandes approuvées automatiquement)Règles de correspondance :
* correspond à tous les caractères après le préfixe&&, |) étaient fiables si la première commande correspondaitConfigurée dans Settings → Kiro Agent: Command Denylist. Utilisait la correspondance de sous-chaîne — si un motif refusé apparaissait n'importe où dans la commande, une approbation était requise, quels que soient les paramètres de confiance.
Motifs de liste de refus recommandés :
{ "kiroAgent.commandDenylist": [ "rm -rf", "sudo", "chmod 777", "eval", "curl | sh", "wget | sh", "> /dev/", "mkfs", "dd if=" ] }
Ces paramètres sont remplacés par les règles de capacité shell de permissions.yaml :
# Equivalent of trustedCommands: ["npm *", "git *"] rules: - capability: shell match: ["npm *", "git *"] effect: allow # Equivalent of commandDenylist: ["rm -rf", "sudo"] - capability: shell match: ["rm -rf *", "sudo *"] effect: deny
Principales différences :
kiroAgent.trustedCommands, kiroAgent.commandDenylist) n'est plus utiliséePour la référence complète des permissions, consultez Permissions.
Dans l'IDE 0.x, lorsque la fenêtre de contexte atteignait 80 % de la limite du modèle, Kiro résumait tous les messages de la conversation pour ramener la longueur du contexte sous la limite. Un indicateur d'utilisation du contexte dans le panneau de clavardage affichait le pourcentage actuel.
/compactPour le comportement actuel, consultez Compaction.
Dans la version 0.x, l'agent disposait d'un outil autonome diagnostics qui lisait la détection d'erreurs en temps réel, la validation syntaxique et les résultats du lint provenant de vos extensions de langage installées pendant l'exécution. L'installation d'extensions de langage et l'ouverture d'un fichier l'activaient automatiquement.
L'outil autonome a été supprimé. L'agent fonctionne toujours avec la connaissance du langage de votre code grâce aux outils d'analyse de code intégrés (read_code, renommage sémantique), et vous pouvez partager explicitement les résultats du serveur de langage avec l'agent en utilisant la clé de contexte #Problems dans le clavardage. Sur la CLI, l'outil code fournit des diagnostics basés sur le LSP en plus de ses autres opérations.
Dans l'IDE 0.x, les configurations d'agent étaient uniquement en JSON et prenaient en charge les mêmes champs que la CLI 2.x.
.kiro/agents/my-agent.json :
{ "name": "my-agent", "description": "A development agent", "prompt": "You are a senior developer", "model": "claude-sonnet-4", "tools": ["fs_read", "fs_write", "execute_bash"], "resources": ["file://AGENTS.md"] }
.md avec en-tête YAML + corps comme requête système)excludedTools, includeMcpJson, includePowers, resources (avec des URI skill://), permissions, welcomeMessageread, write, shell, web, @mcp, @builtin, *)hooks est réservé à la CLI; l'IDE l'ignorePour la référence du format actuel, consultez Agents personnalisés.
Dans l'IDE 0.x, vous choisissiez entre deux types de session au démarrage d'un nouveau clavardage :
Vous sélectionniez le mode via un sélecteur de mode au lancement d'une nouvelle session.
Le sélecteur de mode Vibe/Spec a été supprimé. À la place :
Cela signifie que vous n'avez plus besoin de décider à l'avance si une session sera « vibe » ou « spec » — vous pouvez commencer de façon conversationnelle et invoquer des flux de travail structurés dès que nécessaire, dans la même session.
Pour l'approche actuelle, consultez Démarrer une session, Agents intégrés et Specs.
Référence IDE 0.x