การเชื่อมต่อฐานข้อมูล

ให้เอเจนต์ของคุณคิวรีฐานข้อมูลได้,
อ่านอย่างเดียวจนกว่าคุณจะบอกเป็นอย่างอื่น

AgentsRoom จัดการการเชื่อมต่อ MySQL, PostgreSQL, SQL Server, MongoDB, SQLite และ Google BigQuery ของคุณ และให้เอเจนต์เขียนโค้ด AI มีช่องทางรันคิวรีกับมัน อ่านอย่างเดียวโดยค่าเริ่มต้น ทีละหนึ่งคำสั่ง และรหัสผ่านถูกเก็บให้พ้นมือ

เอเจนต์ที่อ่านแถวข้อมูลจริงได้จะเลิกเดาเรื่องข้อมูลของคุณ เอเจนต์ที่เขียนทับมันไม่ได้จะเลิกเป็นความเสี่ยงที่คุณต้องคอยคุมทีละบรรทัด

ไคลเอนต์ฐานข้อมูล
อ่านอย่างเดียว
AgentsRoom
SELECT id, email, plan FROM users LIMIT 50
DELETE FROM users WHERE id = 42
ถูกบล็อก : การเชื่อมต่อเป็นแบบอ่านอย่างเดียว
อุโมงค์ SSHbastion.acme.dev
ซับเน็ตส่วนตัว
ชุดผลลัพธ์ที่ถูกจำกัดจำนวน
ผ่านการเชื่อมต่อที่คุณบันทึกไว้
หนึ่งคำสั่งต่อหนึ่งการเรียกรหัสผ่านไม่เคยออกจากแอป

วิธีที่ AgentsRoom เข้าถึงฐานข้อมูลในซับเน็ตส่วนตัวและตอบคิวรีแบบอ่านอย่างเดียวจากเอเจนต์ AI

เอเจนต์เขียนโค้ด AI ที่มองไม่เห็นข้อมูลของคุณจะเขียนโค้ดตามสคีมาที่มันจินตนาการขึ้นเอง มันคิดคอลัมน์ขึ้นมาใหม่ สมมติว่า enum มีสามค่าทั้งที่จริงมีเจ็ด และอธิบายบั๊กด้วยทฤษฎีแทนที่จะเป็นแถวข้อมูลจริง การให้การเชื่อมต่อฐานข้อมูลกับมันแก้เรื่องนี้ได้ และมันก็เป็นวิธีที่เร็วที่สุดในการเปลี่ยนเอเจนต์ที่มีประโยชน์ให้กลายเป็นเหตุการณ์ร้ายเช่นกัน AgentsRoom ถูกสร้างขึ้นรอบ ๆ ความตึงเครียดนี้

คุณบันทึกการเชื่อมต่อไว้ในแอปแบบเดียวกับที่ทำในไคลเอนต์ฐานข้อมูลตัวไหนก็ได้ : เอนจิน, โฮสต์, พอร์ต, ผู้ใช้, ฐานข้อมูล และ TLS เมื่อเซิร์ฟเวอร์ต้องการ ถ้าฐานข้อมูลเข้าถึงจากอินเทอร์เน็ตเปิดไม่ได้ การเชื่อมต่อจะถูกส่งผ่านอุโมงค์ SSH หรือเซสชันฟอร์เวิร์ดพอร์ตของ AWS SSM โดยใช้การเชื่อมต่อ SSH และ SSM ที่คุณบันทึกไว้ใน AgentsRoom อยู่แล้ว นั่นคือวิธีที่ฐานข้อมูลซึ่งนั่งอยู่ในซับเน็ตส่วนตัวกลายเป็นสิ่งที่คุณคิวรีได้ โดยไม่ต้องเปิดมันสู่โลกภายนอก

ทุกการเชื่อมต่อเริ่มต้นแบบอ่านอย่างเดียว SELECT รันได้ คำสั่งที่จะแก้ไขข้อมูลรันไม่ได้ จนกว่าคุณจะทำให้การเชื่อมต่อนั้นเขียนได้และยืนยันการดำเนินการเสียก่อน ระบบรับเพียงหนึ่งคำสั่งต่อหนึ่งการเรียก จึงไม่มีอะไรแอบซ่อนอยู่หลังเซมิโคลอน และชุดผลลัพธ์ถูกจำกัดจำนวน คิวรีที่กว้างเกินไปจึงท่วมเอเจนต์หรือหน้าต่างไม่ได้ การเชื่อมต่อยังถูกทำเครื่องหมายเป็นโปรดักชันได้ ซึ่งทำให้การยืนยันเกิดขึ้นโดยบังเอิญได้ยากขึ้น

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

ไคลเอนต์ฐานข้อมูลที่ตั้งสมมติฐานว่าเอเจนต์เป็นคนขับ

MySQL, PostgreSQL, SQL Server, MongoDB, SQLite และ Google BigQuery โดยเอนจินเซิร์ฟเวอร์เข้าถึงได้ในเครือข่ายส่วนตัว พร้อมการ์ดเรลที่เปิดไว้โดยค่าเริ่มต้น

การเชื่อมต่อ MySQL, PostgreSQL, SQL Server และ MongoDB

บันทึกการเชื่อมต่อหนึ่งชุดต่อหนึ่งฐานข้อมูล : โฮสต์, พอร์ต, ผู้ใช้, ฐานข้อมูลที่จะเปิด และ TLS เมื่อเซิร์ฟเวอร์ต้องการ ฐานข้อมูลในเครื่อง, ตัว staging และ replica ของโปรดักชันอยู่ในรายการเดียวกัน พร้อมให้เลือกแทนที่จะต้องพิมพ์ใหม่

เข้าถึงฐานข้อมูลส่วนตัว

ฐานข้อมูลในซับเน็ตส่วนตัวไม่ใช่กรณีพิเศษ ส่งการเชื่อมต่อผ่านอุโมงค์ SSH หรือเซสชันฟอร์เวิร์ดพอร์ตของ AWS SSM แล้ว AgentsRoom จะเปิดมันให้คุณ โดยใช้การเชื่อมต่อ SSH และ SSM ที่คุณบันทึกไว้ในแอปอยู่แล้ว อินสแตนซ์ Google Cloud SQL เข้าถึงได้ด้วยชื่อการเชื่อมต่อผ่าน Cloud SQL Auth Proxy โดยใช้การล็อกอิน gcloud ของคุณเองและไม่เก็บอะไรไว้

