Docs · Referensi

Otomasi dan JSON

Kontrak `--json` yang beku, kode keluar, mesin task sekali pakai, dan server MCP.

Setiap perintah menerima --json dan mengeluarkan output yang dapat dibaca mesin ke stdout, error ke stderr, dan kode keluar yang bermakna. Bentuk-bentuknya beku: setiap objek membawa apiVersion: 1, field hanya ditambahkan, dan perubahan breaking menaikkan versi. Mereka dikunci oleh test suite.

Output dicetak rapi dengan kunci terurut dan tanggal ISO-8601.

Bentuk

ShapeCommands
VMSummaryJSONlist, info, create
SnapshotJSONsnapshot list
OperationJSONmutating commands — snapshot, reset, clone, archive, rm, …
LogLineJSONlogs
AddressJSONip
DiskUsageReportJSONdu
GuideJSONguide <guest>

VMSummaryJSON membawa name, id, guest, state, cpuCount, memoryBytes, diskBytes, network, path, address, snapshotCount, isTemplate, waitingForDHCP dan networkStatistics. list --json menyertakan mesin yang diarsipkan dengan state: "archived".

OperationJSON membawa ok, operation, vm, detail dan durationMilliseconds — cara Anda mendapat waktu snapshot terukur tanpa harus percaya kata-kata saja.

Kode keluar

CodeMeaning
0ok
1failed
2usage
3not found
4wrong state
5unsupported

Perintah destruktif menolak dengan exit 4 alih-alih meminta konfirmasi. Tidak ada prompt interaktif, jadi skrip tidak pernah menunggu manusia. Berikan --force atau --yes jika Anda serius.

Skrip yang andal

Kesalahannya adalah memperlakukan "running" sebagai "ready". wait-ready menunggu sampai guest benar-benar dapat dijangkau:

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

Mesin sekali pakai dalam satu perintah

task run melakukan seluruh loop clone-wait-exec-dispose untuk Anda:

1vm task run -- ./build.sh

Ia mengkloning golden image yang disematkan, menunggu kesiapan, menjalankan perintah dan membuang mesin. Golden image dikelola dengan template pin, template list dan golden capture.

MCP

1VMTool berbicara Model Context Protocol, sehingga agen AI dapat memiliki dan mengendalikan mesin secara langsung:

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 penting: agen yang membuat mesin tidak boleh membiarkannya tergeletak, dan ini adalah kata kerja pembersihan.