Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@vmosedge/cli

Package Overview
Dependencies
Maintainers
2
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Potential malware was recently detected in this package.

Affected versions:

1.2.01.3.31.3.6

@vmosedge/cli

VMOS Edge Desktop CLI 工具

latest
npmnpm
Version
1.4.2
Version published
Maintainers
2
Created
Source

@vmosedge/cli

VMOS Edge Desktop CLI. Designed for AI agents — all output is JSON.

Install

npm install -g @vmosedge/cli

Setup

# Set app path (required before app start)
vmos-edge-cli config set app.bin-path "/Applications/VMOS Edge 2.0.app"  # macOS
vmos-edge-cli config set app.bin-path "C:\Program Files\VMOS Edge 2.0\VMOS Edge 2.0.exe"  # Windows

# Start app
vmos-edge-cli app start
vmos-edge-cli app wait-ready

Three Invocation Modes

DirectBatchRun
CLIvmos-edge-cli device list --host <ip>vmos-edge-cli batch '<json>'vmos-edge-cli run <file.yaml>
Notationspaces: device listdots: device.listdots: device.list
ParamsCLI flags: --host <ip>JSON: "args":{"host":"..."}YAML: args: { host: "..." }
Variables$name.path${{ name.field }}

Key rule: Consecutive actions safe to run unconditionally → batch. Actions that require result inspection → direct, one at a time.

# ❌ 3 separate calls
vmos-edge-cli device list --host 10.0.0.5
vmos-edge-cli image list --host 10.0.0.5
vmos-edge-cli host hardware 10.0.0.5

# ✅ 1 batch call
vmos-edge-cli batch '[
  {"action":"device.list","args":{"host":"10.0.0.5"}},
  {"action":"image.list","args":{"host":"10.0.0.5"}},
  {"action":"host.hardware","args":{"ip":"10.0.0.5"}}
]'

Commands

Device

vmos-edge-cli device list --host <ip>
vmos-edge-cli device create --host <ip> --image <repo> --name <name> --count 3 --start
vmos-edge-cli device info --host <ip> <id>
vmos-edge-cli device start --host <ip> <ids...>
vmos-edge-cli device stop --host <ip> <ids...>
vmos-edge-cli device restart --host <ip> <ids...>
vmos-edge-cli device reset --host <ip> <ids...>       # Factory reset (data erased)
vmos-edge-cli device delete --host <ip> <ids...>
vmos-edge-cli device rename --host <ip> <id> <name>
vmos-edge-cli device shell --host <ip> <id> "ls /sdcard"
vmos-edge-cli device screenshot --host <ip> <id> -o shot.png

Host

vmos-edge-cli host check <ip>
vmos-edge-cli host info <ip>
vmos-edge-cli host hardware <ip>
vmos-edge-cli host network <ip>
vmos-edge-cli host templates <ip>
vmos-edge-cli host list --hosts <ip,ip,...>

App

vmos-edge-cli app start [--cdp-port <port>]
vmos-edge-cli app stop
vmos-edge-cli app status
vmos-edge-cli app wait-ready [-t <ms>]       # Default 30s

Image

vmos-edge-cli image list --host <ip>

UI Automation

vmos-edge-cli ui state                        # Page snapshot with [N] indices
vmos-edge-cli ui click <target>
vmos-edge-cli ui type <target> <text>
vmos-edge-cli ui native-type <text>           # CJK/IME safe, click to focus first
vmos-edge-cli ui native-key <key> [-m Ctrl]   # Modifier key support
vmos-edge-cli ui click-precise <target>       # CDP getContentQuads
vmos-edge-cli ui press-key <key>
vmos-edge-cli ui select <target> <value>
vmos-edge-cli ui hover <target>
vmos-edge-cli ui goto <url>
vmos-edge-cli ui back
vmos-edge-cli ui scroll <direction>
vmos-edge-cli ui scroll-to <target>
vmos-edge-cli ui wait <target>
vmos-edge-cli ui wait-text <text>
vmos-edge-cli ui upload <files...> [-t <target>]
vmos-edge-cli ui dialog [--accept|--dismiss]
vmos-edge-cli ui windows
vmos-edge-cli ui form-state
vmos-edge-cli ui network
vmos-edge-cli ui screenshot -o ui.png
vmos-edge-cli ui eval <expression>
vmos-edge-cli ui cdp <method> [json-params]

Other

vmos-edge-cli schema                          # All actions, params, error codes
vmos-edge-cli batch '<json>'                  # Multiple actions in one call
vmos-edge-cli run <file.yaml>                 # YAML playbook
vmos-edge-cli run <file.yaml> --dry-run
vmos-edge-cli run <file.yaml> --report html
vmos-edge-cli config show | set | get

Element Selection (Index-First)

ui state marks each interactive element with [N] (starting from 1). Use the index as default target:

vmos-edge-cli ui state        # Read indices
vmos-edge-cli ui click 3      # Click element [3]

Fallback to semantic selectors when index is impractical:

SelectorExample
text="text=Save"
placeholder="placeholder=Enter email"
role="role=button text=OK"
testid="testid=submit-btn"
label="label=Username"
CSS"button.primary"

Param Name Convention

CLI flags use --kebab-case. Batch/YAML args use snake_case:

--device-typedevice_type, --adi-nameadi_name, -ooutput

Output Format

All commands return JSON:

{"ok": true, "data": ...}
{"ok": false, "error": "...", "code": "HOST_UNREACHABLE"}

Error Codes

CodeExitAction
HOST_NOT_SET2Pass --host <ip>
INVALID_ARGS2Fix params
DEVICE_NOT_FOUND66device list for correct ID
IMAGE_NOT_FOUND66image list for correct image
ELEMENT_NOT_FOUND66ui state to refresh indices
APP_NOT_RUNNING69app start
HOST_UNREACHABLE69Check network
CDP_NOT_READY69Wait for app startup
TIMEOUT75Retry
TRANSIENT75Retry once, then inspect state
OPERATION_FAILED1Check error message
ASSERTION_FAILED1Re-inspect state
CONFIG_MISSING78config set
UNKNOWN1Check raw error

47 actions — run vmos-edge-cli schema for full details.

FAQs

Package last updated on 10 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts