ข้ามไปยังเนื้อหา

Secrets & Environment Variables

จัดการ API keys และ environment variables สำหรับ Convex backend ของคุณ

คลิกปุ่ม Settings ในแถบเครื่องมือของ builder เพื่อเปิดหน้าต่าง Settings ซึ่งประกอบด้วยสามส่วนหลัก:

ส่วนใช้สำหรับ
Generalชื่อโปรเจกต์และ knowledge base
SEO & sharingตั้งค่าชื่อไซต์ คำอธิบาย และ favicon
SecretsEnvironment variables สำหรับ Convex backend ของคุณ
  1. คลิกปุ่ม Settings ในแถบเครื่องมือของ builder
  2. เปิดแท็บ Secrets
  3. ใส่ชื่อ (เช่น STRIPE_SECRET_KEY) และค่าของมัน
  4. คลิก Add

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

ค่าของ secrets จะถูกซ่อนไว้เป็นค่าเริ่มต้น คุณสามารถสลับการแสดงผลเพื่อดูค่า อัปเดต หรือลบแล้วสร้างใหม่ได้

AI สามารถมองเห็นชื่อ secrets ของคุณได้ แต่ไม่เห็นค่าของมัน ซึ่งช่วยให้ AI อ้างอิง environment variable ที่ถูกต้องเมื่อสร้างฟีเจอร์ โดยไม่เปิดเผยข้อมูลที่ละเอียดอ่อน

Proyecta จะตรวจจับรูปแบบ key ที่ละเอียดอ่อนทั่วไป (API keys, tokens, passwords) โดยอัตโนมัติ และซ่อนค่าเหล่านั้นใน UI

ส่วน SEO & sharing ให้คุณตั้งค่าสิ่งต่อไปนี้:

  • Site title — แสดงในแท็บเบราว์เซอร์และผลการค้นหา
  • Site description — ใช้สำหรับ SEO meta descriptions
  • Favicon — ไอคอนที่แสดงในแท็บเบราว์เซอร์

การตั้งค่าเหล่านี้จะถูกบันทึกไว้ในโปรเจกต์ของคุณและนำไปใช้เมื่อคุณ publish

ส่วน 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 รองรับ