Secrets နှင့် Environment Variables — Chat ထဲ Key မကူးထည့်ဘဲ
အက်ပ်အစစ်အများစုသည် secret အနည်းဆုံး တစ်ခု လိုအပ်သည်: ငွေပေးချေမှု provider ၏ key၊ အီးမေးလ် service ၏ key၊ AI API key စသည်တို့ ဖြစ်သည်။ Mythex တွင် ထိုကဲ့သို့ key များကို prompt ထဲ ကူးထည့်ရန် မလိုပါ။ Agent က လိုအပ်လာသောအခါ chat ထဲတွင် secrets request card ကို ပြသည်။ သင်က တန်ဖိုးကို card ထဲတွင် ရိုက်ထည့်ပြီး ၎င်းကို project secret အဖြစ် သိမ်းဆည်းသည်။ သင့်အက်ပ်က ထိုတန်ဖိုးကို ဖတ်နိုင်ပြီး key သည် စကားဝိုင်းထဲ ရောက်မသွားပါ။
ဘာလုပ်ပေးသလဲ
Mythex project တိုင်းတွင် environment variables များ သိမ်းနိုင်သည်: STRIPE_SECRET_KEY ကဲ့သို့ အမည်ပေးထားသော တန်ဖိုးများဖြစ်ပြီး အက်ပ် run ချိန်တွင် ဖတ်သုံးသည်။ ကုဒ်ထဲ ရေးထည့်ထားခြင်း မဟုတ်ပါ။ Secrets ဆိုသည်မှာ တန်ဖိုးကို လျှို့ဝှက်ထားရမည့် environment variables ဖြစ်သည်။
တန်ဖိုးတူတူကို နေရာနှစ်ခုတွင် ရနိုင်သည်:
- Sandbox: သင် အလုပ်လုပ်နေချိန်တွင် agent က အက်ပ်ကို တည်ဆောက်ပြီး run သည့်နေရာ။
- Publish လုပ်ထားသော deployment များ: ဧည့်သည်များ အသုံးပြုသည့်နေရာ။
ထည့်ရန် နည်းလမ်း သုံးမျိုးရှိသည်:
- Secrets request card: Agent က တစ်ခုခု ပြီးဆုံးရန် key လိုအပ်သောအခါ chat တွင် ပြသည်။
- Project settings → Secrets: အချိန်မရွေး တန်ဖိုးများ ထည့်ခြင်း သို့မဟုတ် ပြင်ခြင်း လုပ်နိုင်သည်။
- Chat ထဲ
/secrets: တောင်းဆိုသည့်အတိုင်း secrets ထည့်ခြင်း သို့မဟုတ် အပ်ဒိတ်လုပ်ခြင်း။
ဘာကြောင့် အသုံးဝင်သလဲ
AI agent အား key ပေးရန် ရိုးရှင်းသော နည်းမှာ message ထဲ ကူးထည့်ခြင်း ဖြစ်သည်။ အလုပ်လုပ်သော်လည်း key သည် chat history ၏ အစိတ်အပိုင်း ဖြစ်လာပြီး သင်ပြောခဲ့သမျှနှင့်အတူ စာသားပုံစံဖြင့် ကျန်ရစ်သည်။
Secrets card က တန်ဖိုးကို transcript အပြင်တွင် ထားပေးသည်။ Message box ထဲမဟုတ်ဘဲ card ၏ field များတွင် ရိုက်ထည့်ပြီး project secret အဖြစ် သိမ်းဆည်းသည်။ Agent သည် sandbox တွင် key ရရှိထားသဖြင့် ဆက်လက် အလုပ်လုပ်သည်။
Key များကို ကုဒ်ထဲမထားဘဲ project settings တွင် ထားခြင်း၏ အခြားအကျိုးကျေးဇူးများ:
- Key များသည် source control ထဲ မဝင်ပါ။ သင့်ကုဒ်က key ကို အမည်ဖြင့်သာ ရည်ညွှန်းပြီး တန်ဖိုးက project settings တွင် ရှိသည်။
- Agent နှင့် run နေသော အက်ပ်သည် configuration တူတူကို မြင်သည်။ ရက်စွဲဟောင်း မိတ္တူ ကွဲလွဲမှု မရှိပါ။
- ကုဒ်မပြင်ဘဲ key ကို ပြောင်းနိုင်သည်။ Settings တွင် တန်ဖိုးကို ပြောင်းရုံဖြင့် ကုဒ်က အမည်ဖြင့် ဆက်ဖတ်သည်။
Environment variables ကို ပထမဆုံး ကြားဖူးခြင်း ဖြစ်လျှင် environment variables နှင့် secrets ဆိုသည်မှာ ဘာလဲ လမ်းညွှန်တွင် အယူအဆကို အစကတည်းက ရှင်းပြထားသည်။
Secrets card ကို သုံးနည်း
- Feature ကို တောင်းဆိုပါ: ဥပမာ "လူတစ်ယောက် signup လုပ်သည့်အခါ ကြိုဆိုအီးမေးလ် ပို့ပါ" ဟု ရေးပါ။
- Agent က key လိုအပ်သောအခါ, လိုအပ်သော တန်ဖိုးကို စာရင်းပြသည့် secrets request card တစ်ခု chat တွင် ပေါ်လာသည်။
- တန်ဖိုးကို card ၏ field များတွင် ရိုက်ထည့်ပါ၊ message box တွင် မဟုတ်ပါ။
- အတည်ပြုပါ။ တန်ဖိုးကို project secret အဖြစ် သိမ်းဆည်းသည်။
- Agent ဆက်လုပ်သည်၊ key ကို sandbox တွင် ရရှိထားပြီးဖြစ်သည်။
Secrets ကို ကိုယ်တိုင် ထည့်နည်း
- Project settings ကို ဖွင့်ပြီး Secrets ကို ရွေးပါ။
STRIPE_SECRET_KEY၊OPENAI_API_KEYသို့မဟုတ် သင့် service ၏ credentials ကဲ့သို့ key များကို ထည့်ပါ။- သင့် framework အတွက် စံနည်းဖြင့် ဖတ်ရန် agent ကို ပြောပါ။ ဥပမာ Node app ဆိုလျှင်
process.envမှ ဖတ်ခြင်း ဖြစ်သည်။ - Publish လုပ်ထားသော အက်ပ်သည် တန်ဖိုးအသစ်များ လိုအပ်လျှင် ပြန် publish လုပ်ပါ။
Chat ထဲတွင် /secrets ကို ရိုက်ပြီးလည်း ထည့်ခြင်း သို့မဟုတ် အပ်ဒိတ်လုပ်ခြင်း လုပ်နိုင်သည်။
Publish လုပ်ထားသော အက်ပ်တွင် secret ပြောင်းခြင်း
Publish လုပ်ထားသော အက်ပ်သည် publish လုပ်ချိန်တွင် secrets ကို ယူသည်။ တစ်ခုကို ထည့်ခြင်း သို့မဟုတ် ပြောင်းခြင်း လုပ်ပြီးလျှင် ထပ်မံ publish လုပ်ပါ ထို့ကြောင့် live deployment တွင် တန်ဖိုးအသစ် ရောက်မည်။ ထိုအချိန်အထိ ဧည့်သည်များသည် ဟောင်းသော configuration ဖြင့် အက်ပ်ကို အသုံးပြုနေဆဲ ဖြစ်သည်။
လုံခြုံရေး အကြံပြုချက်များ
- Secrets ကို repository ထဲ ဘယ်တော့မှ commit မလုပ်ပါနှင့်။ Project settings တွင်သာ ထားပါ။
- အရေးကြီးသော လုပ်ဆောင်ချက်များအတွက် server-only key များကို ဦးစားပေးပါ။ ကတ်ငွေချေနိုင်သော သို့မဟုတ် အီးမေးလ် ပို့နိုင်သော key သည် ဧည့်သည်၏ browser ဒေါင်းလုဒ်လုပ်သည့် အရာတွင် မဟုတ်ဘဲ server ပေါ်တွင် run သော ကုဒ်ထဲတွင် ရှိရမည်။
- Key တစ်ခု chat history ထဲ ရောက်သွားလျှင် ပြောင်းပါ (rotate)။ Provider တွင် key အသစ် ဖန်တီးပါ၊ ဟောင်းကို ပိတ်ပါ၊ ထို့နောက် project settings ရှိ တန်ဖိုးကို အပ်ဒိတ်လုပ်ပါ။ Chat ထဲ ကူးထည့်ခဲ့သော key မှန်သမျှကို ပေါ်ထွက်ခဲ့သည်ဟု ယူဆပါ။
ကန့်သတ်ချက်များ
- Card သည် သုံးမှသာ အကျိုးရှိသည်။ Message box ထဲ key ကို ကူးထည့်ခဲ့လျှင် transcript ထဲ ရောက်နေမည်။ Provider တွင် ပြောင်းပြီး သိမ်းထားသော တန်ဖိုးကို အပ်ဒိတ်လုပ်ပါ။
- Publish လုပ်ထားသော အက်ပ်များသည် secrets အသစ် သို့မဟုတ် ပြောင်းလဲမှုများကို ယူရန် ပြန် publish လုပ်ရမည်။
- Key ကို လုံခြုံစွာ သိမ်းထားခြင်းသည် အသုံးပြုပုံအားလုံး လုံခြုံသည်ဟု မဆိုလိုပါ။ Key ကို ဘယ်နေရာတွင် သုံးသည်မှာ အရေးကြီးသေးသည်။ အရေးကြီးသော key များကို အက်ပ်၏ server ဘက်တွင်သာ ထားပါ။
အက်ပ်ကို မျှဝေမည့်အခါ လုံခြုံအောင် ပြင်ဆင်ရန် AI ဖြင့် တည်ဆောက်ထားသော အက်ပ်များအတွက် လုံခြုံရေး စစ်ဆေးစာရင်း ကို ကြည့်ပါ။
စာရွက်စာတမ်းများတွင် အသေးစိတ်ရှိသည်: Environment variables နှင့် secrets နှင့် Chat ထဲ secrets။