Tự động hóa và JSON
Hợp đồng `--json` cố định, mã thoát, máy task dùng một lần và MCP server.
Mọi lệnh đều nhận --json và xuất dữ liệu máy đọc được ra stdout, lỗi ra
stderr và mã thoát có ý nghĩa. Các dạng dữ liệu cố định: mọi object đều
mang apiVersion: 1, trường chỉ được thêm, và thay đổi phá vỡ sẽ tăng phiên
bản. Chúng được khóa bởi bộ kiểm thử.
Đầu ra được in đẹp với khóa đã sắp xếp và ngày ISO-8601.
Shapes
| Shape | Commands |
|---|---|
VMSummaryJSON | list, info, create |
SnapshotJSON | snapshot list |
OperationJSON | mutating commands — snapshot, reset, clone, archive, rm, … |
LogLineJSON | logs |
AddressJSON | ip |
DiskUsageReportJSON | du |
GuideJSON | guide <guest> |
VMSummaryJSON mang name, id, guest, state, cpuCount, memoryBytes,
diskBytes, network, path, address, snapshotCount, isTemplate, waitingForDHCP
và networkStatistics. list --json bao gồm máy đã lưu trữ với
state: "archived".
OperationJSON mang ok, operation, vm, detail và
durationMilliseconds — đó là cách bạn lấy thời gian snapshot đo được thay
vì tin lời ai đó.
Exit codes
| Code | Meaning |
|---|---|
| 0 | ok |
| 1 | failed |
| 2 | usage |
| 3 | not found |
| 4 | wrong state |
| 5 | unsupported |
Lệnh phá hủy từ chối với exit 4 thay vì nhắc. Không có lời nhắc tương
tác, nên script không bao giờ treo chờ con người. Truyền --force hoặc
--yes khi bạn thực sự muốn.
Một script đáng tin cậy
Sai lầm là coi "running" là "ready". wait-ready chặn cho đến khi guest thực
sự có thể truy cập:
set -e
1vm create ci --from ubuntu-golden
1vm start ci --detach
1vm wait-ready ci
1vm exec ci -- ./run-tests.sh
1vm discard-session ci --force
Máy dùng một lần trong một lệnh
task run thực hiện toàn bộ vòng clone-wait-exec-dispose cho bạn:
1vm task run -- ./build.sh
Nó clone golden image đã ghim, chờ sẵn sàng, chạy lệnh và loại bỏ máy. Golden
image được quản lý bằng template pin, template list và golden capture.
MCP
1VMTool nói Model Context Protocol, nên agent AI có thể sở hữu và điều khiển máy trực tiếp:
1vm mcp serve # JSON-RPC on stdio
1vm mcp install-snippet claude # config JSON for a host
1vm agent gc # delete stopped agent-created machines
agent gc quan trọng: agent tạo máy không nên để chúng nằm rải rác, và đây
là động từ dọn dẹp.