چیٹ میں keys paste کیے بغیر Secrets اور Environment Variables
زیادہ تر حقیقی ایپس کو کم از کم ایک secret درکار ہوتا ہے: کسی payment provider کی key، کسی email service کی key، یا AI API کی key۔ Mythex میں آپ انہیں prompt میں paste نہیں کرتے۔ جب agent کو کسی کی ضرورت ہوتی ہے تو وہ چیٹ میں ایک secrets request کارڈ دکھاتا ہے، آپ کارڈ میں ویلیو ٹائپ کرتے ہیں، اور وہ ایک project secret کے طور پر محفوظ ہو جاتی ہے جسے آپ کی ایپ پڑھ سکتی ہے، اور key گفتگو تک پہنچے بغیر۔
یہ کیا کرتا ہے
ہر Mythex project میں environment variables محفوظ ہو سکتے ہیں: نامزد ویلیوز، جیسے STRIPE_SECRET_KEY، جنہیں آپ کی ایپ چلنے پر پڑھتی ہے، بجائے اس کے کہ وہ کوڈ میں لکھی ہوں۔ Secrets وہ environment variables ہیں جن کی ویلیوز نجی رہنی چاہئیں۔
یہی ویلیوز دو جگہوں پر دستیاب ہیں:
- Sandbox، جہاں agent آپ کے کام کرتے وقت آپ کی ایپ بناتا اور چلاتا ہے۔
- آپ کی published deployments، جہاں visitors ایپ استعمال کرتے ہیں۔
انہیں شامل کرنے کے تین طریقے ہیں:
- Secrets request کارڈ، جسے agent کسی کام کو مکمل کرنے کے لیے key درکار ہونے پر چیٹ میں دکھاتا ہے۔
- Project settings ← Secrets، جہاں آپ کسی بھی وقت ویلیوز شامل یا تبدیل کر سکتے ہیں۔
- چیٹ میں
/secrets، جس سے درخواست پر secrets شامل یا اپ ڈیٹ ہوتے ہیں۔
یہ کیوں مددگار ہے
AI agent کو key دینے کا سیدھا طریقہ یہ ہے کہ اسے اپنے پیغام میں paste کر دیا جائے۔ یہ کام کرتا ہے، لیکن پھر key آپ کی چیٹ ہسٹری کا حصہ بن جاتی ہے، اور آپ کی باقی باتوں کے ساتھ سادہ متن میں پڑی رہتی ہے۔
Secrets کارڈ key کو transcript سے باہر رکھتا ہے۔ آپ اسے کارڈ کے fields میں درج کرتے ہیں، message box میں نہیں، اور وہ ایک project secret کے طور پر محفوظ ہو جاتی ہے۔ Agent sandbox میں key دستیاب ہونے کے ساتھ کام جاری رکھتا ہے۔
کوڈ کے بجائے project settings میں keys رکھنے کے دوسرے فائدے بھی ہیں:
- Keys source control سے باہر رہتی ہیں۔ آپ کا کوڈ key کو نام سے حوالہ دیتا ہے؛ ویلیو project settings میں رہتی ہے۔
- Agent اور آپ کی چلتی ہوئی ایپ ایک ہی configuration دیکھتی ہیں۔ کوئی ایسی نقل نہیں جو پرانی ہو جائے۔
- آپ کوڈ دوبارہ لکھے بغیر key rotate کر سکتے ہیں۔ Settings میں ویلیو بدلیں؛ کوڈ اب بھی اسے نام سے پڑھتا ہے۔
اگر environment variables آپ کے لیے نئے ہیں تو ہماری گائیڈ environment variables اور secrets کیا ہیں اس خیال کو شروع سے سمجھاتی ہے۔
Secrets کارڈ کیسے استعمال کریں
- فیچر مانگیں، مثلاً “جب کوئی sign up کرے تو welcome email بھیجو”۔
- جب agent کو key چاہیے ہو، تو چیٹ میں ایک secrets request کارڈ ظاہر ہوتا ہے، جس میں وہ ویلیو درج ہوتی ہے جس کی اسے ضرورت ہے۔
- ویلیو کارڈ کے fields میں درج کریں، message box میں نہیں۔
- تصدیق کریں۔ ویلیو ایک project secret کے طور پر محفوظ ہو جاتی ہے۔
- Agent جاری رکھتا ہے، key sandbox میں دستیاب ہونے کے ساتھ۔
Secrets خود کیسے شامل کریں
- Project settings کھولیں، پھر Secrets۔
STRIPE_SECRET_KEY،OPENAI_API_KEY، یا اپنی سروس کی credentials جیسی keys شامل کریں۔- Agent سے کہیں کہ انہیں اپنے framework کے معیاری طریقے سے پڑھے، مثلاً Node ایپ میں
process.envسے۔ - اگر published ایپ کو نئی ویلیوز چاہئیں تو دوبارہ publish کریں۔
آپ چیٹ میں /secrets ٹائپ کر کے بھی انہیں شامل یا اپ ڈیٹ کر سکتے ہیں۔
Published ایپ پر secret بدلنا
Published ایپ secrets publish ہونے کے وقت لیتی ہے۔ کوئی secret شامل یا تبدیل کرنے کے بعد دوبارہ publish کریں تاکہ live deployment کو نئی ویلیو ملے۔ اس سے پہلے visitors پرانی configuration کے ساتھ ایپ استعمال کر رہے ہوں گے۔
سیکیورٹی کے مشورے
- Secrets کو repository میں کبھی commit نہ کریں۔ انہیں project settings میں رکھیں۔
- privileged کاموں کے لیے صرف server کی keys کو ترجیح دیں۔ وہ key جو cards چارج کر سکتی ہے یا email بھیج سکتی ہے، server پر چلنے والے کوڈ میں ہونی چاہیے، کسی ایسی چیز میں نہیں جو visitor کا browser ڈاؤن لوڈ کرے۔
- اگر کوئی key کبھی چیٹ ہسٹری میں آ جائے تو اسے rotate کریں۔ Provider پر نئی key بنائیں، پرانی revoke کریں، اور project settings میں ویلیو اپ ڈیٹ کریں۔ چیٹ میں paste ہونے والی ہر key کو exposed سمجھیں۔
حدود
- کارڈ تبھی مددگار ہے جب آپ اسے استعمال کریں۔ اگر آپ key پھر بھی message box میں paste کر دیں تو وہ transcript میں آ جاتی ہے۔ Provider پر اسے rotate کریں اور محفوظ ویلیو اپ ڈیٹ کریں۔
- Published ایپس کو نئی یا تبدیل شدہ secrets لینے کے لیے دوبارہ publish کرنا ہوگا۔
- کسی key کو محفوظ طریقے سے رکھنے کا مطلب یہ نہیں کہ اس کا ہر استعمال محفوظ ہے۔ Key کہاں استعمال ہوتی ہے یہ اب بھی اہم ہے۔ privileged keys کو اپنی ایپ کے server والے حصے میں رکھیں۔
شیئر کرنے سے پہلے ایپ کو محفوظ بنانے کے بارے میں مزید جاننے کے لیے AI سے بنی ایپس کے لیے سیکیورٹی چیک لسٹ دیکھیں۔
تفصیلات docs میں ہیں: Environment variables اور secrets اور چیٹ میں Secrets۔