อ่านอย่างเดียวโดยค่าเริ่มต้น

การเชื่อมต่อใหม่อ่านได้อย่างเดียว ไม่มีอย่างอื่น คิวรีคืนแถวข้อมูลกลับมา ส่วนคำสั่งที่จะเปลี่ยนข้อมูลถูกปฏิเสธ ไม่มีใครต้องคอยจำว่าต้องเปิดโหมดปลอดภัย เพราะโหมดปลอดภัยคือจุดที่ทุกการเชื่อมต่อเริ่มต้น

สองกุญแจก่อนการเขียน

การเขียนต้องอาศัยการกระทำที่ตั้งใจสองอย่าง ไม่ใช่อย่างเดียว การเชื่อมต่อต้องถูกทำให้เขียนได้ และตัวการดำเนินการเองต้องถูกยืนยันอย่างชัดเจน คลิกพลาดเพียงครั้งเดียวจึงลุกลามไปเป็น UPDATE ที่ไม่มี WHERE ไม่ได้

หนึ่งคำสั่งต่อหนึ่งการเรียก

การเรียกแต่ละครั้งพาไปได้เพียงหนึ่งคำสั่งเท่านั้น อะไรก็ตามที่ต่อท้ายหลังเซมิโคลอนจะถูกปฏิเสธแทนที่จะถูกรัน การอ่านที่ดูเหมือนการอ่านจึงลักลอบพาคำสั่งที่สองไปด้วยไม่ได้ และชุดผลลัพธ์ยังถูกจำกัดจำนวนซ้อนไปอีกชั้น

โปรดักชันถูกทำเครื่องหมายไว้

ทำเครื่องหมายการเชื่อมต่อเป็นโปรดักชัน แล้วการยืนยันจะยากขึ้น ฐานข้อมูลที่สำคัญจะเลิกดูเหมือนสำเนาในเครื่องเป๊ะ ๆ ทั้งสำหรับคุณตอนปลายวันที่ยาวนาน และสำหรับเอเจนต์ที่กำลังไล่ทำรายการงาน

การเชื่อมต่อของคุณ อยู่ครบทุกเครื่อง

การเชื่อมต่อที่บันทึกไว้บนเครื่องที่ออฟฟิศจะอยู่บนโน้ตบุ๊กด้วย ทั้งชื่อ, โฮสต์, พอร์ต, ผู้ใช้, ฐานข้อมูลเริ่มต้น และอุโมงค์ที่มันวิ่งผ่าน สิ่งเดียวที่ไม่ตามไปคือรหัสผ่าน ซึ่งถูกเข้ารหัสเก็บไว้บนเครื่องที่คุณพิมพ์มัน แต่ละเครื่องจึงถามรหัสผ่านจากคุณครั้งเดียว

ส่งออก นำเข้า คัดลอก

ดัมป์ฐานข้อมูลออกเป็นไฟล์ .sql, นำไฟล์แบบนั้นกลับเข้าไปในฐานข้อมูล หรือคัดลอกฐานข้อมูลหนึ่งทับอีกฐานหนึ่งได้ตรง ๆ ปลายทางจะถูกสำรองไว้ก่อนถูกเขียนทับ ส่วนการแทนที่มันทั้งก้อนเป็นการตัดสินใจแยกต่างหากที่ต้องยืนยันเอง

เอเจนต์คิวรีฐานข้อมูล แต่ไม่เคยถือรหัสผ่าน

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

กฎอ่านอย่างเดียวคืออีกครึ่งหนึ่งของเรื่องนี้ และสำหรับเอเจนต์แล้ว มันไม่ใช่สิ่งที่มันจะพูดหว่านล้อมให้พ้นไปได้ เครื่องมือที่เอเจนต์ใช้คิวรีปฏิเสธทุกอย่างที่ไม่ใช่การอ่าน เว้นแต่จะเป็นจริงทั้งสองข้อ: การเชื่อมต่อนั้นเขียนได้ และคุณเปิด "อนุญาตให้เอเจนต์เขียนข้อมูล" สำหรับการเชื่อมต่อนั้นแล้ว ตัวเลือกนี้ปิดอยู่โดยค่าเริ่มต้น และการตรวจสอบเกิดขึ้นในแอปเดสก์ท็อป ไม่ใช่ในโปรเซสของเอเจนต์ การเขียนของคุณเองในคอนโซลยังคงขอการยืนยันอย่างชัดเจน และการยืนยันนั้นถูกทำให้ยากขึ้นโดยตั้งใจเมื่อการเชื่อมต่อถูกทำเครื่องหมายเป็นโปรดักชัน เมื่อการเชื่อมต่อเปิดให้เอเจนต์เขียนแล้ว การเขียนเหล่านั้นจะทำงานโดยไม่ต้องผ่านการยืนยันนั้น ดังนั้นให้สงวนตัวเลือกนี้ไว้สำหรับฐานข้อมูลที่คุณไว้วางใจให้เอเจนต์ดูแล ในกรณีอื่นทั้งหมด ผลลัพธ์ที่แย่ที่สุดของคิวรีที่ผิดพลาดยังคงเป็นคำตอบที่ผิด ไม่ใช่ตารางที่หายไป

กฎหนึ่งคำสั่งปิดช่องโหว่คลาสสิก การเรียกที่พาไปหนึ่งคำสั่งไม่สามารถถูกต่อด้วยเซมิโคลอนและคำสั่งที่สองได้ คิวรีที่อ่านแล้วดูไม่มีพิษภัยตอนรีวิวจึงไปทำอย่างอื่นตอนรันไม่ได้ SQL Server ไม่ต้องใช้เซมิโคลอนนั้น บน SQL Server การอ่านจึงต้องเป็น SELECT หรือ WITH ที่ไม่มีคีย์เวิร์ดการเขียนหรือทรานแซกชันอยู่ตรงไหนเลย และรันอยู่ภายในทรานแซกชันที่ถูก rollback เสมอ เมื่อรวมกับชุดผลลัพธ์ที่ถูกจำกัดจำนวน ความผิดพลาดก็ยังคงเป็นความผิดพลาด แทนที่จะกลายเป็นการดูดข้อมูลออกไป

เอนจินที่รองรับ

หกเอนจิน และเราบอกด้วยว่าตัวไหนยังไม่มี

MySQL และ MariaDB, PostgreSQL, SQL Server (รวม Azure SQL และ Amazon RDS for SQL Server), MongoDB, SQLite และ Google BigQuery แต่ละตัวมีไดรเวอร์ของตัวเองแทนที่จะใช้ชั้นแปลงร่วมกัน เพราะมันต่างกันจริง ๆ : เซสชัน PostgreSQL หรือ SQL Server ผูกกับฐานข้อมูลเดียว MongoDB รับคิวรีไม่ใช่ SQL T-SQL ไม่ต้องใช้เซมิโคลอนระหว่างสองคำสั่ง และการส่งออกแต่ละครั้งก็เรียกใช้เครื่องมือที่มาพร้อมกับเอนจินนั้น ส่วน SQLite เป็นแค่ไฟล์บนคอมพิวเตอร์ของคุณ ไม่มีโฮสต์ ผู้ใช้ หรือรหัสผ่าน และการเชื่อมต่อ BigQuery คือโปรเจกต์ Google Cloud หนึ่งโปรเจกต์กับชุดข้อมูล (dataset) เริ่มต้น ลงชื่อเข้าใช้ด้วยบัญชี Google ของคุณเอง (gcloud auth application-default login) โดยไม่มีการเก็บคีย์ใด ๆ ไว้ เอนจินเซิร์ฟเวอร์ทั้งสี่ตัวเข้าถึงได้โดยตรง หรือผ่านอุโมงค์ SSH หรือเซสชันฟอร์เวิร์ดพอร์ตของ AWS SSM เมื่อไม่ได้เปิดสู่อินเทอร์เน็ต

Oracle, Redis และตัวอื่น ๆ ยังไม่รองรับ บน SQL Server คุณลงชื่อเข้าใช้ด้วย SQL login (ไม่มีการยืนยันตัวตนแบบ Windows, Active Directory และ Entra ID ให้เลือก) และไม่มีการส่งออก นำเข้า หรือคัดลอก บน BigQuery Google คิดค่าบริการทุกคิวรีตามปริมาณไบต์ที่คิวรีนั้นอ่าน การเชื่อมต่อแต่ละตัวจึงมีเพดานค่าบริการต่อคิวรี (ค่าเริ่มต้น 1 GiB ปรับได้): คิวรีที่เกินเพดานนี้จะถูกปฏิเสธแทนที่จะถูกเรียกเก็บเงิน การเปิดดูตารางไม่มีค่าใช้จ่ายและเป็นแบบอ่านอย่างเดียว เอเจนต์ของคุณใช้เครื่องมือ db_list, db_schema และ db_query ชุดเดียวกันพร้อมการ์ดเรลเดียวกัน และเห็นว่าแต่ละคิวรีอ่านไปกี่ไบต์ และที่นี่ก็ไม่มีการส่งออก นำเข้า หรือคัดลอกเช่นกัน คุณควรได้รู้เรื่องนี้ก่อนดาวน์โหลด ไม่ใช่หลังจากนั้น เอนจินตัวถัดไปถูกตัดสินจากสิ่งที่ผู้คนร้องขอ ถ้าตัวของคุณยังไม่มี บอกว่าเป็นตัวไหนบน backlog สาธารณะ แล้วมันจะถูกนับ

ขอเอนจินฐานข้อมูลของคุณ
ส่งออก นำเข้า คัดลอก

ย้ายฐานข้อมูลได้ ไม่ใช่แค่อ่านมัน

ส่งออกฐานข้อมูลเป็นไฟล์ นำไฟล์เข้าไปในฐานข้อมูล หรือคัดลอกฐานข้อมูลหนึ่งทับอีกฐานหนึ่งได้โดยตรง รวมถึงผ่านอุโมงค์ SSH หรือเซสชัน AWS SSM ที่คุณบันทึกไว้แล้ว แต่ละเอนจินทำงานด้วยเครื่องมือทางการของตัวเอง โดยเขียนลงดิสก์แบบสตรีม ฐานข้อมูลขนาดหลายกิกะไบต์จึงกลายเป็นแถบความคืบหน้า ไม่ใช่การพังกลางคัน

เครื่องมือเหล่านี้มาพร้อมกับฐานข้อมูล ไม่ได้มากับ AgentsRoom : mysqldump และ mysql, pg_dump และ psql, mongodump และ mongorestore SQL Server ไม่มีเครื่องมือเทียบเท่าที่สตรีมฐานข้อมูลทั้งก้อนได้ การเชื่อมต่อ SQL Server จึงไม่มีการส่งออก นำเข้า หรือคัดลอก เมื่อไม่มีเครื่องมือเหล่านี้อยู่บนเครื่อง แอปจะบอกตรง ๆ ว่าขาดตัวไหนบ้าง และให้คุณชี้ไปยังโฟลเดอร์ที่เก็บมันไว้ อย่างที่ไคลเอนต์ฐานข้อมูลควรทำ : แอปที่ถูกเปิดจาก Dock หรือเมนู Start จะเห็น PATH เพียงเท่าที่น้อยที่สุด ไม่อย่างนั้นมันก็จะยืนยันว่าไม่มีเครื่องมือเหล่านี้ ทั้งที่เครื่องนั้นมีอยู่

