- AI coding agent เป็นเครื่องมือที่ช่วยให้สามารถ สร้างและควบคุม cloud sandbox ได้โดยตรงจากบรรทัดคำสั่ง พร้อมสตาร์ตอินสแตนซ์ VM และ GPU ให้อัตโนมัติ
- สร้างสภาพแวดล้อมพัฒนาระยะไกลจากไดเรกทอรีในเครื่องหรือ Git repository และรองรับการเข้าถึงได้หลากหลายแบบ เช่น VS Code·Jupyter·VNC·เทอร์มินัล
- ผ่าน การผสานรวม Chrome CDP จึงสามารถทำงานอัตโนมัติจาก CLI ได้ เช่น การท่องเว็บ การป้อนข้อมูล การคลิก การจับภาพหน้าจอ และการดึงข้อมูล
- ให้การควบคุมทรัพยากรอย่างละเอียด เช่น อัปโหลด·ดาวน์โหลดไฟล์และซิงก์อัตโนมัติ, การเลือก GPU (
--gpu H100:2 เป็นต้น), การปรับขนาด (--size small เป็นต้น)
- โอเพนซอร์ส (MIT) ใช้งานได้บน macOS·Linux·Windows
ภาพรวม
- cloudrouter คือสกิลแบบ CLI ที่ช่วยให้ AI coding agent อย่าง Claude Code, Codex, Cursor สามารถสร้างและจัดการ VM และ GPU sandbox บนคลาวด์ได้
- สามารถสร้าง sandbox จากบรรทัดคำสั่ง รันคำสั่ง โอนไฟล์ และทำ browser automation ได้
- ติดตั้งได้ด้วยคำสั่ง
npx skills add manaflow-ai/cloudrouter
การติดตั้งและการยืนยันตัวตน
- สามารถเพิ่มเป็นสกิลสำหรับ AI agent หรือติดตั้งเป็น CLI แบบสแตนด์อโลนได้
- หลังจาก
npm install -g @manaflow-ai/cloudrouter ให้ยืนยันตัวตนด้วย cloudrouter login
- ใช้ได้ทั้งคำสั่ง
cloudrouter และ cr
ฟีเจอร์หลัก
- Cloud sandbox ที่พร้อมใช้งานทันที: สร้าง remote VM จากไดเรกทอรีในเครื่อง, Git repository หรือเทมเพลต
- รองรับ Docker และมีการซิงก์ไฟล์อัตโนมัติรวมอยู่ด้วย
- การผสานรวมกับ AI agent: สร้าง sandbox, รันโค้ด และทำ browser automation ได้โดยตรงจาก Claude Code, Cursor เป็นต้น
- Browser automation: ใช้ Chrome CDP สำหรับการท่องเว็บ การคลิก การป้อนข้อมูล การจับภาพหน้าจอ และการวิเคราะห์ accessibility tree
- วิธีการเข้าถึงหลายแบบ: รองรับการเข้าถึงได้หลายรูปแบบ เช่น VS Code บนเบราว์เซอร์, VNC desktop, เทอร์มินัล และการรันคำสั่งเดี่ยว
- การโอนไฟล์: รองรับการอัปโหลด·ดาวน์โหลด และการอัปโหลดซ้ำอัตโนมัติเมื่อตรวจพบการเปลี่ยนแปลง
- โอเพนซอร์ส: ใช้ไลเซนส์ MIT เขียนด้วยภาษา Go และเผยแพร่เป็น npm package สำหรับ macOS·Linux·Windows
ตัวเลือก GPU และอินสแตนซ์
- sandbox มาตรฐานพร้อมใช้งานได้ทันที และสามารถเพิ่ม GPU instance ด้วยตัวเลือก
--gpu
- ตัวอย่าง:
--gpu H100:2 คือใช้ H100 GPU จำนวน 2 ตัว
- ประเภท GPU และการใช้งาน
- T4 (16GB) : การอนุมานโมเดลขนาดเล็ก·การปรับจูนละเอียด
- L4 (24GB) : การสร้างภาพ
- A10G (24GB) : การฝึกโมเดลขนาดกลาง
- L40S (48GB) : การสร้างวิดีโอ
- A100 (40GB) : การฝึกโมเดลขนาดใหญ่ (7B–70B)
- H100 (80GB) , H200 (141GB) , B200 (192GB) : สำหรับงานวิจัยสมรรถนะสูงและ frontier model
Browser automation
- แต่ละ sandbox มี เบราว์เซอร์ที่ผสานรวมกับ Chrome CDP มาให้
- สามารถเปิด URL, ดู accessibility tree snapshot, โต้ตอบกับองค์ประกอบ และจับภาพหน้าจอได้
- ตัวอย่าง:
cloudrouter browser open cr_abc123 "https://example.com"
cloudrouter browser fill cr_abc123 @e1 "user@example.com"
cloudrouter browser click cr_abc123 @e3
การจัดการ sandbox
- มีคำสั่งสำหรับจัดการ เช่น ดูรายการ sandbox ที่กำลังรัน ตรวจสอบสถานะ หยุด·ลบ
cloudrouter ls, cloudrouter stop , cloudrouter delete
- รองรับการหยุดชั่วคราว (
stop) และกลับมาทำงานต่อ (resume) พร้อมขยาย timeout ได้ด้วย (extend)
- จำกัดจำนวน sandbox ที่รันพร้อมกันสูงสุด 10 ตัว
การโอนไฟล์และการซิงก์
- รองรับ การโอนไฟล์สองทาง ระหว่างเครื่องโลคัลและ sandbox
- อัปโหลด:
cloudrouter upload ./src
- ดาวน์โหลด:
cloudrouter download ./dist
- ตั้งค่าอัปโหลดอัตโนมัติเมื่อมีการเปลี่ยนแปลง (
--watch) และรูปแบบไฟล์ที่ต้องการยกเว้น (-e "*.log") ได้
การเข้าถึงสภาพแวดล้อมพัฒนา
- มีอินเทอร์เฟซสำหรับการพัฒนาระยะไกลหลายแบบ
- VS Code:
cloudrouter code
- Jupyter Lab:
cloudrouter jupyter
- VNC desktop:
cloudrouter vnc
- เทอร์มินัลเซสชัน:
cloudrouter pty
แนวทางด้านความปลอดภัย
- E2B port forwarding URL เป็นลิงก์สาธารณะที่เข้าถึงได้โดยไม่ต้องยืนยันตัวตน จึงห้ามแชร์เด็ดขาด
- ควรแชร์เฉพาะ VNC, VS Code, Jupyter URL ที่ปลอดภัยกว่าเท่านั้น
- การเข้าถึง development server ให้ทำผ่าน
cloudrouter vnc
คู่มือแก้ปัญหา
- หากเกิดข้อผิดพลาด
npm install: ต้องรันคำสั่ง sudo chown -R 1000:1000 /home/user/.npm
- หากคำสั่ง
ssh ล้มเหลว: ต้องครอบทั้งคำสั่งด้วยเครื่องหมายอัญประกาศ
- หากคำสั่งเบราว์เซอร์ล้มเหลว: หลังสร้าง sandbox ใหม่ต้องรอสักครู่
- ระบุกรณีผิดพลาดที่พบบ่อย เช่น ลำดับแฟลก
snapshot ไม่ถูกต้อง หรือใช้แฟลก extend ผิด
โอเพนซอร์สและการสนับสนุน
- เผยแพร่ภายใต้ MIT license และดูโค้ดได้บน GitHub
- รองรับ macOS, Linux, Windows
- ช่องทางทางการ: GitHub, Twitter, Discord
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
cloudrouter start .บนเครื่องโลคัลของฉัน แล้วมันขอรหัสผ่านเพื่อยืนยันตัวตนกับเซิร์ฟเวอร์เลย เปิด issue ไว้
ถ้ายัดหลายฟังก์ชันไว้ในเครื่องมือเดียวแบบฝืน ๆ จะทำให้แก้ไขหรือขยายต่อได้ยาก และความยืดหยุ่นก็ลดลง
ฉันชอบ เครื่องมือแบบคอมโพเนนต์ขนาดเล็กที่เชื่อมกันแบบหลวม ๆ มากกว่า แบบนี้ผู้ใช้จะแก้เองหรือเอาไปประกอบต่อได้ง่าย
Docker template ก็ดูเป็นแนวทางที่มัดหลายแอปไว้ในคอนเทนเนอร์เดียว ซึ่งเพิ่มภาระด้านการ build, การซัพพอร์ต และความเข้ากันได้
แยกแต่ละแอปเป็นคนละคอนเทนเนอร์แล้วเชื่อมกันด้วย TCP, socket หรือ volume น่าจะดีกว่า
อีกอย่าง การที่โค้ดยืนยันตัวตนปนกับ browser logic ก็ดูเป็นสัญญาณของการยึดโยงหน้าที่ที่ไม่ดี
แล้วฉันเห็นส่วนในโค้ด rsync ที่ปิดการตรวจสอบ SSH host key ด้วย ซึ่งถือว่า เสี่ยงด้านความปลอดภัย มาก
ฉันเลือกใช้โครงสร้างแบบ monolithic เพื่อให้เริ่มต้นได้เร็วและเรียบง่าย แต่ก็แลกมากับอิสระในการตั้งค่าที่ลดลง
สำหรับ Docker template เป้าหมายคือให้อัปโหลด working directory ของเอเจนต์แล้วเปิดสภาพแวดล้อมพัฒนาได้ทันที
ถ้าแยกเป็นหลายคอนเทนเนอร์ ความซับซ้อนเรื่อง mount, networking และอื่น ๆ จะเพิ่มขึ้น
SSH ไม่ได้เชื่อมต่อกับโฮสต์จริงโดยตรง แต่ถูก tunnel ผ่าน TLS WebSocket
ใช้ทั้งโทเคนยืนยันตัวตนต่อเซสชันและ คีย์ VM ชั่วคราว ทำให้พอร์ต SSH ไม่ได้เปิดออกสู่ภายนอก
ช่วงหลังเราเพิ่ม ความสามารถรองรับเอเจนต์ เข้าไป
เราโฟกัสที่ container orchestration ตั้งแต่การพัฒนาไปจนถึงการเทรนและการอนุมาน
ไม่ต้องวุ่นกับการตั้งค่าบัญชีคลาวด์, security group หรือการจัดการ SSH key
cloudrouter มี Docker/VNC/Jupyter Lab มาให้ล่วงหน้าอยู่แล้ว จึงไม่ต้องกังวลเรื่องตั้งค่าสภาพแวดล้อม