La commande /knowledge fournit une fonctionnalité de base de connaissances persistante pour Kiro CLI, vous permettant de stocker, de rechercher et de gérer des informations contextuelles qui persistent entre les sessions de clavardage.
La gestion des connaissances est expérimentale et doit être activée avant utilisation :
kiro-cli settings chat.enableKnowledge true
Une fois activée, utilisez les commandes /knowledge dans votre session de clavardage :
/knowledge add --name myproject --path /path/to/project /knowledge show
Affiche toutes les entrées de votre base de connaissances avec des informations détaillées, y compris les dates de création, le nombre d'éléments et le statut de persistance. Affiche également toutes les opérations d'indexation en arrière-plan actives, avec la progression et le temps estimé.
Cette commande unifiée offre une vue complète à la fois de vos connaissances stockées et des opérations en cours.
/knowledge show
Ajoute des fichiers ou des répertoires à votre base de connaissances. Le système indexe récursivement tous les fichiers pris en charge dans les répertoires.
Syntaxe :
/knowledge add --name <name> --path <path> [--include pattern] [--exclude pattern] [--index-type Fast|Best]
Paramètres requis :
--name ou -n : Nom descriptif pour l'entrée de connaissance--path ou -p : Chemin vers le fichier ou le répertoire à indexerExemples :
/knowledge add --name "project-docs" --path /path/to/documentation /knowledge add -n "config-files" -p /path/to/config.json /knowledge add --name "fast-search" --path /path/to/logs --index-type Fast /knowledge add -n "semantic-search" -p /path/to/docs --index-type Best
Choisissez l'approche d'indexation qui correspond le mieux à vos besoins :
Avantages :
Désavantages :
Avantages :
Désavantages :
| Cas d'utilisation | Type recommandé | Pourquoi |
|---|---|---|
| Fichiers journaux, messages d'erreur | Fast | Recherches par mots-clés rapides, grands volumes |
| Fichiers de configuration | Fast | Recherches exactes de paramètres/valeurs |
| Grandes bases de code | Fast | Recherches rapides de symboles et de fonctions |
| Documentation | Best | Compréhension du langage naturel |
| Articles de recherche | Best | Recherche basée sur les concepts |
| Contenu mixte | Best | Meilleure expérience de recherche globale |
Si vous ne spécifiez pas --index-type, le système utilise votre valeur par défaut configurée :
# Set your preferred default kiro-cli settings knowledge.indexType Fast # or Best # This will use your default setting /knowledge add "my-project" /path/to/project
Contrôlez les fichiers indexés à l'aide de motifs d'inclusion et d'exclusion :
/knowledge add "rust-code" /path/to/project --include "*.rs" --exclude "target/**" /knowledge add "docs" /path/to/project --include "**/*.md" --include "**/*.txt" --exclude "node_modules/**"
Exemples de motifs :
*.rs - Tous les fichiers Rust de manière récursive (équivalent à **/*.rs)**/*.py - Tous les fichiers Python de manière récursivetarget/** - Tout ce qui se trouve dans le répertoire targetnode_modules/** - Tout ce qui se trouve dans node_modulesComportement des motifs par défaut :
Lorsque vous ne spécifiez pas de motifs, le système utilise les valeurs par défaut configurées :
kiro-cli settings knowledge.defaultIncludePatterns '["**/*.rs", "**/*.py"]' kiro-cli settings knowledge.defaultExcludePatterns '["target/**", "__pycache__/**"]' # Uses default patterns /knowledge add "my-project" /path/to/project # Overrides defaults /knowledge add "docs-only" /path/to/project --include "**/*.md"
Fichiers texte : .txt, .log, .rtf, .tex, .rst
Markdown : .md, .markdown, .mdx
JSON : .json (traité comme du texte pour la recherche)
Configuration : .ini, .conf, .cfg, .properties, .env
Fichiers de données : .csv, .tsv
Formats Web : .svg (basé sur du texte)
Fichiers de code : .rs, .py, .js, .jsx, .ts, .tsx, .java, .c, .cpp, .h, .hpp, .go, .rb, .php, .swift, .kt, .kts, .cs, .sh, .bash, .zsh, .html, .htm, .xml, .css, .scss, .sass, .less, .sql, .yaml, .yml, .toml
Fichiers spéciaux : Dockerfile, Makefile, LICENSE, CHANGELOG, README (fichiers sans extensions)
Remarque : Les fichiers non pris en charge sont indexés sans extraction du contenu textuel.
Supprime des entrées de votre base de connaissances par nom, chemin ou identifiant de contexte.
/knowledge remove "project-docs" # Remove by name /knowledge remove /path/to/old/project # Remove by path
Met à jour (réindexe) une entrée existante de la base de connaissances avec du nouveau contenu. Les motifs d'inclusion/exclusion d'origine sont conservés.
# Re-index a single entry /knowledge update /path/to/updated/project # Re-index every entry at once /knowledge update
Exécutez /knowledge update sans arguments pour réindexer toutes les entrées de votre base de connaissances en une seule fois, plutôt que de mettre à jour un chemin à la fois.
Supprime toutes les entrées de votre base de connaissances. Une confirmation est requise et l'action est irréversible.
/knowledge clear
Une invite vous sera présentée :
⚠️ This will remove ALL knowledge base entries. Are you sure? (y/N):
Annule les opérations en arrière-plan. Annule une opération spécifique par identifiant ou toutes les opérations.
/knowledge cancel abc12345 # Cancel specific operation /knowledge cancel all # Cancel all operations
Configurez le comportement de la base de connaissances :
# Maximum files per knowledge base kiro-cli settings knowledge.maxFiles 10000 # Text chunk size for processing kiro-cli settings knowledge.chunkSize 1024 # Overlap between chunks kiro-cli settings knowledge.chunkOverlap 256 # Default index type kiro-cli settings knowledge.indexType Fast # Default include patterns kiro-cli settings knowledge.defaultIncludePatterns '["**/*.rs", "**/*.md"]' # Default exclude patterns kiro-cli settings knowledge.defaultExcludePatterns '["target/**", "node_modules/**"]'
Chaque agent maintient sa propre base de connaissances isolée, garantissant que les contextes de connaissances sont limités à l'agent spécifique avec lequel vous travaillez. Cela offre une meilleure organisation et évite les conflits de connaissances.
Les bases de connaissances sont stockées dans le répertoire de données local de votre système :
~/Library/Application Support/kiro-cli/knowledge_bases/~/.local/share/kiro-cli/knowledge_bases/%LOCALAPPDATA%\kiro-cli\knowledge_bases\knowledge_bases/ ├── kiro_cli_default/ # Default agent │ ├── contexts.json │ ├── context-id-1/ │ │ ├── data.json │ │ └── bm25_data.json │ └── context-id-2/ │ └── data.json ├── my-custom-agent_<code>/ # Custom agent │ ├── contexts.json │ └── context-id-3/ │ └── data.json └── another-agent_<code>/ # Another agent ├── contexts.json └── context-id-4/ └── data.json
/knowledge fonctionnent sur la base de connaissances de l'agent actuelLorsque vous changez d'agent, les commandes de connaissances fonctionnent automatiquement avec la base de connaissances de cet agent.
# Working with default agent /knowledge add /path/to/docs # Switch to custom agent kiro chat --agent my-custom-agent # Creates separate knowledge base for my-custom-agent /knowledge add /path/to/agent/docs # Switch back to default kiro chat # Only sees original docs, not agent-specific docs /knowledge show
Les bases de connaissances utilisent la recherche sémantique :
--exclude "target/**" --exclude "node_modules/**"/knowledge show pour surveiller la progression de l'indexationtarget/**, node_modules/**, .git/**/knowledge show pour vérifier le statut de l'indexation/knowledge show pour vous assurer qu'elle est terminée/knowledge show/knowledge show pour la progression/knowledge cancel pour les opérations problématiquesmaxFiles ou chunkSize pour une meilleure performance** pour la récursivité)
Gestion des connaissances