====== Sketchy – interaktivní diagramy pro AI asistenty ====== //Vytvořeno: **3.11.2026** | Aktualizováno: **~~LASTMOD~~**// [[https://github.com/ddkbs/sketchy|Sketchy]] je open-source nástroj, který pomáhá AI asistentovi vytvářet interaktivní diagramy, nákresy elektronických zapojení a vizuální vysvětlení. Nabízí skill pro chat a samostatný MCP server pro coding prostředí. Hodí se například pro vysvětlení struktury repozitáře nebo pro nákres zapojení podle Arduino sketche. ===== Jak Sketchy funguje ===== Sketchy není samotný AI asistent. Rozdělení práce vypadá takto: - AI asistent přečte zadání a dostupné soubory. Určí, jaké prvky, propojení a popisky mají být na obrázku. - Sketchy dostane popis scény. Automaticky rozmístí její prvky, vede spojnice a obrázek vykreslí. - Uživatel ověří, že výsledný diagram odpovídá projektu nebo skutečnému zapojení. Asistent popisuje obsah diagramu, nikoli přesné souřadnice prvků. Sketchy se stará o rozložení a jednotný vzhled. Při následných úpravách může zachovat identifikátory prvků a jejich předchozí umístění, aby šly verze snadněji porovnat. V podporovaném prostředí lze nad prvky zobrazit podrobnosti, projít vysvětlení po krocích a výsledek exportovat do SVG nebo PNG. Některé možnosti závisí na použitém klientovi a způsobu instalace. ===== Skill a MCP server ===== Sketchy nabízí dva způsoby použití. Není nutné instalovat oba současně. ^ Varianta ^ Jak funguje ^ Typické použití ^ | Skill | Instrukce vedou asistenta k sestavení scény a vykreslení pomocí kódu Sketchy. | Diagramy přímo v podporovaném chatu. | | MCP server | Samostatný program poskytuje asistentovi nástroje pro sestavení diagramu a práci se součástkami. | Coding prostředí a práce s lokálním projektem. | [[https://github.com/ddkbs/sketchy/blob/main/skill/SKILL.md|Instrukce skillu]] používají v běžném chatu vloženou vizualizaci, která načte vykreslovací JavaScript. Popisují také náhradní postup pro vytvoření samostatné HTML stránky pomocí přiloženého skriptu a Node.js. Skill tedy není jen instrukce: používá i kreslicí kód Sketchy. MCP server je naproti tomu běžící program, který asistentovi nabízí nástroje. Pro interaktivní zobrazení v jiném MCP klientovi je potřeba podpora [[https://github.com/modelcontextprotocol/ext-apps|MCP Apps]]; samotná podpora MCP nemusí stačit. ===== Možnosti použití ===== ==== Arduino a ESP32 ==== Sketchy umí zobrazit desku, součástky a propojení pinů. Asistent může vycházet ze souboru ''.ino'' a hledat například použití ''pinMode'' nebo ''digitalWrite''. Grafické podoby součástek a jejich piny pocházejí z knihovny [[https://github.com/wokwi/wokwi-elements|Wokwi Elements]]. Podle dokumentace Sketchy nabízí 50 typů desek, senzorů, displejů a dalších prvků. Praktický postup pro existující projekt: - Zpřístupni asistentovi ''.ino'' soubor a případné další soubory s definicemi pinů. - Přidej dokumentaci projektu nebo vlastní seznam součástek a jejich zapojení. - Nech asistenta vytvořit diagram a vypsat údaje, které ze souborů nedokáže zjistit. - Výsledek porovnej se skutečným zařízením a dokumentací použitých modulů. Příklad zadání: Prozkoumej tento projekt a pomocí Sketchy nakresli zapojení mikrokontroléru a připojených součástek. U každého vodiče uveď označení pinu. Rozliš informace, které jsou přímo uvedené v kódu nebo dokumentaci, od toho, co ze souborů nelze zjistit. Nevymýšlej napájení ani hodnoty součástek. Nejasnosti vypiš pod obrázek. **Omezení:** Kód nemusí popisovat celé fyzické zapojení. Použitý pin sám o sobě nedokládá napájecí napětí, hodnotu rezistoru ani přítomnost dalších součástek. Sketchy není důkaz elektrické správnosti a nenahrazuje kontrolu parametrů desky a modulů. Nákres také není simulací obvodu ani návrhem desky plošných spojů. ==== Struktura softwarového projektu ==== Asistent může podle souborů repozitáře nakreslit moduly, adresáře a vztahy mezi nimi. V podporovaném prostředí lze kliknutím na blok otevřít odpovídající soubor v editoru. To pomáhá při seznamování s projektem nebo při návratu ke staršímu kódu. Projdi tento repozitář a nakresli jeho hlavní části. U každé uveď, za co odpovídá, a zobraz hlavní tok dat. Nevymýšlej vazby, které nedokážeš doložit v kódu. ==== Infrastruktura a služby ==== Sketchy lze použít pro vizualizaci služeb, sítí a toku požadavků. Například může zobrazit cestu od prohlížeče přes reverzní proxy k aplikaci a databázi. Jako podklad mohou sloužit konfigurační soubory nebo vlastní dokumentace. Podle těchto Docker Compose souborů nakresli služby, jejich propojení a vystavené porty. Odliš vazby doložené konfigurací od nejasností. Diagram vychází z dostupných podkladů. Nemusí zachytit skutečný stav běžící sítě, pravidla firewallu ani ruční změny mimo poskytnuté soubory. ==== Smart home a automatizace ==== Diagram může vysvětlit tok události od senzoru přes MQTT nebo Home Assistant k výsledné akci. Postupné zvýrazňování kroků se hodí pro pochopení spouštěče, podmínek a následných akcí. Projdi tuto automatizaci Home Assistantu. Nakresli spouštěč, podmínky a akce. Potom krok za krokem vysvětli, co se stane při detekci pohybu. ==== Vysvětlení a porovnání ==== Sketchy podporuje diagramy struktury, toků a srovnání. Hodí se například pro cestu webového požadavku, vysvětlení cache nebo porovnání TCP a UDP. U složitějšího procesu může asistent připravit posloupnost kroků a postupně zvýrazňovat příslušné prvky. Pro jiný přístup k tvorbě technických diagramů existuje také [[ai:generovani-obrazu:diagram-design|Diagram Design]], skill zaměřený na tvorbu diagramů jako HTML a SVG. ==== Popisování fotografií ==== Sketchy může použít fotografii z volně licencovaných zdrojů a označit na ní části nebo tištěný text. Dokumentace uvádí například označení konektorů na fotografii Raspberry Pi nebo částí desky Arduino. Původ a licence fotografie se zobrazují u obrázku. Popisování fotografie je jiná úloha než nákres zapojení: model hledá, **kde se položka nachází na fotografii**. Pro tento účel Sketchy používá samostatný lokální obrazový model. ===== Modely Small, Medium a Large ===== Varianty Small, Medium a Large označují obrazové modely založené na [[https://huggingface.co/microsoft/Florence-2-base-ft|Florence-2]], které hledají součástky a text na fotografii. Nejde o velikosti AI asistenta ani o modely potřebné pro běžné diagramy a nákresy zapojení. Model se stahuje odděleně při prvním použití této funkce. ^ Varianta ^ Přibližné stažení ^ Přibližná RAM ^ Zaměření podle autora ^ | Small | 280 MB | 1 GB | Tištěný text a výrazné součástky. | | Medium | 830 MB | 2,5 GB | Lepší lokalizace malých součástek. | | Large | 3,1 GB | 4,5 GB | Nejpřesnější varianta s vyššími nároky. | Podle [[https://github.com/ddkbs/sketchy/blob/main/src/photos/models.ts|definice modelů ve zdrojovém kódu]] používá Small menší variantu modelu ve formátu ''q8''. Medium a Large používají větší variantu; Medium ve formátu ''q8'' a Large v plné přesnosti ''fp32''. Údaje o velikosti jsou orientační; zdrojový kód uvádí měření na macOS s ARM procesorem. Pro první pokus s fotografiemi doporučuje autor Small. Zdrojový kód zároveň uvádí, že v desktopové aplikaci Claude nejsou Medium a Large kvůli omezení běhového prostředí dostupné; pro větší modely odkazuje na Claude Code v terminálu. ===== Instalace a připojení ===== ==== Skill pro chat ==== - Stáhni ''sketchy-skill-.zip'' ze [[https://github.com/ddkbs/sketchy/releases/latest|stránky posledního vydání]]. - V Claude otevři **Settings → Capabilities → Skills** a nahraj ZIP. - V chatu požádej o diagram nebo nahraj soubor s projektem a popiš, co má obrázek zobrazovat. Běžná varianta skillu načítá vykreslovací balíček z [[https://www.jsdelivr.com/|jsDelivr]] a podle autora průběžně získává opravy v rámci dané minor verze. Varianta ''pinned'' odkazuje na konkrétní commit a kontroluje integritu načteného souboru; pro aktualizaci je potřeba nahrát nový ZIP. ==== Claude desktop ==== Pro záložku **Code** autor nabízí balíček ''.mcpb'' na stránce vydání. Po otevření balíčku nebo jeho přidání přes **Settings → Extensions** lze rozšíření potvrdit a případně nastavit editor a datový adresář. Podle dokumentace záložka **Chat** nezobrazuje interaktivní výstupy z lokálních rozšíření. Pro běžný chat se proto používá skill. Dostupnost instalačních balíčků je potřeba ověřit pro konkrétní operační systém a architekturu. ==== Claude Code v terminálu ==== Pro sestavení projektu je podle autora potřeba Node.js 20 nebo novější. Následující postup zaregistruje server pro uživatele, tedy pro použití ve více projektech: git clone https://github.com/ddkbs/sketchy.git cd sketchy npm install npm run build claude mcp add sketchy --scope user -- node "$PWD/dist/index.js" claude mcp list Adresář s repozitářem musí zůstat na místě, protože registrace odkazuje na sestavený soubor ''dist/index.js''. Před připojením cizího MCP serveru je vhodné zkontrolovat jeho kód a oprávnění: běží jako lokální program pod účtem uživatele. ==== Ostatní MCP klienti ==== Autor uvádí konfiguraci pro klienta s podporou MCP Apps. Cestu je potřeba nahradit skutečným umístěním sestaveného serveru: { "mcpServers": { "sketchy": { "command": "node", "args": ["/path/to/sketchy/dist/index.js"], "env": { "SKETCHY_EDITOR": "cursor" } } } } Samotné připojení serveru ještě neověřuje, že klient umí jeho interaktivní výstup zobrazit. Instalace ani zobrazení v konkrétním prostředí Alpine Linux / ARM64 zde nebyly prakticky ověřeny. ===== Nastavení ===== ^ Proměnná ^ Výchozí hodnota ^ Účel ^ | ''SKETCHY_EDITOR'' | ''vscode'' | Editor pro odkazy na soubory; dokumentace uvádí také Cursor, Windsurf, VS Code Insiders a Zed. | | ''SKETCHY_PHOTOS'' | ''on'' | Hodnota ''off'' vypne vyhledávání a popisování fotografií. | | ''SKETCHY_DATA_DIR'' | ''~/.sketchy'' | Adresář modelů, uložených fotografií a lokální databáze. | | ''SKETCHY_EXPORT_DIR'' | ''~/Downloads'' | Výchozí adresář pro exporty. | | ''SKETCHY_FORMAT'' | ''compact'' | Hodnota ''json'' obnoví JSON podobu nástrojů. | Přesný způsob nastavení proměnných závisí na použitém MCP klientovi. Lokální zpracování fotografie modelem samo o sobě neznamená, že celý workflow asistenta nebo vyhledání fotografie probíhá bez síťové komunikace. ===== Zdroje ===== * [[https://github.com/ddkbs/sketchy|Sketchy – repozitář a dokumentace]] * [[https://github.com/ddkbs/sketchy/blob/main/skill/SKILL.md|Sketchy – instrukce skillu]] * [[https://github.com/ddkbs/sketchy/blob/main/src/photos/models.ts|Sketchy – definice obrazových modelů]] * [[https://github.com/ddkbs/sketchy/releases/latest|Sketchy – poslední vydání]] * [[https://github.com/wokwi/wokwi-elements|Wokwi Elements – knihovna elektronických součástek]] * [[https://huggingface.co/microsoft/Florence-2-base-ft|Florence-2 – obrazový model]] * [[https://github.com/modelcontextprotocol/ext-apps|MCP Apps – interaktivní aplikace pro MCP]] * [[https://www.jsdelivr.com/|jsDelivr – distribuce vykreslovacího balíčku]]