Vytvořte si vlastní addon¶
Všechno, co vidíte na stránce Addony, je služba, která platformě sdělila, co umí. Můžete si takovou napsat také — a připojit ji ke své instanci bez naší asistence.
Kdy se to vyplatí¶
Vlastní addon dává smysl tam, kde už nestačí běžná API integrace:
- Váš systém, vaše pravidla. Logika zůstává ve vašem kódu — dotaz do ERP, skórovací model, cenotvorba — a návrhář flow dostane jeden čistý uzel místo pěti integračních kroků.
- Znovupoužitelné stavební bloky. Stejný modul nasadíte na každou instanci, kterou provozujete, a aktualizujete ho centrálně.
- Vlastní obrazovka s nastavením. Přihlašovací údaje, mapování nebo přepínače funkcí, které si nastaví zákazník sám, ve vámi navrženém UI vloženém do administrace instance.
- Data, která nesmí opustit vaši infrastrukturu. Addon běží na vašich serverech, platforma ho jen volá.
Addon je obyčejná HTTP služba. Popíše se v manifestu a platforma ho volá v průběhu konverzace bota se zákazníkem.
Začněte od šablony¶
Startovací šablona je veřejná a pod licencí MIT:
github.com/Daktela/daktela-ai-addon-template
Je to funkční addon s ukázkovými moduly, ukázkovou integrací, dynamickým seznamem, volitelnou konfigurační stránkou, testy, Docker images a kompletní příručkou pro vývojáře ve složce docs/.
Sestavit ji lze dvěma způsoby:
basic |
full |
|
|---|---|---|
| Moduly, integrace, dynamické seznamy | ✔ | ✔ |
| Vlastní konfigurační stránka (React) | — | ✔ |
| Vyžaduje Node.js k sestavení | ne | ano |
Začněte s basic, pokud zákazník nemá co nastavovat.
Naklonujte a spusťte — stačí Python 3.13+ a uv:
git clone https://github.com/Daktela/daktela-ai-addon-template.git
cd daktela-ai-addon-template
uv sync --all-extras
uv run uvicorn server.main:app --reload
Služba teď běží na http://localhost:8000 a na http://localhost:8000/manifest uvidíte, co nabízí.
Chcete to rovnou rozjet tak, jak se to nasazuje? docker compose -f docker/compose.yaml up --build addon sestaví a spustí full image na portu 8000, addon-basic totéž pro image jen s moduly na portu 8001. Smyčka úprava–restart je pomalejší než uvicorn --reload, ale je to přesně ta image, kterou pak nasadíte.
Warning
Při vývoji vám tunelovací služba (ngrok, Cloudflare Tunnel, Tailscale Funnel a podobné) zpřístupní lokální port na veřejné URL, aby se k němu vaše instance dostala. Jsou to ale výhradně vývojářské nástroje. Produkční addon musí běžet na serveru se stabilní veřejnou URL — instance ho volá při každé konverzaci, takže notebook za tunelem nepřipadá v úvahu. Obě Docker images jsou na to připravené, detaily najdete v docs/13-deployment.md v repozitáři.
Zaregistrujte addon do instance¶
Otevřete Addony a klikněte na Přidat addon.

Vyplňte základní URL addonu a případně autentizační hlavičku, kterou addon očekává. Klikněte na Otestovat — platforma si stáhne manifest a řekne vám, jestli se jí ho podařilo přečíst, takže to zjistíte ještě před uložením. Pak klikněte na Uložit.

Info
Na snímku je lokální adresa, protože vznikl při vývoji přes tunel. V produkci zadejte skutečnou veřejnou URL addonu.
Addon teď má na stránce Addony svou kartu. Klikněte na Aktivovat. Addon bez konfigurační stránky se aktivuje rovnou, addon s konfigurační stránkou obvykle vyžaduje nejdřív vyplnit nastavení.

Kdykoli změníte manifest addonu — nový modul, nový vstup, nová verze — klikněte na Synchronizovat addony, aby se změna propsala.
Ověřte, že to funguje¶
Otevřete Dialogy, upravte flow a najděte své moduly ve výběru modulů, seskupené pod názvem, který jste uvedli v manifestu. Vložte jeden do flow, připojte výstupní porty a spusťte testovací konverzaci tlačítkem Test v horní liště.
Pak otevřete interakci v Diskusích a podívejte se na její eventy. Každé spuštění modulu tam zapíše event se zdrojem ve tvaru <modul>::<kód addonu>, se zprávou, kterou modul vrátil, a s dobou trvání — právě podle toho poznáte rozdíl mezi „addon se vůbec nezavolal" a „addon se zavolal a odpověděl tohle".

Nechte addon napsat LLM¶
Šablona je navržená tak, abyste ji předali programovacímu asistentovi (Claude Code, Cursor, Copilot a podobně) spolu se svým zadáním. Nejdřív repozitář naklonujte, otevřete ho v asistentovi a použijte prompty v tomto duchu.
1 — Připravte kostru addonu pro vaši doménu
Naklonoval jsem šablonu addonu pro Daktela AI. Přečti si
README.mdadocs/01-quickstart.md, abys pochopil strukturu projektu, a pak ho uprav pro naši firmu.Addon se jmenuje <název> a pracuje s <systém, který integrujete — např. naším skladovým systémem>. Nastav identitu addonu v
server/identity.py(code, name, description, author, ikona, barva).Odstraň ukázkové moduly, které nepotřebuji, a udrž projekt spustitelný a testy zelené. Popiš, co jsi změnil a jak službu nastartovat.
2 — Přidejte modul, který volá vaše API
Podle vzoru v
server/modules/catalog/exchange_rate.pya návodu vdocs/07-calling-external-apis.mdpřidej nový modul <název modulu>.Má volat
GET https://api.example.com/orders/{order_id}s bearer tokenem, kdeorder_idje vstupní atribut, který vyplní návrhář flow.Dej mu tři výstupní porty — úspěch, nenalezeno a chyba — plus atribut timeout napojený na timeout port. Stav objednávky zapiš do kontextu konverzace, aby s ním mohl pracovat další uzel, a zapiš debug event se surovou odpovědí. Doplň unit testy ve stejném stylu jako ty stávající.
3 — Přidejte stránku s nastavením pro přihlašovací údaje
Přepni tento addon na profil
fulla přidej konfigurační stránku, kde operátor zadá základní URL API a API token — podledocs/10-configuration-page.mdadocs/11-persistence.md.Hodnoty ulož přes stávající settings store, čti je v mých modulech místo napevno zadaných konstant a zajisti, aby se addon hlásil jako nenakonfigurovaný, dokud nejsou obě hodnoty vyplněné.
4 — Připravte addon do produkce
Projdi tento addon proti
docs/13-deployment.md. Sestav obě Docker images, zkontroluj, že se do buildu nedostal žádný secret, a řekni mi, co ještě musím udělat, než tohle pustím na veřejné URL pro zákazníka.
Tip
Odkazujte asistenta na příručku přímo v šabloně, místo abyste mu platformu popisovali. Složka docs/ v repozitáři pokrývá moduly, výstupní porty, integrace, dynamické seznamy, streamované odpovědi, persistenci, testování i nasazení — a právě ona udrží vygenerovaný kód na správné koleji.
Čtěte dále¶
- Příručka pro vývojáře přímo v šabloně:
docs/v repozitáři - Přehled addonů
- API Integrace — jednodušší varianta, když potřebujete zavolat jen jeden endpoint