การคัดลอกคือจุดที่คลิกผิดครั้งเดียวแลกด้วยเวลาทั้งวัน มันจึงถูกออกแบบรอบเรื่องนี้ ไม่ใช่รอบกรณีที่ทุกอย่างราบรื่น

  • การเชื่อมต่อแบบอ่านอย่างเดียวจะปฏิเสธการนำเข้าทันที ก่อนที่อะไรจะถูกเปิดขึ้นมาด้วยซ้ำ
  • ก่อนที่คำสั่งแรกจะถูกใช้งาน ฐานข้อมูลปลายทางจะถูกดัมป์ลงไฟล์ที่คุณเลือกไว้
  • ข้อความยืนยันจะระบุทั้งชื่อการเชื่อมต่อและชื่อฐานข้อมูล และจะพูดหนักขึ้นเมื่อการเชื่อมต่อถูกทำเครื่องหมายเป็นโปรดักชัน
  • การลบฐานข้อมูลปลายทางแล้วสร้างใหม่เป็นตัวเลือกแยกต่างหาก และบนการเชื่อมต่อโปรดักชัน คุณต้องพิมพ์ชื่อฐานข้อมูลเองอีกครั้ง

จากฐานข้อมูลส่วนตัวสู่คำตอบ

บันทึกการเชื่อมต่อ กำหนดเส้นทางให้มัน แล้วคิวรีเอง หรือให้เอเจนต์ทำแทน

01

บันทึกการเชื่อมต่อ

เพิ่มฐานข้อมูล : โฮสต์, พอร์ต, ผู้ใช้, ชื่อฐานข้อมูล และ TLS ถ้าเซิร์ฟเวอร์ต้องการ ตั้งชื่อที่คุณจะจำได้ในภายหลัง และทำเครื่องหมายเป็นโปรดักชันถ้ามันเป็นอย่างนั้นจริง

02

กำหนดเส้นทางถ้ามันเป็นส่วนตัว

ถ้าฐานข้อมูลเข้าถึงโดยตรงไม่ได้ ให้ชี้การเชื่อมต่อไปที่อุโมงค์ SSH หรือเซสชันฟอร์เวิร์ดพอร์ตของ AWS SSM ที่สร้างจากการเชื่อมต่อที่บันทึกไว้ใน AgentsRoom อยู่แล้ว ฐานข้อมูลในซับเน็ตส่วนตัวจะเข้าถึงได้โดยไม่ต้องเปิดมันสู่สาธารณะ บน Google Cloud ให้เลือกอินสแตนซ์ Cloud SQL แทน: AgentsRoom จะเริ่ม Cloud SQL Auth Proxy ให้คุณ

03

คิวรีเอง หรือให้เอเจนต์คิวรี

รันคำสั่งของคุณจากในแอป หรือให้เอเจนต์รันหนึ่งคำสั่งผ่าน MCP อ่านอย่างเดียวจนกว่าคุณจะเปลี่ยน หนึ่งคำสั่งต่อหนึ่งการเรียก ชุดผลลัพธ์ถูกจำกัดจำนวน และมีการยืนยันอย่างชัดเจนคั่นอยู่ระหว่างการเขียนทุกครั้งกับข้อมูลของคุณ

เมื่อเอเจนต์ต้องการแถวข้อมูลจริง

จังหวะที่การอ่านข้อมูลโปรดักชันคือทางที่สั้นที่สุดสู่การแก้ไข

ดีบักกับข้อมูลจริง

บั๊กโผล่เฉพาะกับบัญชีไม่กี่บัญชี ให้เอเจนต์อ่านแถวเหล่านั้น แล้วมันจะเจอค่าที่ทำให้ตรรกะพัง แทนที่จะเสนอทฤษฎีสามข้อว่าข้อมูลน่าจะหน้าตาเป็นอย่างไร

ฐานข้อมูลที่ไม่เปิดสู่สาธารณะ

ฐานข้อมูลอยู่ในซับเน็ตส่วนตัวที่ไม่มีปลายทางสาธารณะ ส่งการเชื่อมต่อผ่านอุโมงค์ SSH หรือเซสชัน AWS SSM ที่สร้างจากการเชื่อมต่อที่คุณบันทึกไว้ แล้วคิวรีมันได้โดยไม่ต้องเปิดพอร์ตสู่อินเทอร์เน็ต

ให้เอเจนต์ตรวจสอบ ไม่ใช่เดา

ก่อนจะเขียน migration หรือคิวรี เอเจนต์ดูได้ว่าจริง ๆ แล้วมีอะไรเก็บอยู่ มันอ่าน มันรายงาน และหากคุณไม่ได้เปิดการเชื่อมต่อนั้นให้เอเจนต์เขียนข้อมูล มันก็ไม่มีทางเปลี่ยนแปลงอะไรได้ระหว่างที่ทำแบบนั้น

โปรดักชัน โดยไม่มีความเสี่ยงจากการเขียน

การอ่านโปรดักชันมักจำเป็น ส่วนการเขียนลงไปแทบไม่เคยจำเป็นระหว่างที่งานกำลังดำเนินอยู่ ทำเครื่องหมายการเชื่อมต่อเป็นโปรดักชัน เก็บมันไว้แบบอ่านอย่างเดียว แล้วเส้นแบ่งระหว่างการสืบค้นกับการทำพังจะเลิกขึ้นอยู่กับว่าใครกำลังตั้งใจดูอยู่หรือไม่

รีเฟรช staging ด้วยข้อมูลจริง

บั๊กเกิดซ้ำได้เฉพาะบนแถวข้อมูลจริง คัดลอกฐานข้อมูลไปทับบนเซิร์ฟเวอร์ staging ของคุณผ่านอุโมงค์ที่บันทึกไว้แล้ว โดยของเดิมที่อยู่ตรงนั้นจะถูกดัมป์เก็บไว้ก่อน

เปิดโน้ตบุ๊กขึ้นมา ทุกอย่างอยู่ครบ

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

เอเจนต์ AI + SQL

เอเจนต์ของฉันคิวรีฐานข้อมูลอย่างไร?

db_listdb_schemadb_querydb_connection_new

ผ่าน AgentsRoom MCP ด้วยเครื่องมือสี่ตัว db_list คืนการเชื่อมต่อที่คุณบันทึกไว้พร้อมข้อมูลเมตาของมัน, db_schema ไล่ดูสคีมา ตาราง และคอลัมน์โดยไม่ต้องใช้ SQL สักบรรทัด, db_query รันหนึ่งคำสั่งและคืนแถวข้อมูลกลับมา และ db_connection_new เสนอฐานข้อมูลที่คุณยังไม่ได้บันทึกไว้ AgentsRoom เป็นฝ่ายเปิดการเชื่อมต่อ รวมถึงอุโมงค์ SSH หรือเซสชัน AWS SSM ที่อยู่ข้างหน้ามันเมื่อมี สิ่งที่เดินทางกลับไปหาเอเจนต์คือชุดผลลัพธ์ ไม่ใช่ข้อมูลประจำตัว

