Skip to content
j
Jan Dunder
2026Abuco ICT · interní

Autonomní agent nad Teamworkem

Agent, který si vezme otázku z projektového řízení, přečte skutečný repozitář a odpoví rovnou v úkolu.

0
npm závislostí
2
oddělené procesy
~819
řádků kódu
TEXT ÚKOLU · NEDŮVĚRYHODNÝPROCES 1 · BROKERDrží klíčepoolí Teamwork · klonuje GitLabAPI tokenypřihlašovací údaje žijí jen tadyHRANICE DŮVĚRYtajné hodnoty neprojdouPROCES 2 · AGENTSpouští modelClaude Code · prostředí od nulynástroje jen pro čtenítoken nikdy neuvidíizolace dvou procesů · threat model prompt injection · 0 závislostí
/ 01

Problém

Spousta toho, na co se v projektovém řízení ptáme, je ve skutečnosti otázka na kód — je tohle už hotové, kde to žije, měnili jsme to. Odpovědět znamená, že někdo přeruší práci, naklonuje repozitář, který třeba ani nezná, a jde hledat.

/ 02

Co to dělá

Poolí self-hosted Teamwork v Abucu na úkoly přiřazené jemu nebo komentáře, kde je zmíněný, naklonuje odpovídající GitLab repozitář, spustí nad tím checkoutem Claude Code CLI a odpověď pošle zpátky jako komentář k úkolu. Node.js 22 ESM, zhruba 819 řádků, v kontejneru pod neprivilegovaným uživatelem — s nulou npm závislostí, což byl záměrný limit, ne chlubení.

/ 03

Část, na které mi vážně záleží

Text úkolu je nedůvěryhodný vstup. Kdokoli může do úkolu napsat komentář, který agent přečte — takže tohle je threat model prompt injection, ať už to tak pojmenuješ, nebo ne. Odpovědí v návrhu je rozdělení důvěry mezi dva procesy: ten, který mluví s Teamworkem a GitLabem, drží přihlašovací údaje, a proces s modelem má prostředí postavené od nuly, takže je nikdy neuvidí. Nástroje jsou omezené na čtení a cesty, kde by mohly být tajné hodnoty, jsou zablokované. Agenta jde ukecat, aby řekl něco špatně; nejde ho ukecat, aby vydal token nebo něco pushnul.

/ 04

Kde to stojí

Upřímně: prototyp. Poslal aspoň jednu skutečnou odpověď do produkčního Teamworku a zatím není v gitu. Dávám ho sem proto, že zajímavá je na tom ta bezpečnostní část — a je to věc, kterou bych nejradši probral osobně.

Stack
Node.jsClaude CodeBezpečnostAutomatizace
j
Jan Dunder

Píšu produkční systémy v PHP/Symfony a Reactu s TypeScriptem — platební infrastrukturu pro 100+ obcí, platformu pro kybernetickou compliance, které dělám technického leada, a autonomní agenty, kteří běží nad reálnými repozitáři. Ing. z FIT ČVUT, obor Webové inženýrství.

Navigace
ÚvodProjektyŽivotopisO mně
Jinde
LinkedIn ↗GitHub ↗terminál
Kontakt
dunder.jan@gmail.comPraha, ČR
© 2026 Jan DunderVyrobeno v Praze · s Claude Code