Elementy
Biblioteka części
agentee library: własne części użytkownika z ich symbolami, footprintami, modelami, kartami katalogowymi i stanem magazynowym, wyszukiwane, dodawane i używane w każdym projekcie.
Biblioteka części to własny zestaw części użytkownika: złącza, regulatory, elementy pasywne i wszystko inne, co chce ponownie wykorzystać w każdym projekcie, dzięki czemu kable i zapasy przenoszą się między projektami. Każda część zawiera swój symbol, footprint, model 3D, datasheet i ostatnio sprawdzone zapasy, a agent wybiera z niej, zanim sięgnie po coś nowego (MCP library_find, library_list, library_show, library_use, library_add). Praca z każdą częścią potrzebną w projekcie to: znajdź, dodaj, użyj: find pokazuje części z biblioteki, które pasują, a gdy żadna nie pasuje, aktualne części dostępne u dystrybutorów; wybrana część trafia do biblioteki przez add i na płytkę przez use.
Znajduje się w ~/.config/agentee/library/ ($AGENTEE_LIBRARY zmienia lokalizację), a projekt może dodawać lub nadpisywać części w .agentee/library/ w swoim katalogu głównym. Każda część to katalog:
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 verifyPolecenie find WORDS wypisuje części biblioteczne, których nazwa, rola, tagi, numer części, wartość, parametry, footprint lub uwagi zawierają każde z podanych słów. Tylko gdy żadna część nie pasuje (lub z opcją --search) wykonuje wyszukiwanie słów kluczowych u każdego dystrybutora z kluczem i wypisuje części aktywne (bez statusu wycofana, koniec życia lub niedostępna), które mają na stanie co najmniej --need sztuk (domyślnie 1). Wyniki są łączone po numerze części: łączny stan, dystrybutorzy, którzy je mają, najlepsza cena jednostkowa dla tej ilości oraz link do datasheetu. Części dostępne u większej liczby dystrybutorów są wypisywane pierwsze, a następnie sortowane po stanie; opcja --limit ogranicza liczbę pozycji na liście (domyślnie 15). Jeśli wypisana część jest już w bibliotece, tak się informuje.
add pobiera symbol i footprint z pliku .sym.toml lub .fp.toml, symbolu lub footprintu projektu (-p) lub z KiCad Library:Name; footprint domyślnie pochodzi od symbolu. Kopiuje model 3D footprintu (z katalogów modeli KiCad, z cache modeli lub z pobrania), wskazuje footprint na kopię i ustawia jego height z modelu, jeśli go nie ma, dzięki czemu część działa offline i nadal działa, gdy zmieni się instalacja KiCad lub pobranie od dostawcy. Gdy KiCad nie ma modelu o tej nazwie, bierze najbliższe ciało w tym samym folderze .3dshapes, ten sam obudowę z najbliższym odsłoniętym padem (lub zwykłe ciało footprintu _ThermalVias) i informuje o tym; widok 3D i models robią to samo. --model przyjmuje też pobranie od dostawcy, ZIP lub folder z .kicad_mod i modelem STEP lub VRML (SamacSys, SnapMagic i Ultra Librarian dostarczają takie): dopasowuje pady footprintu dostawcy do naszych po numerze, odmawia, gdy są dalej niż 0,1 mm, i zapisuje model_offset i model_rotate, które umieszczają model dostawcy na naszym footprint. Bez modelu z KiCad lub --model, add wyszukuje numer części w liście części JLCPCB/LCSC i bierze model EasyEDA, umieszczony w ten sam sposób przez pady footprintu EasyEDA po sprawdzeniu modelu względem obrysu tego footprint; files części zapisuje to jako EasyEDA C258169 (easyeda.com). add i refresh przechowują numer LCSC jako lcsc, a use przekazuje go jako pole lcsc części, które czyta bom-jlcpcb.csv. --no-distributors pomija oba wyszukiwania. Pobiera datasheet (URL lub PDF z --datasheet, inaczej URL symbolu, inaczej dystrybutorów), przypina go w cache datasheetów, aby datasheet purge go nie usuwało, i zapisuje zapasy i progi cenowe każdego wpisu. Notatki mówią, gdy żaden dystrybutor nie ma części w zapasie jako aktywnej. --local dodaje do biblioteki projektu.
use kopiuje symbol do symbols/, footprint do footprints/ i model do 3dmodels/ projektu; plik, który już istnieje i się różni, jest odrzucany bez --force. Zwraca polecenie agentee edit sch, które dodaje część z polami mpn, mfr i library. datasheet text JST-PH-2 czyta przypinaną kopię bez wywołania sieciowego.
refresh pyta każdego dystrybutora z kluczem raz o wszystkie numery części z biblioteki i zastępuje [[stock]] każdej części; dystrybutor, który zawiedzie, zachowuje swój ostatni wpis. list wypisuje najtańszy dostępny wpis z datą sprawdzenia, dzięki czemu zapasy i cena są znane bez wywołania API, na tę datę.
verify sprawdza każdą część: każdy pin symbolu ma pad, przypinany datasheet podaje numer części i obudowę (lub liczbę pinów), nazwy pinów symbolu pojawiają się w nim, obrys modelu mieści się w courtyard, otwory, szczeliny i pierścienie footprintu spełniają minima JLCPCB, a każdy plik nadal ma hash, z którym został dodany. Zwraca 1, gdy coś nie przejdzie.
check ostrzega (reguła library), gdy projekt używa części spoza biblioteki do roli, którą biblioteka posiada, podając nazwę części z biblioteki do użycia: tej z tą samą liczbą pinów, preferowanej pierwszej. Rola części to jej pole role, albo wynika z jej oznaczenia: J/P złącze (rf connector dla koaksjalnego, SMA i U.FL, usb connector, modular connector, card socket), R rezystor, C kondensator, L cewka, FB ferryt, D dioda lub led, Q tranzystor, Y kwarc, F bezpiecznik, SW przełącznik, BT bateria, K przekaźnik. Część jest w bibliotece, gdy jej pole mpn lub library podaje nazwę części z biblioteki, albo leży na footprint części generic. Ustaw pole library = "no" części, aby ją wykluczyć. library.toml w katalogu głównym biblioteki ustawia, jak mocno to egzekwuje:
check = "warning" # warning | info | off
# roles = ["connector"] # only these roles