เอเจนต์จะเขียนข้อมูลได้ก็ต่อเมื่อคุณเปิด "อนุญาตให้เอเจนต์เขียนข้อมูล" บนการเชื่อมต่อที่ตั้งให้เขียนได้ด้วย ตัวเลือกนี้ต้องเปิดเอง ปิดอยู่โดยค่าเริ่มต้น และซิงค์ไปพร้อมกับการเชื่อมต่อทั่วทั้งบัญชีของคุณ เมื่อเปิดแล้ว การเขียนจะทำงานทันที ดังนั้นให้ใช้เฉพาะเมื่อคุณไว้วางใจให้เอเจนต์ทำงานกับฐานข้อมูลนั้น แอปเดสก์ท็อปตรวจสอบสิทธิ์นี้ในโปรเซสหลักของมัน และ db_query ยังคงรับเพียงหนึ่งคำสั่งต่อหนึ่งการเรียก

การลงทะเบียนฐานข้อมูลก็เป็นงานของเอเจนต์ทั้งหมดได้เช่นกัน db_connection_new คงเส้นทางที่ผ่านการตรวจทานไว้: มันเปิดฟอร์มสร้างที่กรอกไว้ล่วงหน้าด้วยโฮสต์, ผู้ใช้ และการเชื่อมต่อ SSH หรือ AWS SSM ที่ควรใช้เข้าถึงมัน แล้วคุณตรวจทาน พิมพ์รหัสผ่าน และบันทึก โดยไม่มีอะไรถูกเก็บจนกว่าคุณจะทำเสียก่อน ตราบใดที่คุณยังไม่ปิด "เอเจนต์สามารถจัดการการเชื่อมต่อได้" (การตั้งค่า เปิดโดยค่าเริ่มต้น) db_connection_save จะเขียนการเชื่อมต่อลงไปทันที และรหัสผ่านก็ยังไม่เคยเดินทางผ่านบทสนทนา: มันถูกคัดลอกจากความลับในห้องนิรภัยที่เอเจนต์ระบุชื่อเท่านั้น เอเจนต์ได้สิ่งที่มันต้องใช้ในการให้เหตุผลกับข้อมูลของคุณ ส่วนวิธีต่าง ๆ ที่การเข้าถึงแบบนี้มักกลายเป็นเหตุการณ์ร้ายนั้นไม่มีให้มันใช้สักอย่าง

ทุกคิวรีที่เอเจนต์รันก็มองเห็นได้เช่นกัน การเรียก db_query และ db_schema จะปรากฏในแท็บ "กิจกรรม" ของแผงด้านขวา พร้อม SQL และแถวแรกๆ ที่ได้กลับมา โดยแยกเป็นหนึ่งบันทึกต่อหนึ่งฐานข้อมูล อวาตาร์ของเอเจนต์จะแสดงบนปุ่ม "ฐานข้อมูล" และแสดงพร้อมแบดจ์ "เอเจนต์กำลังทำงาน" ในรายการฐานข้อมูลของคุณ คุณยังติดตามได้จากโทรศัพท์ ในการ์ดของเอเจนต์บนแอปมือถือ บันทึกนี้ส่งผ่านระหว่างคอมพิวเตอร์กับโทรศัพท์ของคุณเท่านั้น เข้ารหัสตั้งแต่ต้นทางถึงปลายทางและปิดบังข้อมูลลับ: ไม่มีชุดผลลัพธ์ใดถูกเก็บไว้บนเซิร์ฟเวอร์

ค้นพบ AgentsRoom MCP

แท็บ "กิจกรรม" เดียวกันที่แสดงรายการการเรียก db_query และ db_schema ของคุณ ถ่ายที่นี่บนเซิร์ฟเวอร์ SSH ที่บันทึกไว้ : เอเจนต์รันคำสั่งสามคำสั่ง แต่ละคำสั่งเข้ามาพร้อมเอาต์พุต, exit code และระยะเวลาของมัน แล้วบันทึกของการเชื่อมต่อนั้นเปิดขึ้นเต็มหน้า บันทึกนี้อยู่บนคอมพิวเตอร์ของคุณ

ดูบน YouTube

คำถามที่พบบ่อย

