
Šta je urađeno
Asistent koji stoji uz svaki ekran CacaTajka poslovnog web sistema i odgovara na pitanja o radu u aplikaciji. Ono što ga izdvaja nije to što razgovara sa jezičkim modelom, nego šta može da stoji iza njega: pored uobičajene veze sa OpenAI-jem, isti panel može da pokrene i pravog agenta iz komandne linije — Codex ili Cursor — koji se izvršava u Docker kontejneru na WSL-u ili Linux serveru.
Za korisnika se pritom ništa ne menja. Koji se pogon koristi, bira se u podešavanjima organizacije.
Šta klijent dobija
- Pomoć na mestu gde se radi – panel stoji uz svaki ekran, bez prelaska na drugu stranicu i bez posebne obuke.
- Odgovore iz sopstvene dokumentacije, a ne opšte odgovore sa interneta. Kada odgovora u dokumentaciji nema, asistent to kaže umesto da izmišlja.
- Istoriju razgovora koja se čuva, nastavlja i može da se preuzme kao dokument.
- Nezavisnost od jednog dobavljača – kada neki agent poskupi, izgubi kvalitet ili se ugasi, menja se pogon, a ne aplikacija.
Podaci ostaju pod kontrolom korisnika
Asistent ne čita ekran sam od sebe. Svaki ekran može da ponudi polja koja bi mu koristila, korisnik ih bira kvačicama, i pre slanja vidi tačan sadržaj koji odlazi. Ništa ne odlazi prećutno.
Na serverskoj strani prosleđeni sadržaj se tretira kao podatak, a nikada kao naredba — što je zaštita od pokušaja da se kroz tekst na ekranu asistentu podmetne nova instrukcija. Istorija se vodi odvojeno po organizaciji i po korisniku.
Zašto je kontejner deo rešenja, a ne sitnica
Agent iz komandne linije ume da čita datoteke i pokreće komande. Da bi radio bez čoveka koji svaku radnju potvrđuje, mora da bude ograničen nečim drugim — i tu ulogu ima kontejner. Agent vidi samo svoje okruženje, dokumentaciju i radni prostor tog razgovora; datoteke aplikacije, baza i ostatak servera nisu mu dostupni.
Uz to svaki razgovor dobija svoj odvojen prostor, a svako pokretanje ostaje zabeleženo, sa trajanjem i ishodom, pa se posle može utvrditi šta se i kada dešavalo.
Koji agenti mogu da stoje iza panela
Pokretač ne zna ništa o pojedinom agentu: postavi mu zadatak, pokrene ga u kontejneru i pročita odgovor. Zato može da opsluži svaki agent koji se pakuje u kontejner i ume da radi neinteraktivno.
U radu su OpenAI Responses API, Codex CLI i Cursor Agent — implementirani, testirani i u upotrebi.
U planu su Claude Code, Gemini CLI, GitHub Copilot CLI, Amazon Q Developer CLI, Goose, Aider, opencode i Crush. Svi rade po istom principu, pa se za svakog dodaje samo njegovo okruženje — ostalo je zajedničko i ne piše se ponovo.
Deo posla koji se ne vidi
Uz samu vezu razvijena su i okruženja u koja se agenti pakuju: prijava se radi jednom i ne završava u kodu, ažuriranje na noviju verziju agenta ide noću i samo od sebe, uz mogućnost povratka na prethodnu, a posle svake izmene okruženja provera odmah pokaže da li agent uopšte odgovara.
Tu je bilo i najviše iznenađenja: pokretanje ovakvih alata u kontejneru na Windows domaćinu nailazi na ograničenja koja u dokumentaciji ne stoje i za koja je rešenje moralo da se nađe u hodu.
Isto rešenje i van ove aplikacije
Panel je jedan JavaScript modul bez zavisnosti od okvira, a serverski deo jedna ulazna tačka koja prima pitanje i vraća odgovor. Zbog te podele isti asistent može da se prikači na drugi sajt, na program koji se instalira ili na posao koji radi u pozadini, bez ponovnog pisanja veze ka agentu.
Korišćene tehnologije
Rešenje je razvijeno u PHP-u (CodeIgniter 4) i JavaScript-u, uz OpenAI Responses API, Codex i Cursor CLI agente, Docker na WSL-u i Linux-u, MySQL za istoriju razgovora i evidenciju, i Bootstrap za izgled panela.
Ako vam ovakva veza treba u sopstvenom softveru, pogledajte uslugu integracija veštačke inteligencije, a za samu vezu sa tuđim servisom API integracije.
Ostavite odgovor