Composants
Bibliothèque de composants
Bibliothèque agentee : les composants de l'utilisateur avec leurs symboles, empreintes, modèles, fiches techniques et stock, trouvés, ajoutés et utilisés dans chaque design.
La bibliothèque de composants est le propre ensemble de composants de l'utilisateur : les connecteurs, régulateurs, passifs et tout autre élément qu'il souhaite réutiliser dans chaque conception, afin que les câbles et le stock soient partagés entre les projets. Chaque composant contient son symbole, son empreinte, son modèle 3D, sa fiche technique et son dernier stock vérifié, et un agent choisit dans cette bibliothèque avant de chercher un nouveau composant (MCP library_find, library_list, library_show, library_use, library_add). Le flux de travail pour chaque composant dont une conception a besoin est : trouver, ajouter, utiliser. find affiche les composants de la bibliothèque qui correspondent et, s'il n'y en a aucun, les composants actuels en stock chez les distributeurs ; le composant choisi est ajouté à la bibliothèque avec add et placé sur la carte avec use.
Elle se trouve dans ~/.config/agentee/library/ ($AGENTEE_LIBRARY la déplace), et un projet peut ajouter ou remplacer des composants dans .agentee/library/ à sa racine. Chaque composant est un répertoire :
JST-PH-2/
part.toml
JST-PH-2.sym.toml # the symbol, renamed to the part
JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal.fp.toml
3dmodels/JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal.steprole = "connector"
mpn = "S2B-PH-K-S"
manufacturer = "JST"
lcsc = "C131337" # the JLCPCB/LCSC part number, looked up by `add` and `refresh`
value = "PH 2-pin"
rating = "2 A, 100 V"
preferred = true # the first choice for its role
# generic = true # any value on this footprint is this part (a resistor series)
# pins = 2 # default the symbol's pin count
tags = ["power", "battery"]
notes = "power input, 2 A max, use XH for motors"
symbol = "JST-PH-2.sym.toml"
footprint = "JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal.fp.toml"
model = "3dmodels/JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal.step"
added = "2026-10-09"
[datasheet] # pinned in the datasheet cache
url = "http://www.farnell.com/datasheets/4648554.pdf"
sha256 = "dd60971f..."
[[files]] # where each file came from and its hash when added
path = "JST-PH-2.sym.toml"
source = "kicad Connector_Generic:Conn_01x02, KiCad 9.0"
sha256 = "42b88f96..."
[[stock]] # one per distributor listing, from add or refresh
distributor = "Farnell"
sku = "9491902"
stock = 338281
currency = "EUR"
breaks = [[100.0, 0.0841], [1000.0, 0.0655]]
min = 100
url = "https://ie.farnell.com/search?st=9491902"
checked = "2026-10-09"agentee library add S2B-PH-K-S --name JST-PH-2 --role connector \
--symbol Connector_Generic:Conn_01x02 \
--footprint Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal \
--manufacturer JST --rating "2 A, 100 V" --notes "power input" --preferred
agentee library find 3.3V buck --role regulator # library matches, else stocked parts to add
agentee library find USB-C receptacle --need 100 --search
agentee library list # every part, by role, with stock and price
agentee library list --role connector 2-pin power
agentee library show JST-PH-2
agentee library use JST-PH-2 -p board/ # copy its files in, print the edit that places it
agentee library refresh # stock and price of every part, one lookup each
agentee library verifyfind WORDS liste les composants de la bibliothèque dont le nom, le rôle, les étiquettes, la référence, la valeur, la cote, l'empreinte ou les notes correspondent à chaque mot. Uniquement lorsqu'aucun ne correspond (ou avec --search), il exécute les mêmes mots comme recherche par mot-clé chez chaque distributeur disposant d'une clé et liste les composants actifs (sans statut obsolète, fin de vie ou discontinué) avec au moins --need en stock (défaut 1), fusionnés par référence : stock total, distributeurs qui le détiennent, meilleur prix unitaire à cette quantité et lien vers la fiche technique. Les composants en stock chez plusieurs distributeurs viennent en premier, puis par stock ; --limit limite la liste (défaut 15). Un composant listé déjà présent dans la bibliothèque l'indique.
add prend le symbole et l'empreinte depuis un fichier .sym.toml ou .fp.toml, un symbole ou une empreinte du projet (-p), ou une bibliothèque KiCad Library:Name ; l'empreinte est par défaut celle du symbole. Il copie le modèle 3D de l'empreinte (depuis les répertoires de modèles KiCad, le cache de modèles ou un téléchargement), pointe l'empreinte vers la copie et définit sa height depuis le modèle si elle n'en a pas, de sorte qu'une pièce fonctionne hors ligne et continue de fonctionner quand une installation KiCad ou un téléchargement de fabricant change. Quand KiCad n'a pas de modèle de ce nom, il prend le corps le plus proche dans le même dossier .3dshapes, le même boîtier avec la pastille exposée la plus proche (ou le corps simple d'une empreinte _ThermalVias), et l'indique ; la vue 3D et models font de même. --model accepte aussi un téléchargement de fabricant, un ZIP ou un dossier contenant un .kicad_mod et son modèle STEP ou VRML (SamacSys, SnapMagic et Ultra Librarian fournissent ces fichiers) : il associe les pastilles de l'empreinte du fabricant aux nôtres par numéro, refuse si elles sont à plus de 0,1 mm d'écart, et écrit model_offset et model_rotate qui placent le modèle du fabricant sur notre empreinte. Sans modèle de KiCad ou de --model, add cherche le numéro de pièce dans la liste de pièces JLCPCB/LCSC et prend le modèle EasyEDA, placé de la même façon par les pastilles de l'empreinte EasyEDA après avoir vérifié le modèle par rapport au contour de cette empreinte ; le fichier files de la pièce l'enregistre comme EasyEDA C258169 (easyeda.com). add et refresh stockent le numéro LCSC comme lcsc, et use le transmet comme champ lcsc de la pièce, que bom-jlcpcb.csv lit. --no-distributors ignore les deux recherches. Il récupère la fiche technique (URL ou PDF de --datasheet, sinon l'URL du symbole, sinon celles des distributeurs), l'épingle dans le cache de fiches techniques pour que datasheet purge ne la supprime jamais, et enregistre le stock et les paliers de prix de chaque liste. Ses notes indiquent quand aucun distributeur n'a la pièce en stock comme pièce active. --local ajoute à la bibliothèque du projet au lieu de cela.
use copie le symbole dans symbols/, l'empreinte dans footprints/ et le modèle dans 3dmodels/ du projet ; un fichier qui existe déjà et diffère est refusé sans --force. Il renvoie la commande agentee edit sch qui ajoute le composant avec ses champs mpn, mfr et library. datasheet text JST-PH-2 lit la copie épinglée sans appel réseau.
refresh demande à chaque distributeur disposant d'une clé, une fois pour toutes, les références de tous les composants de la bibliothèque et remplace chaque [[stock]] du composant ; un distributeur qui échoue conserve son dernier listing. list affiche le listing le moins cher en stock avec la date de vérification, afin que le stock et le prix soient connus sans appel API, à la date indiquée.
verify vérifie chaque composant : chaque broche du symbole a une pastille, la fiche technique épinglée mentionne la référence et le boîtier (ou le nombre de broches), les noms de broches du symbole y figurent, le contour du modèle s'inscrit dans la zone d'encombrement, les trous, fentes et anneaux de l'empreinte respectent les minimums de JLCPCB, et chaque fichier a toujours le hachage avec lequel il a été ajouté. Il sort avec le code 1 si l'un échoue.
check avertit (règle library) lorsqu'une conception utilise un composant hors bibliothèque pour un rôle que la bibliothèque détient, en nommant le composant de la bibliothèque à utiliser : celui avec le même nombre de broches, le préféré en premier. Le rôle d'un composant est son champ role, ou découle de sa référence : J/P connecteur (rf connector pour coaxial, SMA et U.FL, usb connector, modular connector, card socket), R résistance, C condensateur, L inductance, FB ferrite, D diode ou led, Q transistor, Y cristal, F fusible, SW interrupteur, BT batterie, K relais. Un composant est dans la bibliothèque si son champ mpn ou library nomme un composant de la bibliothèque, ou s'il est sur l'empreinte d'un composant generic. Définir le champ library = "no" du composant pour l'exclure. library.toml à la racine de la bibliothèque définit la force de la recommandation :
check = "warning" # warning | info | off
# roles = ["connector"] # only these roles