Sohbete Anahtar Yapıştırmadan Sırlar ve Ortam Değişkenleri
Gerçek uygulamaların çoğunun en az bir sırrı vardır: bir ödeme sağlayıcısının anahtarı, bir e-posta servisinin anahtarı ya da bir yapay zeka API'sinin anahtarı. Mythex'te bunları bir komuta yapıştırmanız gerekmez. Agent bir anahtara ihtiyaç duyduğunda sohbette bir sır isteği kartı gösterir, değeri karta yazarsınız ve değer, uygulamanızın okuyabileceği bir proje sırrı olarak saklanır. Anahtar sohbete girmez.
Ne işe yarar?
Her Mythex projesi ortam değişkenleri saklayabilir: STRIPE_SECRET_KEY gibi adlandırılmış değerler. Uygulamanız çalışırken bu değerleri koda yazılmış halde değil, buradan okur. Sırlar, değerlerinin gizli kalması gereken ortam değişkenleridir.
Aynı değerler iki yerde kullanılabilir:
- Sandbox: Siz çalışırken agent'ın uygulamanızı derleyip çalıştırdığı ortam.
- Yayınlanmış uygulamalarınız: Ziyaretçilerin kullandığı ortam.
Değerleri eklemenin üç yolu vardır:
- Sır isteği kartı: Agent bir işi bitirmek için bir anahtara ihtiyaç duyduğunda sohbette gösterdiği kart.
- Proje ayarları → Sırlar: Değerleri istediğiniz zaman ekleyebilir veya düzenleyebileceğiniz yer.
- Sohbette
/secrets: Talep üzerine sır ekleyin veya güncelleyin.
Neden faydalı?
Bir yapay zeka agent'ına anahtar vermenin bariz yolu, anahtarı mesajınıza yapıştırmaktır. Bu çalışır, ama anahtar o zaman sohbet geçmişinizin parçası olur ve söylediğiniz her şeyin yanında düz metin olarak durur.
Sır kartı değeri dökümden uzak tutar. Değeri mesaj kutusuna değil, kartın alanlarına girersiniz ve değer bir proje sırrı olarak saklanır. Agent, anahtar sandbox'ta hazır olacak şekilde devam eder.
Anahtarları koda değil de proje ayarlarında tutmanın başka faydaları da var:
- Anahtarlar kaynak kontrolünün dışında kalır. Kodunuz bir anahtara adıyla başvurur; değer proje ayarlarında durur.
- Agent ve çalışan uygulamanız aynı yapılandırmayı görür. Eskiyip farklılaşan bir kopya yoktur.
- Kodu yeniden yazmadan anahtarı yenileyebilirsiniz. Ayarlarda değeri değiştirirsiniz; kod yine adıyla okur.
Ortam değişkenleri size yeniyse, ortam değişkenleri ve sırların ne olduğunu anlatan rehberimiz konuyu sıfırdan açıklar.
Sır kartı nasıl kullanılır?
- Özelliği isteyin: Örneğin, "biri kaydolduğunda hoş geldin e-postası gönder" deyin.
- Agent bir anahtara ihtiyaç duyduğunda, sohbette ihtiyaç duyulan değeri listeleyen bir sır isteği kartı belirir.
- Değeri mesaj kutusuna değil, kartın alanlarına girin.
- Onaylayın. Değer proje sırrı olarak saklanır.
- Agent devam eder. Anahtar sandbox'ta hazırdır.
Sırları kendiniz nasıl eklersiniz?
- Proje ayarlarını, ardından Sırlar'ı açın.
STRIPE_SECRET_KEY,OPENAI_API_KEYgibi anahtarları ya da kendi servisinizin kimlik bilgilerini ekleyin.- Agent'tan bunları çatınızın standart yöntemiyle okumasını isteyin. Örneğin bir Node uygulamasında
process.envüzerinden. - Yayınlanmış bir uygulamanın yeni değerlere ihtiyacı varsa yeniden yayınlayın.
Sırları sohbette /secrets yazarak da ekleyip güncelleyebilirsiniz.
Yayınlanmış bir uygulamada sırrı değiştirmek
Yayınlanmış bir uygulama sırları yayınlandığı anda alır. Bir sır ekleyip değiştirdikten sonra canlı kopyanın yeni değeri alması için yeniden yayınlayın. Bunu yapana kadar ziyaretçiler uygulamayı eski yapılandırmayla kullanmaya devam eder.
Güvenlik ipuçları
- Sırları asla depoya eklemeyin. Onları proje ayarlarında tutun.
- Ayrıcalıklı işlemler için yalnızca sunucu tarafı anahtarları tercih edin. Kart çekebilen ya da e-posta gönderebilen bir anahtar, ziyaretçinin tarayıcısının indirdiği hiçbir şeyde değil, sunucuda çalışan kodda olmalıdır.
- Bir anahtar hiçbir zaman sohbet geçmişinde görünürse, yenileyin. Sağlayıcıda yeni bir anahtar oluşturun, eskisini iptal edin ve proje ayarlarındaki değeri güncelleyin. Sohbete yapıştırılmış her anahtarı açığa çıkmış sayın.
Sınırlar
- Kart yalnızca kullanırsanız işe yarar. Anahtarı yine de mesaj kutusuna yapıştırırsanız, anahtar dökümde kalır. Sağlayıcıda yenileyin ve saklanan değeri güncelleyin.
- Yayınlanmış uygulamaların yeni ya da değişmiş sırları alması için yeniden yayınlanması gerekir.
- Bir anahtarı güvenle saklamak, onu her kullanımda güvenli yapmaz. Anahtarın nerede kullanıldığı hâlâ önemlidir. Ayrıcalıklı anahtarları uygulamanızın sunucu tarafında tutun.
Uygulamanızı paylaşmadan önce güvenliğini sağlamak için yapay zeka ile yapılmış uygulamalar için güvenlik kontrol listemize bakın.
Ayrıntılar dokümanlarda: Ortam değişkenleri ve sırlar ve Sohbette sırlar.