Tajne i varijable okoline bez lijepljenja ključeva u chat
Većini stvarnih aplikacija treba barem jedna tajna vrijednost: ključ davatelja plaćanja, ključ servisa za e-poštu ili ključ za AI API. U Mythexu te ključeve ne lijepite u upit. Kad agentu treba ključ, u chatu se prikaže kartica zahtjev za tajnu, vi upišete vrijednost u karticu i ona se spremi kao tajna projekta koju vaša aplikacija može čitati, bez da ključ završi u razgovoru.
Što to radi
Svaki Mythex projekt može spremati varijable okoline: imenovane vrijednosti, poput STRIPE_SECRET_KEY, koje vaša aplikacija čita pri pokretanju umjesto da su zapisane u kodu. Tajne su varijable okoline čije vrijednosti moraju ostati privatne.
Iste vrijednosti dostupne su na dva mjesta:
- Sandbox, u kojem agent gradi i pokreće vašu aplikaciju dok radite.
- Vaše objavljene inačice, koje koriste posjetitelji.
Postoje tri načina da ih dodate:
- Kartica zahtjeva za tajnu, koju agent prikaže u chatu kad mu za dovršetak nečega treba ključ.
- Postavke projekta → Secrets, gdje možete dodavati ili uređivati vrijednosti u bilo kojem trenutku.
/secretsu chatu, za dodavanje ili ažuriranje tajni na zahtjev.
Zašto to pomaže
Očigledan način da agentu date ključ jest da ga zalijepite u poruku. To radi, ali tada ključ postaje dio povijesti chata, u običnom tekstu, uz sve ostalo što ste napisali.
Kartica za tajne drži vrijednost izvan transkripta. Unosite je u polja kartice, a ne u okvir za poruke, i ona se sprema kao tajna projekta. Agent nastavlja s dostupnim ključem u sandboxu.
Čuvanje ključeva u postavkama projekta, a ne u kodu, ima i druge prednosti:
- Ključevi ostaju izvan izvornog koda. Vaš kod se na ključ poziva po imenu; vrijednost živi u postavkama projekta.
- Agent i vaša pokrenuta aplikacija vide istu konfiguraciju. Nema kopije koja zastari.
- Ključ možete zamijeniti bez prepisivanja koda. Promijenite vrijednost u postavkama; kod je i dalje čita po imenu.
Ako su vam varijable okoline nove, naš vodič o tome što su varijable okoline i tajne objašnjava ideju od početka.
Kako koristiti karticu za tajne
- Zatražite funkcionalnost, na primjer: „pošalji dobrodošlu e-poruku kad se netko registrira”.
- Kad agentu zatreba ključ, u chatu se pojavi kartica zahtjeva za tajnu s popisom vrijednosti koja mu treba.
- Unesite vrijednost u polja kartice, a ne u okvir za poruke.
- Potvrdite. Vrijednost se sprema kao tajna projekta.
- Agent nastavlja s ključem dostupnim u sandboxu.
Kako sami dodati tajne
- Otvorite postavke projekta, zatim Secrets.
- Dodajte ključeve poput
STRIPE_SECRET_KEY,OPENAI_API_KEYili vlastite vjerodajnice servisa. - Zamolite agenta da ih čita na standardan način za vaš okvir, na primjer iz
process.envu Node aplikaciji. - Ponovno objavite ako objavljena aplikacija treba nove vrijednosti.
Tajne možete dodati ili ažurirati i tako da u chatu upišete /secrets.
Promjena tajne u objavljenoj aplikaciji
Objavljena aplikacija preuzima tajne u trenutku objave. Nakon što dodate ili promijenite tajnu, ponovno objavite kako bi živa inačica dobila novu vrijednost. Dok to ne napravite, posjetitelji i dalje koriste aplikaciju sa starom konfiguracijom.
Sigurnosni savjeti
- Nikad ne spremajte tajne u repozitorij. Držite ih u postavkama projekta.
- Za privilegirane operacije koristite ključeve samo za poslužitelj. Ključ koji može naplatiti kartice ili slati e-poštu pripada kodu koji se izvršava na poslužitelju, a ne ničemu što preglednik posjetitelja preuzima.
- Ako se ključ ikad pojavi u povijesti chata, zamijenite ga. Napravite novi ključ kod davatelja, opozovite stari i ažurirajte vrijednost u postavkama projekta. Svaki ključ zalijepljen u chat smatrajte izloženim.
Ograničenja
- Kartica pomaže samo ako je koristite. Ako ipak zalijepite ključ u okvir za poruke, on je u transkriptu. Zamijenite ga kod davatelja i ažurirajte spremljenu vrijednost.
- Objavljene aplikacije trebaju ponovnu objavu da bi preuzele nove ili promijenjene tajne.
- Sigurno spremanje ključa ne čini svaku njegovu upotrebu sigurnom. Važno je i gdje se ključ koristi; privilegirane ključeve držite na poslužiteljskoj strani aplikacije.
Za više o zaštiti aplikacije prije dijeljenja pogledajte naš sigurnosni kontrolni popis za aplikacije izrađene uz AI.
Dokumentacija ima detalje: Environment variables and secrets i Secrets in chat.