Secrets & Environment Variables
จัดการ API keys และ environment variables สำหรับ Convex backend ของคุณ
คลิกปุ่ม Settings ในแถบเครื่องมือของ builder เพื่อเปิดหน้าต่าง Settings ซึ่งประกอบด้วยสามส่วนหลัก:
| ส่วน | ใช้สำหรับ |
|---|---|
| General | ชื่อโปรเจกต์และ knowledge base |
| SEO & sharing | ตั้งค่าชื่อไซต์ คำอธิบาย และ favicon |
| Secrets | Environment variables สำหรับ Convex backend ของคุณ |
จะเพิ่ม secret ได้อย่างไร?
หัวข้อที่มีชื่อว่า “จะเพิ่ม secret ได้อย่างไร?”- คลิกปุ่ม Settings ในแถบเครื่องมือของ builder
- เปิดแท็บ Secrets
- ใส่ชื่อ (เช่น
STRIPE_SECRET_KEY) และค่าของมัน - คลิก Add
จะใช้ secrets ในแอปได้อย่างไร?
หัวข้อที่มีชื่อว่า “จะใช้ secrets ในแอปได้อย่างไร?”Secrets จะถูก sync ไปยัง Convex backend ของแอปคุณ อ้างอิงใช้งานได้ใน Convex action/mutation/query โดยใช้ process.env.SECRET_NAME โดย secrets จะไม่สามารถเข้าถึงได้จาก frontend code หรือในรูปแบบ pod-level environment variables เพื่อป้องกันไม่ให้ secrets รั่วไหลเข้าไปใน browser bundle
AI จะนำ secrets ของคุณมาใช้โดยอัตโนมัติเมื่อสร้างฟีเจอร์ต่าง ๆ:
"Accept payments with Stripe"→ ใช้STRIPE_SECRET_KEYของคุณ"Send emails with Resend"→ ใช้RESEND_API_KEYของคุณ"Add Google OAuth"→ ใช้GOOGLE_CLIENT_IDและGOOGLE_CLIENT_SECRETของคุณ
Secrets สามารถเข้าถึงได้เฉพาะใน Convex backend functions (actions และ mutations) เท่านั้น ไม่สามารถใช้ใน frontend React code ได้ AI จะสร้าง Convex functions ที่อ่านค่าเหล่านี้ผ่าน process.env
สามารถดู/แก้ไข secret หลังจากสร้างแล้วได้ไหม?
หัวข้อที่มีชื่อว่า “สามารถดู/แก้ไข secret หลังจากสร้างแล้วได้ไหม?”ค่าของ secrets จะถูกซ่อนไว้เป็นค่าเริ่มต้น คุณสามารถสลับการแสดงผลเพื่อดูค่า อัปเดต หรือลบแล้วสร้างใหม่ได้
AI มองเห็น secrets ของฉันได้ไหม?
หัวข้อที่มีชื่อว่า “AI มองเห็น secrets ของฉันได้ไหม?”AI สามารถมองเห็นชื่อ secrets ของคุณได้ แต่ไม่เห็นค่าของมัน ซึ่งช่วยให้ AI อ้างอิง environment variable ที่ถูกต้องเมื่อสร้างฟีเจอร์ โดยไม่เปิดเผยข้อมูลที่ละเอียดอ่อน
การตรวจจับ Key ที่ละเอียดอ่อน
หัวข้อที่มีชื่อว่า “การตรวจจับ Key ที่ละเอียดอ่อน”Proyecta จะตรวจจับรูปแบบ key ที่ละเอียดอ่อนทั่วไป (API keys, tokens, passwords) โดยอัตโนมัติ และซ่อนค่าเหล่านั้นใน UI
Metadata ของไซต์
หัวข้อที่มีชื่อว่า “Metadata ของไซต์”ส่วน SEO & sharing ให้คุณตั้งค่าสิ่งต่อไปนี้:
- Site title — แสดงในแท็บเบราว์เซอร์และผลการค้นหา
- Site description — ใช้สำหรับ SEO meta descriptions
- Favicon — ไอคอนที่แสดงในแท็บเบราว์เซอร์
การตั้งค่าเหล่านี้จะถูกบันทึกไว้ในโปรเจกต์ของคุณและนำไปใช้เมื่อคุณ publish
Knowledge Base
หัวข้อที่มีชื่อว่า “Knowledge Base”ส่วน Knowledge Base ให้คุณเพิ่มเอกสารอ้างอิงและ context ที่ AI ใช้ในการสร้างแอปของคุณ ไม่ว่าจะเป็น brand guidelines, ข้อกำหนดทางเทคนิค หรือเอกสารอื่น ๆ ที่ช่วยให้ AI ตัดสินใจได้ดีขึ้น
คำถามที่พบบ่อย
หัวข้อที่มีชื่อว่า “คำถามที่พบบ่อย”Secrets ถูกเข้ารหัสไว้ไหม?
Secrets จะถูกเก็บไว้ในโปรเจกต์ของคุณและ sync ไปยัง Convex deployment โดยจะไม่ปรากฏใน committed code ของคุณเลย
สามารถมี secrets ที่แตกต่างกันสำหรับ dev และ production ได้ไหม?
ในขณะนี้ secrets จะใช้กับทั้ง development runtime และ Convex deployment ที่ publish แล้ว (production) การจัดการ secrets แบบแยกตาม environment มีแผนจะรองรับในรุ่นถัดไป
ถ้าฉันเปิดเผย secret โดยไม่ตั้งใจควรทำอย่างไร?
ให้ลบ secret เก่าทันที ยกเลิก key กับผู้ให้บริการภายนอก แล้วสร้างใหม่
ความแตกต่างระหว่าง secrets และ connectors คืออะไร?
Secrets คือ environment variables แบบ raw ที่คุณจัดการเอง ส่วน Connectors คือ managed integrations ที่ Proyecta ดูแลการเก็บ credentials, การ authenticate, การ refresh token และ audit logging ให้คุณ ควรใช้ connectors เมื่อมีให้บริการ (Stripe, Slack, Resend, ElevenLabs) และใช้ secrets สำหรับบริการที่ยังไม่มี connector รองรับ