Command-line reference
The v_ase executable has three command groups: gui, remote, and api.
Run v_ase COMMAND --help for the parser generated by the installed release.
Top-level syntax
v_ase [-h] [--version] {gui,remote,api} ...
For ASE-GUI-style convenience, a non-option first argument is normalized to
gui:
v_ase POSCAR
# equivalent to
v_ase gui POSCAR
v_ase gui
v_ase gui [FILE] [OPTIONS]
With no file, the command opens an empty editable workspace. A local file opens
in View unless --interactive is present. HOST:/absolute/path starts the
backend on an SSH host and renders through a local browser.
Input and output
Option |
Meaning |
|---|---|
|
Optional structure, trajectory, |
|
ASE read index; |
|
Write the finalized edited structure |
|
Override input reader inference |
|
Override ASE output format inference |
`–volumetric-precision fp32 |
fp64` |
Common format aliases include POSCAR, XDATCAR, vasprun.xml, lammpstrj,
data, traj, xyz, extxyz, CHG, CHGCAR, PARCHG, LOCPOT, ELFCAR,
cube, xsf, vase, and html. Raw ASE format names such as vasp-xml and
lammps-data also work.
Browser and lifecycle
Option |
Meaning |
|---|---|
|
Bind a predetermined loopback port instead of selecting a free one |
|
Do not launch a browser; print the URL |
|
Return from document waiting but keep the local process/server until interrupted |
|
Transfer trajectory coordinates per frame instead of preloading a browser cache |
The server remains bound to 127.0.0.1. In the default blocking mode, closing
the final connected v_ase browser page finalizes output and releases the
process.
Initial display and edit mode
Option |
Meaning |
|---|---|
|
Start with inferred bonds visible (default) |
|
Start with bonds hidden |
|
Start with the unit cell hidden |
|
Start with axes hidden |
|
Start in Edit with mutation, history, constraints, and relaxation |
Projects and imported visual settings may provide more specific restored state.
Machine-readable collaboration
--cli suppresses automatic browser launch and prints:
one JSON discovery handshake as the first stdout line;
later
v_ase.collaboration.v1NDJSON change events.
It does not parse natural language or accept commands on stdin. An external
agent sends structured JSON through the handshake’s loopback command_url,
normally using v_ase api. Status text is written to stderr so stdout remains
machine-readable.
v_ase gui structure.vasp --interactive --cli
Open human_url from the handshake to work in the same live document.
Remote paths and runtimes
Start a remote session:
v_ase gui USER@HOST:/absolute/path/to/trajectory.extxyz
The same v_ase release must be installed remotely. If a non-interactive SSH shell does not find the intended executable, select it for one launch:
v_ase gui physics:/data/POSCAR \
--remote-python /home/user/miniconda3/envs/vase/bin/python
v_ase remote
Persist the exact Python executable for a host string:
v_ase remote configure physics \
--python /home/user/miniconda3/envs/vase/bin/python
v_ase remote show
v_ase remote show physics
v_ase remote remove physics
The one-launch --remote-python value takes priority over the saved mapping.
The configuration stores only host names and absolute Python paths in the local
user configuration area; it does not copy SSH credentials or scientific files.
v_ase api
v_ase api COMMAND_URL METHOD [OPTIONS]
COMMAND_URL comes from the first line of v_ase gui ... --cli. Supported
methods are:
Method |
Purpose |
|---|---|
|
Wait for the live browser/document bridge |
|
Read a compact operation/export index or one focused typed contract |
|
Read one exact semantic state profile and current revision |
|
Read a compact live feature/catalog index; request full only for integration diagnostics |
|
List workspace documents |
|
Activate one document before subsequent commands |
|
Create an empty workspace document |
|
Apply display/selection/camera/structure operations |
|
Capture the exact image-rendering path |
|
Generate a named scientific/media/project export |
Parameters
Pass a JSON value directly or from a UTF-8 file:
v_ase api "$COMMAND_URL" schema --operation-schema move-selection
v_ase api "$COMMAND_URL" describe --profile structure --include-positions
v_ase api "$COMMAND_URL" apply \
--params-file command.json
Bare schema and describe default to compact summary responses. Schema
shortcuts are repeatable --operation-schema NAME, --export-schema FORMAT, and
--schema-method apply|describe|render; use --full-schema only for integration
audits. Describe profiles are summary, structure, appearance, bonding,
render, analysis, and full, with opt-in --include-positions,
--include-properties, and --include-overrides. CLI apply responses default
to summary plus mutation.changedPaths; choose another with
--response-profile.
--timeout SECONDS defaults to 300 and is capped at 1800.
Saving returned data
render and export can return a data URL. Decode it atomically to a file:
v_ase api "$COMMAND_URL" render \
--params-file render.json \
--save figure.webp
--save refuses to replace an existing file. Add --force only after the
destination is verified and replacement is intended.
Without --save, render/export dataUrl values are omitted from stdout by
default so Base64 does not enter terminal or AI context. Use
--print-data-url only when an integration explicitly requires the raw URL.
Revision-safe mutation
Read describe, take its current collaboration revision, and include that as
expectedRevision in the next apply mutation. If a researcher edits the GUI
first, the stale command is rejected before mutation; re-read state and plan
from the newer revision.
The complete workflow and JSON shape are in AI-agent integration.
Exit codes and errors
Parser/JSON errors and failed commands return a nonzero code and write a concise
diagnostic to stderr. api --params reports JSON line and column. A --save
failure does not expose binary payload on stdout as ordinary terminal text.
If startup detects a NumPy/SciPy/matscipy binary mismatch, it reports a direct environment repair command before trying to interpret the source file. See Troubleshooting.