Sekrety i zmienne środowiskowe bez wklejania kluczy na czat
Większość prawdziwych aplikacji potrzebuje co najmniej jednego sekretu: klucza dostawcy płatności, klucza usługi e-mail albo klucza do API AI. W Mythex nie wkleja się ich do promptu. Gdy agent potrzebuje klucza, pokazuje w czacie kartę żądania sekretu, wpisujesz wartość w tej karcie, a zapisuje się ona jako sekret projektu, który Twoja aplikacja może odczytać. Klucz nie trafia przy tym do rozmowy.
Co to daje
Każdy projekt Mythex może przechowywać zmienne środowiskowe: nazwane wartości, na przykład STRIPE_SECRET_KEY, które aplikacja odczytuje podczas działania zamiast mieć je zapisane w kodzie. Sekrety to zmienne środowiskowe, których wartości muszą pozostać prywatne.
Te same wartości są dostępne w dwóch miejscach:
- W sandboksie, gdzie agent buduje i uruchamia Twoją aplikację podczas pracy.
- We wdrożeniach publikowanych, z których korzystają odwiedzający.
Dodać je można na trzy sposoby:
- Kartą żądania sekretu, którą agent pokazuje w czacie, gdy potrzebuje klucza, żeby coś dokończyć.
- Ustawienia projektu → Sekrety, gdzie w każdej chwili dodasz lub zmienisz wartości.
/secretsw czacie, żeby dodać lub zaktualizować sekrety na życzenie.
Dlaczego to pomaga
Oczywisty sposób, by dać agentowi AI klucz, to wklejenie go do wiadomości. Działa, ale wtedy klucz staje się częścią historii czatu, leżąc w zwykłym tekście obok wszystkiego, co napisałeś.
Karta sekretu trzyma wartość poza transkrypcją. Wpisujesz ją w polach karty, a nie w polu wiadomości, i zapisuje się ona jako sekret projektu. Agent kontynuuje pracę z dostępnym kluczem w sandboksie.
Trzymanie kluczy w ustawieniach projektu, a nie w kodzie, ma też inne zalety:
- Klucze nie trafiają do kontroli wersji. Kod odwołuje się do klucza po nazwie, a wartość żyje w ustawieniach projektu.
- Agent i działająca aplikacja widzą tę samą konfigurację. Nie ma kopii, która się rozjeżdża.
- Klucz możesz wymienić bez przepisywania kodu. Zmieniasz wartość w ustawieniach, a kod nadal czyta ją po nazwie.
Jeśli zmienne środowiskowe są dla Ciebie nowe, nasz przewodnik czym są zmienne środowiskowe i sekrety wyjaśnia ten pomysł od podstaw.
Jak używać karty sekretu
- Poproś o funkcję — na przykład „wyślij wiadomość powitalną, gdy ktoś się zarejestruje”.
- Gdy agent potrzebuje klucza, w czacie pojawia się karta żądania sekretu z listą potrzebnej wartości.
- Wpisz wartość w polach karty, a nie w polu wiadomości.
- Potwierdź. Wartość zapisuje się jako sekret projektu.
- Agent kontynuuje, a klucz jest dostępny w sandboksie.
Jak dodać sekrety samodzielnie
- Otwórz ustawienia projektu, a potem Sekrety.
- Dodaj klucze, takie jak
STRIPE_SECRET_KEY,OPENAI_API_KEYalbo dane uwierzytelniające Twojej własnej usługi. - Poproś agenta, żeby odczytał je w standardowy dla Twojego frameworka sposób — na przykład z
process.envw aplikacji Node. - Opublikuj ponownie, jeśli opublikowana aplikacja potrzebuje nowych wartości.
W czacie możesz też wpisać /secrets, żeby dodać lub zaktualizować sekrety.
Zmiana sekretu w opublikowanej aplikacji
Opublikowana aplikacja odbiera sekrety w momencie publikacji. Po dodaniu lub zmianie któregoś z nich opublikuj ponownie, żeby działające wdrożenie dostało nową wartość. Do tego czasu odwiedzający korzystają z aplikacji ze starą konfiguracją.
Wskazówki dotyczące bezpieczeństwa
- Nigdy nie zapisuj sekretów w repozytorium. Trzymaj je w ustawieniach projektu.
- Do operacji uprzywilejowanych używaj kluczy dostępnych tylko po stronie serwera. Klucz, który może obciążać karty albo wysyłać e-maile, powinien być w kodzie działającym na serwerze, a nie w czymkolwiek, co przeglądarka odwiedzającego pobiera.
- Jeśli klucz kiedykolwiek pojawi się w historii czatu, wymień go. Utwórz nowy klucz u dostawcy, unieważnij stary i zaktualizuj wartość w ustawieniach projektu. Traktuj każdy klucz wklejony do czatu jako ujawniony.
Ograniczenia
- Karta pomaga tylko wtedy, gdy z niej korzystasz. Jeśli mimo to wkleisz klucz do pola wiadomości, trafi on do transkrypcji. Wymień go u dostawcy i zaktualizuj zapisaną wartość.
- Opublikowane aplikacje wymagają ponownej publikacji, żeby odebrać nowe lub zmienione sekrety.
- Bezpieczne przechowywanie klucza nie czyni bezpiecznym każdego jego użycia. Ważne jest też to, gdzie klucz jest używany — klucze uprzywilejowane trzymaj po stronie serwera aplikacji.
Więcej o zabezpieczaniu aplikacji przed udostępnieniem znajdziesz w naszej liście kontrolnej bezpieczeństwa dla aplikacji zbudowanych z AI.
Szczegóły znajdziesz w dokumentacji: Zmienne środowiskowe i sekrety oraz Sekrety w czacie.