Tajne i varijable okruženja bez lijepljenja ključeva u chat
Većina pravih aplikacija treba bar jednu tajnu: ključ od servisa za plaćanje, ključ od servisa za e-poštu, ključ za AI API. U Mythexu te ključeve ne lijepite u poruku. Kada agent treba neki ključ, u chatu se pojavi kartica zahtjev za tajnu, vi upišete vrijednost u karticu i ona se sačuva kao tajna projekta koju vaša aplikacija može čitati, bez da ključ završi u razgovoru.
Šta to radi
Svaki Mythex projekat može čuvati varijable okruženja: imenovane vrijednosti, kao što je STRIPE_SECRET_KEY, koje aplikacija čita kada se pokrene umjesto da budu upisane u kod. Tajne su varijable okruženja čije vrijednosti moraju ostati privatne.
Iste vrijednosti dostupne su na dva mjesta:
- Sandbox, gdje agent gradi i pokreće vašu aplikaciju dok radite.
- Vaša objavljena izdanja, koja koriste posjetioci.
Dodati ih možete na tri načina:
- Karticom za zahtjev za tajnu, koju agent prikaže u chatu kada mu treba ključ da nešto završi.
- Postavke projekta → Tajne, gdje možete dodavati ili mijenjati vrijednosti kad god želite.
/secretsu chatu, za dodavanje ili ažuriranje tajni na zahtjev.
Zašto pomaže
Očigledan način da AI agentu date ključ jeste da ga nalijepite u poruku. To radi, ali ključ tada postaje dio istorije chata, u običnom tekstu, pored svega što ste napisali.
Kartica za tajne čuva vrijednost van transkripta. Vrijednost unosite u polja kartice, a ne u polje za poruku, i ona se čuva kao tajna projekta. Agent nastavlja rad s ključem dostupnim u sandboxu.
Čuvanje ključeva u postavkama projekta, a ne u kodu, ima i druge prednosti:
- Ključevi ostaju van kontrole verzija. Vaš kod se na ključ poziva po imenu, a vrijednost živi u postavkama projekta.
- Agent i vaša aplikacija koja radi 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 okruženja nove, naš vodič o tome šta su varijable okruženja i tajne objašnjava ideju od početka.
Kako koristiti karticu za tajne
- Zatražite funkciju, na primjer: „pošalji dobrodošlicu e-poštom kada se neko registruje“.
- Kada agent treba ključ, u chatu se pojavi kartica za zahtjev za tajnu s popisom vrijednosti koja treba.
- Unesite vrijednost u polja kartice, a ne u polje za poruku.
- Potvrdite. Vrijednost se čuva kao tajna projekta.
- Agent nastavlja, s ključem dostupnim u sandboxu.
Kako sami dodati tajne
- Otvorite postavke projekta, pa Tajne.
- Dodajte ključeve kao što su
STRIPE_SECRET_KEY,OPENAI_API_KEYili vaši vlastiti podaci za servis. - Zamolite agenta da ih čita na standardan način za vaš framework, na primjer iz
process.envu Node aplikaciji. - Ponovo objavite ako objavljena aplikacija treba nove vrijednosti.
Tajnu možete dodati ili promijeniti i tako što u chatu ukucate /secrets.
Promjena tajne u objavljenoj aplikaciji
Objavljena aplikacija preuzima tajne u trenutku objavljivanja. Kada dodate ili promijenite neku, ponovo objavite da bi živo izdanje dobilo novu vrijednost. Dok to ne uradite, posjetioci i dalje koriste aplikaciju sa starom konfiguracijom.
Sigurnosni savjeti
- Nikada ne commitujte tajne u repozitorij. Čuvajte ih u postavkama projekta.
- Za privilegovane operacije koristite ključeve koji važe samo na serveru. Ključ koji može naplaćivati kartice ili slati e-poštu pripada kodu koji radi na serveru, a ne nečemu što posjetiočev pregledač preuzima.
- Ako se ključ ikada pojavi u istoriji chata, zamijenite ga. Napravite novi ključ kod provajdera, opozovite stari i ažurirajte vrijednost u postavkama projekta. Svaki ključ koji je nalijepljen u chat smatrajte izloženim.
Ograničenja
- Kartica pomaže samo ako je koristite. Ako ipak nalijepite ključ u polje za poruku, on je u transkriptu. Zamijenite ga kod provajdera i ažurirajte sačuvanu vrijednost.
- Objavljenim aplikacijama treba ponovno objavljivanje da bi preuzele nove ili promijenjene tajne.
- Sigurno čuvanje ključa ne znači da je svaka upotreba sigurna. Mjesto gdje se ključ koristi i dalje je važno. Privilegovane ključeve držite na serverskoj strani aplikacije.
Više o zaštiti aplikacije prije nego što je podijelite pročitajte u našoj sigurnosnoj listi za aplikacije izrađene uz AI.
Detalji su u dokumentaciji: Varijable okruženja i tajne i Tajne u chatu.