ถามเราเรื่องอื่น
รองรับฐานข้อมูลอะไรบ้าง?
MySQL และ MariaDB, PostgreSQL, SQL Server (รวม Azure SQL และ Amazon RDS for SQL Server), MongoDB, SQLite และ Google BigQuery แต่ละตัวมีไดรเวอร์ของตัวเอง เอนจินเซิร์ฟเวอร์เข้าถึงได้ทั้งแบบเชื่อมตรง หรือผ่านอุโมงค์ SSH หรือเซสชันฟอร์เวิร์ดพอร์ตของ AWS SSM ขณะที่การเชื่อมต่อ SQLite คือไฟล์บนคอมพิวเตอร์ของคุณที่เลือกจากพาธของมัน และการเชื่อมต่อ BigQuery คือโปรเจกต์ Google Cloud ที่เปิดด้วยบัญชี Google ของคุณเอง พร้อมเพดานค่าบริการต่อคิวรี (ค่าเริ่มต้น 1 GiB) เพื่อให้คิวรีที่มีค่าใช้จ่ายสูงถูกปฏิเสธแทนที่จะถูกเรียกเก็บเงิน ส่วน Oracle, Redis และที่เหลือยังไม่รองรับในวันนี้ ถ้าคุณต้องการตัวใดตัวหนึ่ง ขอมันบน backlog สาธารณะ : รายการนี้เติบโตตามสิ่งที่ผู้คนร้องขอจริง
เอเจนต์ AI เขียนลงฐานข้อมูลของฉันได้หรือไม่?
ได้ เมื่อคุณอนุญาตอย่างชัดเจน เอเจนต์จะเขียนข้อมูลได้ก็ต่อเมื่อการเชื่อมต่อนั้นเขียนได้ และคุณเปิด "อนุญาตให้เอเจนต์เขียนข้อมูล" ในการตั้งค่าของการเชื่อมต่อนั้น จากนั้นการเขียนจะทำงานทันที ดังนั้นให้เปิดตัวเลือกนี้เฉพาะเมื่อคุณไว้วางใจให้เอเจนต์ทำงานกับฐานข้อมูลนั้น มิฉะนั้น db_query จะยังคงเป็นแบบอ่านอย่างเดียว
ฉันจะเข้าถึงฐานข้อมูลในซับเน็ตส่วนตัวได้อย่างไร?
ส่งการเชื่อมต่อผ่านอุโมงค์ SSH หรือเซสชันฟอร์เวิร์ดพอร์ตของ AWS SSM ที่สร้างจากการเชื่อมต่อ SSH และ SSM ที่คุณบันทึกไว้ใน AgentsRoom อยู่แล้ว แอปจะเปิดอุโมงค์หรือเซสชันและต่อฐานข้อมูลผ่านมัน ฐานข้อมูลจึงยังคงเข้าถึงไม่ได้จากอินเทอร์เน็ตสาธารณะ สำหรับ Google Cloud SQL ให้เลือกอินสแตนซ์ (project:region:instance) แล้ว AgentsRoom จะรัน Cloud SQL Auth Proxy ด้วยการล็อกอิน gcloud ของคุณเอง ผ่าน IP ส่วนตัวหากจำเป็น และใช้การยืนยันตัวตนฐานข้อมูลด้วย IAM หากคุณไม่ต้องการใช้รหัสผ่านเลย
เอเจนต์ของฉันเห็นรหัสผ่านฐานข้อมูลหรือไม่?
ไม่เห็น เอเจนต์คิวรีผ่าน MCP โดยเรียกชื่อการเชื่อมต่อ AgentsRoom ถือข้อมูลประจำตัวไว้และรันคำสั่งเอง รหัสผ่านจึงไม่เคยถูกคืนกลับไปให้เอเจนต์ ไม่เคยถูกเขียนลงในคิวรี และไม่เคยเป็นส่วนหนึ่งของบทสนทนา
เอเจนต์รันหลายคำสั่งพร้อมกันได้หรือไม่?
ไม่ได้ หนึ่งการเรียกพาไปได้หนึ่งคำสั่งเท่านั้น อะไรก็ตามที่ต่อท้ายหลังเซมิโคลอนจะถูกปฏิเสธแทนที่จะถูกรัน ซึ่งตัดวิธีที่เก่าแก่ที่สุดในการซ่อนการเขียนไว้ในสิ่งที่ดูเหมือนการอ่านออกไป
การทำเครื่องหมายการเชื่อมต่อเป็นโปรดักชันเปลี่ยนอะไร?
มันทำให้การยืนยันที่ต้องผ่านก่อนการเขียนเข้มขึ้น ฐานข้อมูลที่สำคัญเลิกทำตัวเหมือนสำเนาในเครื่อง ซึ่งเป็นสิ่งที่คุณต้องการตอนปลายวันที่ยาวนาน และเป็นสิ่งที่คุณต้องการยิ่งกว่านั้นจากเอเจนต์ที่กำลังไล่ทำรายการงาน
ถ้าคิวรีคืนแถวข้อมูลจำนวนมากจะเกิดอะไรขึ้น?
ชุดผลลัพธ์ถูกจำกัดจำนวน คิวรีที่จะคืนตารางขนาดมหึมาจะกลับมาแบบถูกตัดทอน แทนที่จะท่วมหน้าต่างหรือบริบทของเอเจนต์ SELECT ที่กว้างเกินไปจึงเป็นแค่ความไม่สะดวก ไม่ใช่การดูดข้อมูลของคุณออกไป
เอเจนต์เพิ่มการเชื่อมต่อฐานข้อมูลได้หรือไม่?
ใช่ และโดยค่าเริ่มต้นมันยังบันทึกเองได้ด้วย db_connection_save เขียนการเชื่อมต่อลงไปทันที โดยไม่มีฟอร์ม และรหัสผ่านไม่มีวันปรากฏในบทสนทนา: เอเจนต์ระบุชื่อความลับจากห้องนิรภัยของคุณ แล้ว AgentsRoom คัดลอกมันลงใน keychain หากคุณอยากตรวจทานก่อน ให้เลือกใช้ db_connection_new: มันเปิดฟอร์มสร้างที่กรอกไว้ล่วงหน้าด้วยโฮสต์, พอร์ต, ผู้ใช้ และการเชื่อมต่อ SSH หรือ AWS SSM ที่ควรใช้เข้าถึงฐานข้อมูลนั้น และไม่มีอะไรถูกเก็บจนกว่าคุณจะตรวจทาน พิมพ์รหัสผ่าน และบันทึกเสียก่อน โดยเอเจนต์ไม่เคยเป็นฝ่ายให้ข้อมูลประจำตัว ปิด "เอเจนต์สามารถจัดการการเชื่อมต่อได้" ในการตั้งค่า แล้วจะเหลือเพียงเส้นทางที่ผ่านการตรวจทานเท่านั้น
เอเจนต์เรียนรู้สคีมาของฉันได้อย่างไร?
ด้วย db_schema ซึ่งสำรวจการเชื่อมต่อที่บันทึกไว้โดยไม่ต้องใช้ SQL เลย เรียกโดยไม่ใส่อาร์กิวเมนต์ มันจะแสดงรายการสคีมา ใส่ชื่อฐานข้อมูล มันจะแสดงตารางและวิว ใส่ชื่อตาราง มันจะคืนคอลัมน์ พร้อมชนิดข้อมูล การรับค่าว่าง คีย์ และค่าเริ่มต้นของแต่ละคอลัมน์ วิธีนี้ถูกกว่าและปลอดภัยกว่าการให้เอเจนต์คิวรี information_schema ด้วยมือ
การเชื่อมต่อฐานข้อมูลของฉันซิงก์ข้ามเครื่องหรือไม่?
ใช่ ชื่อ, โฮสต์, พอร์ต, ผู้ใช้, ฐานข้อมูลเริ่มต้น, ขอบเขต, เครื่องหมายอ่านอย่างเดียวและโปรดักชัน รวมถึงอุโมงค์ SSH หรือ SSM ที่มันวิ่งผ่าน ล้วนติดไปกับบัญชีของคุณ การเชื่อมต่อที่บันทึกไว้บนเครื่องหนึ่งจึงไปโผล่บนอีกเครื่องโดยไม่ต้องพิมพ์ใหม่ โดยค่าเริ่มต้น รหัสผ่านจะยังคงถูกเข้ารหัสอยู่ในคีย์เชนของเครื่องที่คุณพิมพ์มัน การเชื่อมต่อที่มาจากอีกเครื่องหนึ่งจึงจะขอรหัสผ่านหนึ่งครั้ง เปิดรหัสผ่านที่ซิงก์ใน การตั้งค่า > บัญชี แล้วรหัสผ่านก็จะติดตามไปด้วย โดยเข้ารหัสจากต้นทางถึงปลายทางด้วยคีย์ที่มีเฉพาะคอมพิวเตอร์ของคุณถือไว้: AgentsRoom เก็บรหัสผ่านไว้โดยอ่านไม่ได้ และรหัสผ่านที่คุณเปลี่ยนบนเครื่องหนึ่งจะอัปเดตบนเครื่องอื่นด้วย คุณยังเลือกเก็บรหัสผ่านใดก็ได้ไว้บนเครื่องเดียวได้เหมือนเดิม
ฉันดัมป์ฐานข้อมูลแล้วนำไปนำเข้าที่อื่นได้หรือไม่?
ได้ บน MySQL, PostgreSQL และ MongoDB คุณส่งออกฐานข้อมูลเป็นไฟล์ นำไฟล์แบบนั้นเข้าไปในฐานข้อมูล หรือคัดลอกฐานข้อมูลหนึ่งทับอีกฐานหนึ่งได้โดยตรง รวมถึงผ่านอุโมงค์ SSH หรือ SSM ที่คุณบันทึกไว้แล้ว แต่ละเอนจินทำงานด้วยเครื่องมือทางการของตัวเอง (mysqldump และ mysql, pg_dump และ psql, mongodump และ mongorestore) ซึ่งมาพร้อมกับฐานข้อมูล ไม่ใช่มากับ AgentsRoom ถ้าหาไม่เจอ แอปจะขอให้คุณชี้โฟลเดอร์ที่เก็บมันไว้ การคัดลอกทำได้เฉพาะระหว่างการเชื่อมต่อสองตัวที่เป็นเอนจินเดียวกัน เพราะไฟล์ดัมป์กู้คืนได้เฉพาะกับเอนจินที่สร้างมันขึ้นมา การนำเข้าจะถูกปฏิเสธบนการเชื่อมต่อแบบอ่านอย่างเดียว ปลายทางจะถูกดัมป์ลงไฟล์ที่คุณเลือกก่อนจะมีอะไรถูกเขียนลงไป และการแทนที่ปลายทางเป็นตัวเลือกแยกต่างหากที่ระบุชื่อฐานข้อมูลไว้ในข้อความยืนยัน SQLite ไม่มีสิ่งเหล่านี้ เพราะฐานข้อมูลเป็นไฟล์อยู่แล้ว คุณคัดลอกได้เหมือนไฟล์อื่น ๆ SQL Server ก็ไม่มีสิ่งเหล่านี้เช่นกัน: ไม่มีเครื่องมือของ Microsoft ตัวไหนที่สตรีมฐานข้อมูลทั้งก้อนได้แบบที่ mysqldump ทำ (sqlpackage เขียนไฟล์ .bacpac ส่วน bcp คัดลอกทีละตาราง)
บัญชีที่เก็บการเชื่อมต่อของฉันได้รับการปกป้องอย่างไร
รหัสผ่านอยู่ใน keychain ของระบบคุณ และบัญชีที่นำการเชื่อมต่อของคุณไปยังคอมพิวเตอร์เครื่องอื่นสามารถขอหลักฐานยืนยันชั้นที่สองตอนลงชื่อเข้าใช้ได้ เปิด การตรวจสอบสิทธิ์แบบสองปัจจัย ในการตั้งค่า, บัญชี: จากนั้นทุกครั้งที่ลงชื่อเข้าใช้ด้วยรหัสผ่าน ทั้งบนเดสก์ท็อป โทรศัพท์ และเว็บไซต์ ระบบจะขอรหัส 6 หลักจากแอปยืนยันตัวตนบนโทรศัพท์ของคุณ และคุณจะได้รหัสกู้คืนแบบใช้ครั้งเดียว 10 รหัสไว้เผื่อทำโทรศัพท์หาย รหัสผ่านที่ถูกขโมยเพียงอย่างเดียวจึงไม่พอจะเปิดบัญชีได้อีกต่อไป

