Hemmeligheter og miljøvariabler uten å lime inn nøkler i chatten
De fleste ekte apper trenger minst én hemmelighet: en nøkkel fra en betalingsleverandør, en nøkkel for en e-posttjeneste, en nøkkel for et AI-API. På Mythex limer du ikke disse inn i en prompt. Når agenten trenger en, viser den et kort for hemmelighetsforespørsler i chatten, du skriver verdien inn i kortet, og den lagres som en prosjekthemmelighet som appen din kan lese, uten at nøkkelen havner i samtalen.
Hva det gjør
Hvert Mythex-prosjekt kan lagre miljøvariabler: navngitte verdier, for eksempel STRIPE_SECRET_KEY, som appen din leser når den kjører, i stedet for å ha dem skrevet inn i koden. Hemmeligheter er miljøvariabler hvis verdier må holdes private.
De samme verdiene er tilgjengelige de to stedene:
- Sandkassen, der agenten bygger og kjører appen din mens du jobber.
- De publiserte distribusjonene dine, der besøkende bruker den.
Det finnes tre måter å legge dem til på:
- Kortet for hemmelighetsforespørsel, som agenten viser i chatten når den trenger en nøkkel for å fullføre noe.
- Prosjektinnstillinger → Hemmeligheter, der du kan legge til eller redigere verdier når som helst.
/secretsi chatten, for å legge til eller oppdatere hemmeligheter på forespørsel.
Hvorfor det hjelper
Den åpenbare måten å gi en AI-agent en nøkkel på er å lime den inn i meldingen din. Det fungerer, men nøkkelen blir da en del av chatloggen din, liggende i klartekst ved siden av alt annet du har skrevet.
Kortet holder verdien utenfor samtalen. Du skriver den inn i kortets felt, ikke i meldingsboksen, og den lagres som en prosjekthemmelighet. Agenten fortsetter med nøkkelen tilgjengelig i sandkassen.
Å holde nøkler i prosjektinnstillingene i stedet for i koden har også andre fordeler:
- Nøkler holdes utenfor kildekontrollen. Koden din refererer til en nøkkel med navn, og verdien ligger i prosjektinnstillingene.
- Agenten og den kjørende appen din ser den samme konfigurasjonen. Ingen kopi som blir utdatert.
- Du kan bytte en nøkkel uten å skrive om kode. Endre verdien i innstillingene, og koden leser den fortsatt med samme navn.
Hvis miljøvariabler er nytt for deg, forklarer vår guide om hva miljøvariabler og hemmeligheter er ideen fra grunnen av.
Slik bruker du kortet for hemmelighetsforespørsel
- Be om funksjonen, for eksempel «send en velkomst-e-post når noen registrerer seg».
- Når agenten trenger en nøkkel, dukker et kort for hemmelighetsforespørsel opp i chatten, med verdien den trenger.
- Skriv inn verdien i kortets felt, ikke i meldingsboksen.
- Bekreft. Verdien lagres som en prosjekthemmelighet.
- Agenten fortsetter, med nøkkelen tilgjengelig i sandkassen.
Slik legger du til hemmeligheter selv
- Åpne prosjektinnstillinger, og deretter Hemmeligheter.
- Legg til nøkler som
STRIPE_SECRET_KEY,OPENAI_API_KEY, eller dine egne tjenesters legitimasjon. - Be agenten lese dem på standardmåten for rammeverket ditt, for eksempel fra
process.envi en Node-app. - Publiser på nytt hvis en publisert app trenger de nye verdiene.
Du kan også skrive /secrets i chatten for å legge til eller oppdatere dem der.
Endre en hemmelighet på en publisert app
En publisert app henter hemmeligheter når den publiseres. Etter at du har lagt til eller endret en, må du publisere på nytt slik at den live distribusjonen får den nye verdien. Inntil da bruker besøkende appen med den gamle konfigurasjonen.
Sikkerhetstips
- Legg aldri hemmeligheter inn i repositoriet. Behold dem i prosjektinnstillingene.
- Bruk helst nøkler som kun er for server til privilegerte operasjoner. En nøkkel som kan belaste kort eller sende e-post, hører hjemme i kode som kjører på serveren, ikke i noe en besøkendes nettleser laster ned.
- Hvis en nøkkel noen gang havner i chatloggen, bytt den. Lag en ny nøkkel hos leverandøren, trekk tilbake den gamle, og oppdater verdien i prosjektinnstillingene. Behandle enhver nøkkel som er limt inn i en chat som eksponert.
Begrensninger
- Kortet hjelper bare hvis du bruker det. Hvis du likevel limer en nøkkel inn i meldingsboksen, havner den i loggen. Bytt den hos leverandøren, og oppdater den lagrede verdien.
- Publiserte apper må publiseres på nytt for å ta i bruk nye eller endrede hemmeligheter.
- Å lagre en nøkkel trygt gjør ikke all bruk av den trygg. Hvor nøkkelen brukes, betyr fortsatt noe. Hold privilegerte nøkler på serversiden av appen din.
For mer om å holde en app trygg før du deler den, se vår sikkerhetssjekkliste for apper bygget med AI.
Dokumentasjonen har detaljene: Miljøvariabler og hemmeligheter og Hemmeligheter i chat.