SlateVM
ทางการแพลตฟอร์ม VM พื้นเมืองสำหรับ Apple silicon พร้อมเครื่องมือ MCP 45 รายการสำหรับสร้าง สังเกต และใช้งานแขก macOS, Linux และ Windows 11 ARM
คุณทำอะไรได้บ้างด้วย SlateVM MCP?
- สร้างและบูต VM — สร้าง VM จากอิมเมจการติดตั้งที่ระบุไว้ จากนั้นเริ่มทำงานและรอจนกว่าจะถึงสถานะรันที่ต้องการ
- สังเกตการณ์เกสต์ — จับภาพหน้าจอ อ่านข้อความคอนโซล หรือรอให้รูปแบบ regex ปรากฏบนคอนโซล
- ควบคุมเกสต์ — ฉีดอินพุตคีย์บอร์ด พอยน์เตอร์ และข้อความ หรือรันคำสั่งภายในเกสต์ที่บูตแล้วผ่านคีย์ SSH เฉพาะของ VM นั้น
- กำหนดค่าฮาร์ดแวร์ — ปรับใช้การตั้งค่าฮาร์ดแวร์และเครือข่ายแบบสด ขยายดิสก์ หรือตั้งค่าความละเอียดหน้าจอและขนาดหน้าต่างคอนโซล
- แชร์โฟลเดอร์โฮสต์ — เพิ่มหรือลบโฟลเดอร์ที่แชร์ผ่าน virtio-fs ใน VM ของ mac/Linux และสลับแฟล็กอ่านอย่างเดียว
- วินิจฉัยปัญหา — ดึงชุดข้อมูลวินิจฉัยแบบครั้งเดียว หรือติดตามบรรทัดล็อกล่าสุดเมื่อ VM ไม่ยอมบูต
เอกสาร
คอมพิวเตอร์จริงที่ AI ของคุณมองเห็นและควบคุมได้
MCP server ที่มีมาในตัวของ SlateVM มอบเครื่องมือแบบมีโครงสร้าง 46 รายการให้กับ AI client ที่เข้ากันได้ทุกตัว เพื่อสร้างเครื่องเสมือน ดูหน้าจอของเครื่องเหล่านั้น พิมพ์และคลิก รันคำสั่งภายใน guest และตรวจสอบผลลัพธ์ — ด้วยสัญญาเดียวกันบน Mac, Windows และ Linux
ระบบอัตโนมัติพร้อมหลักฐานในทุกขั้นตอน
สังเกต
สถานะและงานแบบเรียลไทม์ การจับภาพหน้าจอ ข้อความบนหน้าจอ (OCR) ข้อความจาก serial console สำหรับ Linux แบบ headless บันทึก (logs) และที่อยู่เครือข่ายของ guest
ลงมือ
การป้อนข้อมูลด้วยคีย์บอร์ด ตัวชี้ การเลื่อน และข้อความ; คำสั่งภายใน guest ผ่าน SSH identity เฉพาะของแต่ละ VM; การเปลี่ยนแปลงฮาร์ดแวร์ ดิสก์ จอแสดงผล เครือข่าย และโฟลเดอร์ที่แชร์
ตรวจสอบ
รอให้ถึงสถานะหนึ่งหรือรอให้ข้อความปรากฏ จับภาพหน้าจอที่เปลี่ยนแปลง และอ่านข้อมูลวินิจฉัยก่อนรายงานกลับ
ไม่ใช่ตัวห่อ shell ไม่ใช่การสคริปต์ UI
อะแดปเตอร์โลคอลขนาดเล็กเชื่อมต่อ AI client ของคุณกับ SlateVM ผ่านช่องทางที่ไม่เคยออกจากเครื่องของคุณ SlateVM — คอมโพเนนต์ที่เป็นเจ้าของ VM — ตอบทุกการเรียก ดังนั้น agent จึงเห็นความจริงเดียวกันกับแอป MCP ในไฮเปอร์ไวเซอร์ →
เครื่องมือทั้ง 46 รายการ
ชื่อ สคีมา และรหัสข้อผิดพลาดเหมือนกันทุกโฮสต์ โฮสต์ที่ไม่สามารถทำบางสิ่งได้ (เช่น guest ของ macOS นอกเครื่อง Mac) จะคืนข้อผิดพลาดที่ชัดเจนแทนที่จะเป็นเครื่องมือที่แตกต่างออกไป
แอป (4)
launch_app
เปิดแอป SlateVM (แบบมองเห็นได้, เบื้องหน้า)
quit_app
ปิดแอป SlateVM
app_status
รายงานว่าแอป SlateVM กำลังทำงานอยู่หรือไม่ ช่องทางโลคอลสำหรับควบคุมเข้าถึงได้หรือไม่ และเวอร์ชัน/build ของแอปที่กำลังทำงาน (อ่านสดจาก bundle ของแอป จึงยังถูกต้องแม้หลังการอัปเดตอัตโนมัติสลับแอประหว่างเซสชัน)
host_capabilities
รายงานความสามารถของโฮสต์: การรองรับ nested-virt, พื้นที่ดิสก์ว่าง, สิทธิ์ virtualization, เวอร์ชัน macOS
สร้างและติดตั้ง (7)
create_vm
สร้าง VM ใหม่
list_images
แสดงรายการอิมเมจติดตั้ง OS ทั้งหมดที่ SlateVM มองเห็น (แคชอิมเมจของมัน + โฟลเดอร์ Downloads ของคุณ) พร้อม os ที่คาดเดา ขนาด และว่าเข้าถึงได้หรือไม่ — เพื่อให้คุณเลือกพาธสำหรับ create_vm ได้เองโดยไม่ต้องมีใครยื่นให้
list_restore_images
แสดงรายการอิมเมจกู้คืน macOS (.ipsw) ที่ SlateVM รู้จัก
set_installer_media
ชี้พาธอิมเมจตัวติดตั้งของ VM ที่หยุดอยู่ไปยังพาธใหม่ที่เข้าถึงได้ และเขียน bookmark ใหม่
finish_install
ทำเครื่องหมายอย่างชัดเจนว่าการติดตั้ง OS ของ VM เสร็จสมบูรณ์: ถอด ISO/สื่อติดตั้งออก และเปลี่ยน installState จาก 'installing' เป็น 'installed'
apply_guest_tools
เตรียม/ติดตั้งแผ่น guest-tools สำหรับ VM
set_attach_linux_guest_tools
สลับการเมานต์แผ่น SlateVM Tools สำหรับ VM Linux แบบเดสก์ท็อป
วงจรชีวิต (8)
list_vms
แสดงรายการเครื่องเสมือน SlateVM ทั้งหมดพร้อมสถานะและฮาร์ดแวร์
get_vm
รับการกำหนดค่าทั้งหมดของ VM หนึ่งเครื่อง
start_vm
บูต VM และเปิดหน้าต่างคอนโซลของมัน (แบบมองเห็นได้)
stop_vm
หยุด VM ที่กำลังทำงาน
suspend_resume_vm
สลับการพัก/กลับมาทำงานต่อสำหรับ VM ที่กำลังทำงาน
wait_for_state
บล็อกจนกว่า VM จะถึงสถานะการทำงานเป้าหมาย หรือหมดเวลา
delete_vm
ลบ VM (ย้าย bundle ของมันไปยังถังขยะ)
reveal_vm
เปิดเผย bundle ของ VM ในตัวเรียกดูไฟล์
มองเห็นเครื่อง (4)
capture_screen
จับภาพหน้าจอของ guest
read_console_text
อ่านคอนโซลของ guest เป็นข้อความ
wait_for_text
บล็อกจนกว่า pattern\ (regex แบบไม่สนตัวพิมพ์) จะปรากฏบนคอนโซลของ guest หรือหมดเวลา — คอยโพลให้คุณเพื่อไม่ต้อง sleep แล้วจับภาพหน้าจอเอง
read_guest_clipboard
ดึงข้อความ TEXT จาก guest แบบกราฟิก — อะนาล็อกของ read_console_text บน framebuffer (ซึ่งครอบคลุมเฉพาะ Linux แบบ headless ผ่าน serial)
ลงมือกับเครื่อง (5)
send_input
ฉีดอินพุตเข้าไปใน guest (ไม่ใช่เดสก์ท็อปของ Mac)
run_in_guest
รันคำสั่งใน guest ที่บูตแล้วผ่าน SSH โดยใช้คีย์ AI เฉพาะของ VM นั้น
provision_ssh
คืนค่า SSH public key เฉพาะของแต่ละ VM พร้อม installCommand
ssh_status
รายงานว่า VM มีคีย์ AI SSH เตรียมไว้แล้วหรือไม่ และ public key ของมัน
revoke_ssh
ลบคีย์ AI SSH ฝั่งโฮสต์สำหรับ VM
กำหนดค่า (7)
set_hardware
ปรับใช้การตั้งค่าฮาร์ดแวร์/เครือข่ายกับ VM แบบสด
resize_disk
ขยายดิสก์ของ VM
set_display_resolution
ตั้งความละเอียดจอแสดงผลของ guest (Linux server แบบ headless; มีผลในการบูตครั้งถัดไป)
set_console_window_size
ตั้งขนาดหน้าต่างคอนโซลสำหรับ VM
add_shared_folder
แชร์โฟลเดอร์ของโฮสต์เข้า VM ของ mac/Linux (virtio-fs)
remove_shared_folder
ลบโฟลเดอร์ที่แชร์ออกจาก VM
set_shared_folder_readonly
ตั้งค่าสถานะอ่านอย่างเดียวของโฟลเดอร์ที่แชร์
เครือข่าย (6)
guest_network
ค้นหาที่อยู่ IP ของ guest ที่กำลังทำงานจาก MAC ผ่านตาราง DHCP lease และ ARP (อ่านอย่างเดียว)
set_linux_network_path
ตั้งค่าไดรเวอร์ NAT ของ VM Linux: native (Apple VZNAT) หรือ service (socket_vmnet)
networking_status
รายงานว่าบริการเครือข่ายของ SlateVM ติดตั้งแล้วและทำงานปกติหรือไม่
networking_install
ติดตั้งบริการเครือข่ายของ SlateVM
networking_repair
ซ่อมแซม/ติดตั้งบริการเครือข่ายของ SlateVM ใหม่ (ต้องอนุมัติโดยผู้ดูแล)
networking_uninstall
ถอนการติดตั้งบริการเครือข่ายของ SlateVM (ต้องอนุมัติโดยผู้ดูแล)
งานและข้อมูลวินิจฉัย (5)
job_status
รับสถานะของงานเบื้องหลัง (running/succeeded/failed) ขั้นตอนล่าสุด และผลลัพธ์หรือข้อผิดพลาดของมัน
job_wait
บล็อกจนกว่างานเบื้องหลังจะเสร็จสิ้นหรือหมดเวลา; คืนสถานะ + ผลลัพธ์/ข้อผิดพลาด
list_jobs
แสดงรายการงานเบื้องหลังล่าสุดและสถานะของแต่ละงาน
get_diagnostics
ชุดข้อมูลแก้ปัญหาครั้งเดียวสำหรับ VM: สถานะ, lastError ({code, message} — เหตุผลที่ VM บูตไม่ขึ้น เช่น MEDIA_INACCESSIBLE), การเข้าถึงสื่อของแต่ละไดรฟ์, บรรทัดบันทึกล่าสุด, ขนาดดิสก์, สุขภาพของบริการเครือข่าย และการกำหนดค่า เรียกสิ่งนี้ก่อนเมื่อมีอะไรผิดปกติ
tail_log
คืนบรรทัดบันทึกล่าสุดสำหรับ VM