Tajne i promenljive okruženja bez lepljenja ključeva u chat
Većini pravih aplikacija treba bar jedna tajna: ključ provajdera za plaćanje, ključ servisa za e-poštu, ključ za AI API. Na Mythexu te ključeve ne lepite u prompt. Kad agentu zatreba jedan, u chatu se pojavi kartica zahtev za tajnu, vi upišete vrednost u karticu, i ona se čuva kao tajna projekta koju vaša aplikacija može da čita, bez da ključ završi u razgovoru.
Šta to radi
Svaki Mythex projekat može da čuva promenljive okruženja: imenovane vrednosti, kao što je STRIPE_SECRET_KEY, koje vaša aplikacija čita kad se pokrene, umesto da budu upisane u kod. Tajne su promenljive okruženja čije vrednosti moraju ostati privatne.
Iste vrednosti su dostupne na dva mesta:
- Sandbox, gde agent pravi i pokreće vašu aplikaciju dok radite.
- Vaše objavljene verzije, koje koriste posetioci.
Postoje tri načina da ih dodate:
- Kartica zahteva za tajnu, koju agent prikazuje u chatu kad mu za nešto treba ključ da bi završio posao.
- Podešavanja projekta → Tajne, gde možete da dodajete ili menjate vrednosti bilo kad.
/secretsu chatu, za dodavanje ili ažuriranje tajni na zahtev.
Zašto pomaže
Najočigledniji način da AI agentu date ključ jeste da ga nalepite u poruku. To radi, ali ključ tada postaje deo istorije chata, u običnom tekstu, pored svega što ste rekli.
Kartica sa tajnom drži vrednost van transkripta. Unosite je u polja kartice, a ne u polje za poruku, i ona se čuva kao tajna projekta. Agent nastavlja sa ključem dostupnim u sandboxu.
Čuvanje ključeva u podešavanjima projekta, a ne u kodu, ima i druge prednosti:
- Ključevi ostaju van kontrole verzija. Vaš kod se na ključ poziva po imenu, a vrednost je u podešavanjima projekta.
- Agent i vaša pokrenuta aplikacija vide istu konfiguraciju. Nema kopije koja zastari.
- Ključ možete da zamenite bez prepisivanja koda. Promenite vrednost u podešavanjima, a kod je i dalje čita po imenu.
Ako su vam promenljive okruženja nove, naš vodič šta su promenljive okruženja i tajne objašnjava tu ideju od početka.
Kako da koristite karticu za tajnu
- Zatražite funkciju, na primer: „pošalji dobrodošlicu e-poštom kad se neko prijavi”.
- Kad agentu zatreba ključ, u chatu se pojavi kartica zahteva za tajnu, sa vrednošću koja mu je potrebna.
- Unesite vrednost u polja kartice, a ne u polje za poruku.
- Potvrdite. Vrednost se čuva kao tajna projekta.
- Agent nastavlja, sa ključem dostupnim u sandboxu.
Kako sami da dodate tajne
- Otvorite podešavanja projekta, pa Tajne.
- Dodajte ključeve kao što su
STRIPE_SECRET_KEY,OPENAI_API_KEYili sopstveni akreditivi servisa. - Zamolite agenta da ih čita na standardan način za vaš framework, na primer iz
process.envu Node aplikaciji. - Objavite ponovo ako objavljenoj aplikaciji trebaju nove vrednosti.
Možete i da ukucate /secrets u chatu da ih dodate ili ažurirate tamo.
Menjanje tajne na objavljenoj aplikaciji
Objavljena aplikacija preuzima tajne u trenutku objave. Kad dodate ili promenite jednu, objavite ponovo da živa verzija dobije novu vrednost. Dok to ne uradite, posetioci i dalje koriste aplikaciju sa starom konfiguracijom.
Saveti za bezbednost
- Nikad ne commit-ujte tajne u repozitorijum. Čuvajte ih u podešavanjima projekta.
- Za privilegovane operacije koristite ključeve samo na serveru. Ključ koji može da naplaćuje kartice ili šalje e-poštu pripada kodu koji radi na serveru, a ne bilo čemu što posetiočev pregledač preuzima.
- Ako se ključ ikad pojavi u istoriji chata, zamenite ga. Napravite novi ključ kod provajdera, opozovite stari i ažurirajte vrednost u podešavanjima projekta. Svaki ključ nalepljen u chat smatrajte izloženim.
Ograničenja
- Kartica pomaže samo ako je koristite. Ako ipak nalepite ključ u polje za poruku, on je u transkriptu. Zamenite ga kod provajdera i ažurirajte sačuvanu vrednost.
- Objavljenim aplikacijama treba ponovna objava da bi preuzele nove ili promenjene tajne.
- Bezbedno čuvanje ključa ne znači da je svaka upotreba bezbedna. Bitno je i gde se ključ koristi, pa privilegovane ključeve držite na serverskoj strani aplikacije.
Za više o tome kako da aplikaciju učinite bezbednom pre deljenja, pogledajte naš bezbednosni kontrolni spisak za aplikacije napravljene uz AI.
Dokumentacija ima detalje: Promenljive okruženja i tajne i Tajne u chatu.