hello
Hello
ตอบกลับคำทักทายพร้อมบัญชีที่การเชื่อมต่อนี้ทำงานในนาม ใช้พิสูจน์ว่าการเชื่อมต่อทำงานได้ตั้งแต่ต้นจนจบ และบอกชื่อบัญชีที่เป็นเจ้าของทุกอย่างที่ deploy ผ่านมัน คำปฏิเสธทุกอันในที่อื่นเป็นเรื่องของบัญชีนี้ และนี่คือที่เดียวที่คุณอ่านมันได้
เพิ่ม connector ครั้งเดียว เครื่องมือเหล่านี้จะไปอยู่ข้าง ๆ ทุกอย่างที่ AI ของคุณทำได้ แต่ละตัวเรียงตามชื่อที่ใช้เรียก และตามสิ่งที่โค้ดของมันทำจริง
หน้านี้สำหรับคนที่กำลังต่อสาย เป็นหน้าอ้างอิง ไม่ใช่หน้าขาย และเรียกทุกอย่างด้วยชื่อที่เครื่องจับคู่ หน้าแรกพูดเรื่องเดียวกันด้วยภาษาคนธรรมดา
เครื่องมือจะโผล่ก็ต่อเมื่อสิ่งที่อยู่ข้างหลังมันมีจริง control plane ที่ไม่มีที่ deploy หรือไม่มีผู้ให้บริการฐานข้อมูล จะเสนอเครื่องมือน้อยกว่านี้ รายการเครื่องมือจึงเป็นสัญญาณที่ชัดที่สุดที่ client ได้รับว่ามีอะไรตั้งค่าไว้บ้าง ที่นี่มีครบทั้ง 15 ตัว
เครื่องมือสองตัวที่ไม่ต้องระบุเว็บ จึงเป็นสองตัวที่ไม่มีอะไรต้องขออนุญาต ตัวหนึ่งบอกว่าคุณคือบัญชีไหน อีกตัวบอกว่าบัญชีนั้นเคยถูกปฏิเสธอะไรมาบ้าง
Hello
ตอบกลับคำทักทายพร้อมบัญชีที่การเชื่อมต่อนี้ทำงานในนาม ใช้พิสูจน์ว่าการเชื่อมต่อทำงานได้ตั้งแต่ต้นจนจบ และบอกชื่อบัญชีที่เป็นเจ้าของทุกอย่างที่ deploy ผ่านมัน คำปฏิเสธทุกอันในที่อื่นเป็นเรื่องของบัญชีนี้ และนี่คือที่เดียวที่คุณอ่านมันได้
List refusals
แสดงสิ่งที่บัญชีนี้เคยถูกปฏิเสธ เรียงใหม่สุดก่อน ด้วยถ้อยคำเดิมเป๊ะที่บอกไปตอนนั้น deploy ที่ด่านตรวจ schema หยุดไว้ เว็บที่คนอื่นเป็นเจ้าของ SQL ที่ยิงใส่ฐานข้อมูลที่ยกให้เจ้าของไปแล้ว เฉพาะคำปฏิเสธเท่านั้น ส่วนที่สำเร็จ list_deploys แสดงอยู่แล้ว มันคือวิธีที่ AI ซึ่งมารับงานต่อในบทสนทนาถัดไปรู้ว่าครั้งก่อนพังเพราะอะไร โดยไม่ต้องถามคุณ
ทุกเวอร์ชันเก็บไว้ครบและอ่านกลับได้ การเอาเวอร์ชันเก่าขึ้นอีกครั้งคือวิธีย้อนกลับ และเป็นเส้นทางโค้ดเดียวกับที่ใช้ตอนกู้ระบบ
Deploy a site
เก็บ bundle ของเว็บที่กู้คืนได้ ทั้งไฟล์ ซับโดเมน และเวอร์ชัน ลงใน artifact store แล้วเอาขึ้นออนไลน์ และตอบกลับด้วย URL จริง ไฟล์แต่ละไฟล์ส่งมาเป็น text หรือ base64: text สำหรับ HTML, CSS และ JavaScript ส่วน base64 สำหรับรูป ฟอนต์ ไอคอน และอะไรก็ตามที่ไม่ใช่ text โค้ดหลังบ้านอยู่ใน functions โดย path คือ URL ดังนั้น functions/api/orders.js ตอบ /api/orders และ URL อื่นทั้งหมดเสิร์ฟจากไฟล์ ระบุ routing เป็น static หรือ spa ได้ ถ้าไม่ระบุจะเดาให้ และคำตอบจะบอกว่าใช้แบบไหน การเอาขึ้นออนไลน์อ่าน bundle กลับจาก store ไม่ได้ใช้ของในหน่วยความจำ สิ่งที่เสิร์ฟจึงเป็นสิ่งที่กู้คืนได้เสมอ
Publish a stored deploy
เอาเวอร์ชันที่อยู่ใน artifact store แล้วขึ้นออนไลน์ ค่าเริ่มต้นคือเวอร์ชันใหม่สุด หรือระบุชื่อเวอร์ชันเก่าก็ได้ การย้อนกลับก็คือการเอาเวอร์ชันเก่าขึ้น ซึ่งเป็นเส้นทางโค้ดเดียวกับตอนกู้ระบบ เส้นทางย้อนกลับจึงได้ใช้จริงทุกครั้งที่มีคน deploy
List deploys
ไม่ใส่อาร์กิวเมนต์ จะแสดงเว็บที่บัญชีนี้เป็นเจ้าของ ใส่ site id จะแสดงทุกเวอร์ชันที่เก็บไว้ของเว็บนั้น เรียงใหม่สุดไว้ท้าย และบอกว่าเวอร์ชันไหนออนไลน์อยู่ เว็บของบัญชีอื่นจะไม่แสดงและอ่านไม่ได้
Read a deployed site back
อ่านสิ่งที่ deploy ไปแล้วกลับมา: รายชื่อไฟล์ของเวอร์ชันที่เก็บไว้ หรือเนื้อหาของไฟล์หนึ่งไฟล์ มันคือวิธีที่เว็บซึ่งเขียนในบทสนทนาหนึ่ง แก้ต่อได้ในอีกบทสนทนาโดย AI ที่ไม่ได้อยู่ตอนเขียน และเป็นวิธีที่โค้ดออกจากที่นี่ได้เลย text กลับมาเป็น text รวมถึง source ที่แพลตฟอร์มนี้ไม่มี content type ให้ ไฟล์ binary จะแสดงพร้อมขนาดและให้ไปดึงจากเว็บเอง อ่านได้เฉพาะสิ่งที่ manifest ของเวอร์ชันนั้นระบุ path จึงชี้ไปที่อื่นไม่ได้
ฐานข้อมูล Postgres หนึ่งชุดต่อหนึ่งเว็บ ตารางที่ไม่มี row-level security policy จะ deploy ไม่ผ่าน และทางออกคือคำสั่งเดียวที่ไม่มีวันหมดอายุ
Create a database
สร้างฐานข้อมูล Postgres ให้เว็บหนึ่งเว็บ หนึ่งเว็บมีได้หนึ่งชุด เรียกซ้ำจะได้ชุดเดิมกลับมา ไม่สร้างชุดที่สอง ตอบกลับด้วย connection string ของ owner สำหรับคนที่มีเทอร์มินัล และ string นั้นห้ามใส่ลงในไฟล์ของเว็บ หรือใน function เด็ดขาด เพราะโค้ดที่ deploy แล้วเป็นของสาธารณะ function ของเว็บจะได้ connection string อีกชุดที่จำกัดสิทธิ์ให้อัตโนมัติตอน deploy ในชื่อ env.DATABASE_URL
Run SQL on a site’s database
รัน SQL กับฐานข้อมูลของเว็บในฐานะ owner นี่คือวิธีสร้างตาราง policy และข้อมูลตั้งต้น และวิธีอ่านกลับ ทุกคำสั่งรันใน transaction เดียว ถ้าคำสั่งไหนล้ม ไม่มีคำสั่งไหนมีผล ตารางกับ row-level security policy ของมันควรอยู่ในคำสั่งเรียกเดียวกัน เพราะตารางที่ไม่มี policy จะ deploy ไม่ผ่าน คำตอบจะบอกว่าแต่ละคำสั่งคืนอะไร และด่าน deploy ยังจะปฏิเสธอะไรอยู่
Database status
บอกว่าเว็บมีฐานข้อมูลหรือไม่ และแพลตฟอร์มนี้ยังถือมันอยู่หรือเปล่า
Hand the database over to its owner
คืน URL แบบใช้ครั้งเดียวที่ย้ายฐานข้อมูลไปอยู่ในบัญชีของคุณเอง หลังจากนั้นแพลตฟอร์มนี้เข้าถึงมันไม่ได้อีกเลย อ่านไม่ได้ สำรองไม่ได้ ดึงกลับไม่ได้ นี่คือทางออก และไม่มีเส้นตาย ขอ URL ใหม่ได้ทุกเมื่อที่ต้องการ ไม่ว่าฐานข้อมูลจะเก่าแค่ไหน ลิงก์ที่หมดอายุจึงไม่ใช่โอกาสที่คุณพลาดไป
Give a site a new database connection string
เขียน connection string ลงบนเว็บที่ deploy แล้วในชื่อ env.DATABASE_URL โดยเอาเวอร์ชันปัจจุบันที่เก็บไว้ขึ้นใหม่: ไฟล์เดิมทุกไฟล์ ไม่เปลี่ยน แค่ binding ต่างไป มันมีไว้สำหรับสถานการณ์เดียวและปฏิเสธที่เหลือ หลัง transfer_database คุณเป็นเจ้าของฐานข้อมูล และ credential ชุดเดียวที่เว็บใช้อยู่คือ binding แบบเขียนอย่างเดียว บนตัวเว็บ ซึ่งแพลตฟอร์มนี้อ่าน คัดลอก หรือคำนวณกลับไม่ได้ นี่คือสิ่งที่ใส่มันกลับเข้าไป เราไม่เก็บค่านั้นไว้ ไม่อ่านกลับ และไม่ทดสอบ ให้เช็กด้วยการเปิดเว็บ
Rebuild a site’s database credential
ซ่อมเว็บที่เข้าถึงฐานข้อมูลซึ่งแพลตฟอร์มนี้ถือให้ไม่ได้แล้ว เพราะ role จำกัดสิทธิ์ที่ function ใช้ต่อ คือ juudd_app ถูก drop หรือถูกเปลี่ยนรหัสผ่านด้วยมือจากเทอร์มินัล เราสร้าง role ขึ้นใหม่แบบ NOBYPASSRLS ให้รหัสผ่านใหม่ ให้สิทธิ์เฉพาะที่ด่านตรวจ schema อนุญาตบนตารางที่มีอยู่ตอนนี้ และเอาเวอร์ชันปัจจุบันของเว็บขึ้นใหม่เพื่อพกมันไป นี่คือการหมุนเวียนรหัส รหัสเก่าจึงใช้ไม่ได้ทันที และฝั่งนี้แยกไม่ออกว่ารหัสผ่านผิดหรือถูก ให้แน่ใจกับการวินิจฉัยก่อน
ตรงกลางของขั้นตอนนี้ ต้องมีคนไปเพิ่มเรกคอร์ด DNS หนึ่งรายการที่ผู้ดูแลโดเมนของตัวเอง ไม่มีเครื่องมือตัวไหนที่นี่ทำแทนได้ และไม่มีตัวไหนมองเห็นตอนที่เขาทำ นั่นคือเหตุผลที่ตัวหนึ่งใช้จองโดเมน และอีกตัวหนึ่งไว้ถามว่าถึงไหนแล้ว
Point a customer’s own domain at a site
จองโดเมนที่คุณมีอยู่แล้วให้เว็บของคุณหนึ่งเว็บ และตอบกลับด้วยเรกคอร์ด CNAME เป๊ะ ๆ ที่ต้องไปเพิ่ม ที่ผู้ให้บริการ DNS ของคุณ แพลตฟอร์มนี้ไม่จดโดเมนให้ คุณเอาโดเมนที่ถืออยู่มาเอง เว็บยังใช้ที่อยู่เดิมได้ด้วย ทั้งสองใช้ได้ และไม่มีอันไหน redirect ไปหาอีกอัน หนึ่งโดเมนเป็นของหนึ่งเว็บ: ถ้าเว็บอื่นจองไปแล้ว มันจะบอกและไม่เปลี่ยนอะไร และ www.example.com กับ example.com คือการจองสองครั้งแยกกัน โดเมนสองแบบรับไม่ได้: โดเมนเปล่าอย่าง example.com ใช้ได้ก็ต่อเมื่อผู้ให้บริการทำ CNAME flattening หรือมีเรกคอร์ด ALIAS หรือ ANAME และโดเมนที่เสิร์ฟผ่าน CDN เจ้าอื่นอยู่ ตรวจสอบไม่ได้ตราบที่ CDN นั้นยังคั่นอยู่ข้างหน้า
Check a claimed domain
บอกว่าโดเมนที่จองไว้ไปถึงไหนแล้ว และพามันไปต่อเมื่อพร้อม ต้องเป็นจริงสองอย่างแยกกันก่อนมันจะเสิร์ฟได้: โดเมนต้องพิสูจน์ได้ว่าชี้มาที่นี่ และต้องออก certificate ให้มันแล้ว ตัวนี้รายงานทั้งสองอย่าง เพราะโดเมนที่ resolve ได้แต่ไม่มี certificate จะพังในเบราว์เซอร์แทนที่จะขึ้น 404 การรอเป็นเรื่องปกติ เพราะ DNS ใช้เวลาเท่าที่ TTL ของผู้ให้บริการคุณกำหนด ซึ่งไม่มีใครควบคุมได้ ตรวจผ่านแล้วก็ยังไม่เท่ากับเสิร์ฟทันที: พอครบทั้งสองอย่าง โดเมนจะเริ่มตอบภายในครู่เดียว request แรกที่พลาดจึงควรลองอีกครั้งก่อนจะสรุปอะไร และมันยังเป็นวิธีเจอโดเมนที่ DNS ย้ายออกไปทีหลังด้วย เพราะไม่มีอะไรประกาศเรื่องนั้น
Stop serving a customer’s domain
ปล่อยโดเมนที่จองไว้: หยุดเสิร์ฟทันที ลบการลงทะเบียนออก และโดเมนกลับมาให้ใครก็จองได้ รวมถึงบัญชีอื่น เว็บ ไฟล์ ประวัติ deploy และฐานข้อมูลอยู่เหมือนเดิมทั้งหมด และเว็บยังใช้ที่อยู่เดิมได้ ไม่มีอะไรเปลี่ยนที่ผู้ให้บริการ DNS ของคุณ เรกคอร์ดที่คุณเพิ่มไว้จึงยังชี้มาที่นี่ และจะ resolve ไปหาอะไรที่ไม่มีประโยชน์จนกว่าคุณจะลบมัน
connector ใส่ได้ใน Claude Code, Claude Desktop, Cursor, VS Code หรืออะไรก็ตามที่คุยด้วย remote MCP ได้ มันจะพาคุณล็อกอินตอนเรียกครั้งแรก
เชื่อมต่อ AI ของคุณ