ภาพหน้าจอ

ภาพจริงจากแอป เพิ่มเติมตามการพัฒนาของฟีเจอร์นี้

  • ตัวเลือกเครื่องมือจัดการฐานข้อมูลที่แสดง MySQL, PostgreSQL, SQL Server, MongoDB, SQLite และ BigQuery
    เชื่อมต่อ Google BigQuery ด้วยการเข้าสู่ระบบ Google ของคุณเอง
  • แบบฟอร์มการเชื่อมต่อ BigQuery พร้อมด้วย project ID, ชุดข้อมูลเริ่มต้น และการจำกัดการเรียกเก็บเงินต่อคำสั่ง
    จำกัดการเรียกเก็บเงินของคำสั่ง BigQuery หนึ่งคำสั่งต่อการเชื่อมต่อ
  • แบบฟอร์มการเชื่อมต่อ PostgreSQL ที่มีการเลือก Require TLS และตัวเลือก Trust the server certificate
    การเชื่อมต่อ TLS โดยตรงจะตรวจสอบใบรับรองของเซิร์ฟเวอร์ พร้อมตัวเลือกสำหรับเซิร์ฟเวอร์ที่ลงนามเอง
1 / 3

คุณอาจจะชอบ

RDS ผ่าน AWS SSM

เข้าถึงอินสแตนซ์ Amazon RDS ที่ไม่มีปลายทางสาธารณะได้จากเครื่องของคุณเอง ผ่าน aws ssm start-session และเอกสาร AWS-StartPortForwardingSessionToRemoteHost ไม่ต้องดูแล bastion ไม่ต้องใช้ VPN ไม่ต้องมีกฎ SSH ขาเข้า AgentsRoom เปิดเซสชันบนพอร์ต loopback แล้วต่อไคลเอนต์ฐานข้อมูลผ่านมัน รองรับ MySQL, PostgreSQL, SQL Server และ MongoDB จึงใช้ได้กับ RDS MySQL, RDS PostgreSQL, RDS for SQL Server, Aurora และ DocumentDB

