VNT Operations
Use the packaged VNT programs and their supported APIs. Treat the checked-in source as the authority when a local build differs from this skill.
Route the task
- For
vnt2_cli,vnt2_ctrl,vnt2_web, the desktop client, or client TOML/CLI parameters, read references/client-usage.md. - For the
vnt2_webor desktop Web-access API, read references/client-web-api.md. - For building, installing, configuring, upgrading, or troubleshooting the self-hosted server in
D:\rust\vnts, read references/server-deployment.md. - For the VNTS administrative API, read references/server-web-api.md.
- For repeatable HTTP calls, use scripts/vnt_api.py. Run
python scripts/vnt_api.py --helpand the relevant subcommand help before first use.
Read only the references required by the current request. If behavior appears version-dependent, check the current binary's --help/--conf-example or the source paths named in the relevant reference before acting.
Acquire API access
Client and server authentication are separate and their tokens are not interchangeable.
For a client Web API task, if access data is missing, ask for either:
- the complete access URL printed by
vnt2_web, such ashttp://host:19099/?token=...; or - the API base URL and Web access token separately.
Parse the token query parameter, remove it from subsequent request URLs, and send it only as Authorization: Bearer <token>. Probe /api/version and /api/runtime before relying on the rest of the API.
For a VNTS administrative API task, if access data is missing, ask for the management base URL, username, and password. Log in at /api/login, then use the returned JWT as the Bearer token. A client Web token does not authenticate to VNTS.
Never echo secrets, include them in summaries, commit them, or persist them in the skill/repository. Prefer the helper's stdin or environment-variable inputs over command-line secret arguments. Redact credentials from errors. On 401, refresh or request credentials once; if the retry also fails, stop and report the authentication failure.
Respect operation scope
Read-only inspection may proceed when it is relevant. Start, stop, restart, save, or update only when the user's request authorizes that mutation. Before a delete that was not already explicit, identify the exact instance, configuration, network, device, or peer server and obtain confirmation.
After a mutation, read back the affected resource or status. For asynchronous client startup, poll /api/start/status until Running or Stopped, report the terminal state, and include useful logs without credentials.
For remote deployment, establish the target host, architecture, SSH access method, public name/address, and intended open ports before changing the host. Do not assume access to a production server merely because the local D:\rust\vnts source is available.