Bauteile
Bauteilebibliothek
agentee-Bibliothek: Die eigenen Bauteile des Nutzers mit ihren Symbolen, Footprints, Modellen, Datenblättern und Lagerbestand, gefunden, hinzugefügt und in jedem Design verwendet.
Die Bauteilebibliothek ist der eigene Satz an Bauteilen des Nutzers: die Steckverbinder, Regler, passive Bauteile und alles andere, das er in jedem Design wiederverwenden möchte, damit Kabel und Lagerbestand zwischen Projekten bestehen bleiben. Jedes Bauteil enthält sein Symbol, seinen Footprint, sein 3D-Modell, sein Datenblatt und den zuletzt geprüften Lagerbestand, und ein Agent wählt daraus, bevor er zu etwas Neuem greift (MCP library_find, library_list, library_show, library_use, library_add). Der Arbeitsablauf für jedes Bauteil, das ein Design benötigt, lautet: finden, hinzufügen, verwenden. find zeigt die Bibliotheksbauteile, die übereinstimmen, und wenn keines übereinstimmt, die aktuellen Bauteile auf Lager bei den Distributoren. Das gewählte Bauteil wird mit add in die Bibliothek und mit use auf die Platine übernommen.
Sie liegt in ~/.config/agentee/library/ ($AGENTEE_LIBRARY verschiebt sie), und ein Projekt kann in .agentee/library/ an seiner Wurzel Bauteile hinzufügen oder überschreiben. Jedes Bauteil ist ein Verzeichnis:
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 listet die Bibliotheksbauteile auf, deren Name, Rolle, Tags, Bauteilnummer, Wert, Bewertung, Footprint oder Notizen mit jedem Wort übereinstimmen. Nur wenn keines übereinstimmt (oder mit --search) führt es dieselben Wörter als Stichwortsuche bei jedem Distributor mit einem Schlüssel aus und listet die Bauteile auf, die aktiv sind (kein Status wie veraltet, Lebensende erreicht oder eingestellt) und mindestens --need auf Lager haben (Standard 1), zusammengeführt nach Bauteilnummer: Gesamtbestand, die Distributoren, die es vorrätig haben, den besten Stückpreis bei dieser Menge und den Datenblattlink. Bauteile, die bei mehreren Distributoren vorrätig sind, kommen zuerst, dann nach Bestand; --limit begrenzt die Liste (Standard 15). Ein aufgelistetes Bauteil, das bereits in der Bibliothek ist, wird entsprechend gekennzeichnet.
add übernimmt das Symbol und den Footprint aus einer .sym.toml- oder .fp.toml-Datei, einem Symbol oder Footprint des Projekts (-p) oder einem KiCad Library:Name; der Footprint ist standardmäßig der des Symbols. Es kopiert das 3D-Modell des Footprints hinein (aus den Modellverzeichnissen von KiCad, dem Modellcache oder einem Download), verweist den Footprint auf die Kopie und setzt seine height aus dem Modell, wenn keine vorhanden ist, damit ein Bauteil offline funktioniert und weiter funktioniert, wenn sich eine KiCad-Installation oder ein Vendor-Download ändert. Wenn KiCad kein Modell dieses Namens hat, nimmt es den nächstgelegenen Körper im selben .3dshapes-Ordner, dasselbe Gehäuse mit dem nächstgelegenen freiliegenden Pad (oder den einfachen Körper eines _ThermalVias-Footprints) und gibt dies an; die 3D-Ansicht und models machen dasselbe. --model akzeptiert auch einen Vendor-Download, ein ZIP oder einen Ordner, der ein .kicad_mod und sein STEP- oder VRML-Modell enthält (SamacSys, SnapMagic und Ultra Librarian liefern diese): Es passt die Pads des Vendor-Footprints an unsere nach Nummer an, lehnt ab, wenn sie mehr als 0,1 mm auseinander liegen, und schreibt das model_offset und model_rotate, das das Vendor-Modell auf unseren Footprint bringt. Ohne Modell von KiCad oder --model sucht add die Bauteilnummer in der Bauteilliste von JLCPCB/LCSC und nimmt das EasyEDA-Modell, auf dieselbe Weise platziert durch die Pads des EasyEDA-Footprints, nachdem das Modell gegen die Umrisse dieses Footprints geprüft wurde; die files-Aufzeichnung des Bauteils vermerkt es als EasyEDA C258169 (easyeda.com). add und refresh speichern die LCSC-Nummer als lcsc, und use gibt sie als lcsc-Feld des Bauteils weiter, das bom-jlcpcb.csv liest. --no-distributors überspringt beide Suchen. Es lädt das Datenblatt herunter (--datasheet-URL oder PDF, sonst die URL des Symbols, sonst die der Distributoren), pinnt es im Datenblattcache, damit datasheet purge es nie entfernt, und vermerkt den Lagerbestand und die Preisstaffeln jeder Auflistung. Seine Notizen geben an, wenn kein Distributor das Bauteil als aktives Bauteil auf Lager hat. --local fügt zur Bibliothek des Projekts hinzu, statt zur globalen.
use kopiert das Symbol in symbols/, den Footprint in footprints/ und das Modell in 3dmodels/ des Projekts; eine Datei, die bereits existiert und abweicht, wird ohne --force abgelehnt. Es gibt den agentee edit sch-Befehl zurück, der das Bauteil mit seinen mpn, mfr und library-Feldern hinzufügt. datasheet text JST-PH-2 liest die gepinnte Kopie ohne einen Netzwerkaufruf.
refresh fragt jeden Distributor mit einem Schlüssel einmal nach allen Bauteilnummern der Bibliothek ab und ersetzt den [[stock]] jedes Bauteils; ein Distributor, der fehlschlägt, behält seine letzte Auflistung bei. list gibt die günstigste Auflistung auf Lager mit dem Datum aus, an dem sie geprüft wurde, damit Lagerbestand und Preis ohne einen API-Aufruf bekannt sind, Stand dieses Datums.
verify prüft jedes Bauteil: Jeder Symbolpin hat ein Pad, das gepinnte Datenblatt benennt die Bauteilnummer und das Gehäuse (oder eine Pinanzahl), die Pinnamen des Symbols erscheinen darin, der Umriss des Modells passt in den Courtyard, die Löcher, Schlitze und Ringe des Footprints erfüllen die Mindestwerte von JLCPCB, und jede Datei hat immer noch den Hash, mit dem sie hinzugefügt wurde. Es beendet sich mit 1, wenn eine Prüfung fehlschlägt.
check warnt (Regel library), wenn ein Design ein Bauteil außerhalb der Bibliothek für eine Rolle verwendet, die die Bibliothek hält, und benennt das Bibliotheksbauteil, das verwendet werden soll: das mit derselben Pinanzahl, das bevorzugte zuerst. Die Rolle eines Bauteils ist sein role-Feld oder leitet sich aus seiner Referenz ab: J/P Steckverbinder (rf connector für Koax, SMA und U.FL, usb connector, modular connector, card socket), R Widerstand, C Kondensator, L Induktivität, FB Ferrit, D Dioden oder led, Q Transistor, Y Quarz, F Sicherung, SW Schalter, BT Batterie, K Relais. Ein Bauteil ist in der Bibliothek, wenn sein mpn- oder library-Feld ein Bibliotheksbauteil benennt, oder wenn es auf dem Footprint eines generic-Bauteils sitzt. Setze das library = "no"-Feld des Bauteils, um eines auszuschließen. library.toml an der Bibliothekswurzel legt fest, wie stark es darauf drängt:
check = "warning" # warning | info | off
# roles = ["connector"] # only these roles