Cloud SQL Auth Proxy

เข้าถึงอินสแตนซ์ Cloud SQL for MySQL หรือ PostgreSQL จากเครื่องของคุณเอง รวมถึงอินสแตนซ์ที่มีแต่ IP ส่วนตัว โดยไม่ต้องมี VM แบบ bastion AgentsRoom รัน Cloud SQL Auth Proxy บนพอร์ต loopback ด้วย Application Default Credentials ของ gcloud ที่คุณล็อกอินไว้ รองรับการยืนยันตัวตนฐานข้อมูลด้วย IAM และให้เอเจนต์ AI คิวรีได้แบบอ่านอย่างเดียว

การเชื่อมต่อ SSH

บันทึกการเชื่อมต่อ SSH ของคุณ เปิดเทอร์มินัลในตัวผ่าน SSH และรัน Claude Code, Codex หรือ Antigravity CLI โดยตรงบนเซิร์ฟเวอร์ระยะไกลหรือ VPS ของคุณ ใช้การรับรองความถูกต้องด้วยคีย์ SSH หรือรหัสผ่าน โปรไฟล์การเชื่อมต่อแบบต่อโครงการ ไม่ต้องใช้ไคลเอนต์ SSH แยกต่างหาก

ตัวจัดการความลับ

เก็บคีย์ API, โทเค็น และรหัสผ่านไว้ในคีย์เชนของระบบปฏิบัติการ อ้างอิงถึงมันด้วย {{secret:NAME}} ในคำสั่งพัฒนาและสภาพแวดล้อมของเอเจนต์ แล้วให้ AgentsRoom แทนค่าให้ตอนเปิดใช้งาน เอเจนต์เห็นเพียงชื่อ ไม่เคยเห็นค่า และไม่มีอะไรถูกซิงก์ขึ้นเซิร์ฟเวอร์

Dev Terminals

ผู้จัดการเทอร์มินัลและตัวเปิดโปรเซสต่อโครงการ เริ่มต้น backend, frontend และ workers ในคลิกเดียว ทั้งในเครื่องหรือบนเซิร์ฟเวอร์ระยะไกล

AgentsRoom MCP

เซิร์ฟเวอร์ MCP ที่ให้เอเจนต์ของคุณขับ AgentsRoom เอง : โครงการ, เทอร์มินัล, backlog และการเชื่อมต่อ พร้อมการ์ดเรลที่มาพร้อมกับมัน

วิศวกร DevOpsนักเขียนนักพัฒนาส่วนหน้าเจ้าหน้าที่ฝ่ายขายนักพัฒนาด้านหลังโค้ชและเทรนเนอร์สถาปนิกซอฟต์แวร์ที่ปรึกษากฎหมายวิศวกร QAการเงินและธุรการนักพัฒนา Full-Stackครีเอทีฟดีไซเนอร์นักพัฒนามือถือนักวิจัยวิศวกรความปลอดภัยHR และการสรรหาบุคลากร
ผู้จัดการโครงการนักแปลGit Expertนักวิเคราะห์ข้อมูลผู้เชี่ยวชาญด้าน SEOนักบัญชีผู้เชี่ยวชาญด้านการแปลภาษาการสื่อสารและประชาสัมพันธ์Brainstormerปฏิบัติการและโลจิสติกส์ผู้เชี่ยวชาญด้านการตลาดฝ่ายบริการลูกค้าผู้ช่วยโปรเจกต์เจ้าหน้าที่จัดซื้อผู้ดูแลคอมมูนิตี้ผู้ช่วยส่วนตัว

ให้ข้อมูลแก่เอเจนต์ของคุณ ไม่ใช่ให้คีย์

ดาวน์โหลด AgentsRoom บันทึกการเชื่อมต่อ MySQL, PostgreSQL, SQL Server, MongoDB, SQLite และ Google BigQuery ของคุณ เข้าถึงตัวที่เป็นเซิร์ฟเวอร์ผ่านอุโมงค์ SSH หรือเซสชัน AWS SSM แล้วให้เอเจนต์ของคุณคิวรีมัน แบบอ่านอย่างเดียว เว้นแต่คุณจะเปิดการเชื่อมต่อให้เอเจนต์เขียน

ดาวน์โหลดฟรี

แอปคู่หู: ตรวจสอบเอเจนต์ของคุณได้ทุกที่

นำของคุณเอง: Claude, Codex, Antigravity CLI, หรือผู้ให้บริการ AI อื่น ๆ

รับส่วนขยาย
Chrome Web Store

ส่งข้อบกพร่องและคำขอไปยังแบ็คล็อกสาธารณะของคุณโดยตรง

เอเจนต์ที่อ่านได้เหมือนบทสนทนา

เอเจนต์แต่ละตัวมีบทบาท มีใบหน้า และมีเธรดที่คุณอ่านได้เหมือนแอปแชต

มุมมองบทสนทนา

มุมมองบทสนทนาของ AgentsRoom: งานของเอเจนต์ AI เขียนโค้ดแสดงเป็นเธรดแชต
หลายโปรเจกต์
ผู้ให้บริการหลายราย
หลาย agents
สถานะสด
ไฟล์ diff & commit
คู่หูมือถือ
ตัวอย่างสด
ทีมเอเจนต์
การทำงานอัตโนมัติในเบราว์เซอร์
การพัฒนาที่ขับเคลื่อนด้วย backlog
ห้องสมุดคำสั่ง
ห้องสมุดทักษะ
ดูฟีเจอร์ทั้งหมด