pub enum Command {
Show 30 variants
SessionOpen {
policy: Option<String>,
},
SessionClose,
Open {
url: String,
},
Close {
page: String,
},
View {
page: String,
full: bool,
},
Read {
page: String,
r: u32,
},
Act {
page: String,
r: u32,
op: String,
value: Option<String>,
token: String,
group: Option<String>,
},
Find {
query: String,
},
Wait {
page: String,
cond: String,
value: Option<String>,
timeout: u64,
},
Status,
Extract {
page: String,
schema: String,
token: String,
},
Mark {
page: String,
r: u32,
name: String,
token: String,
},
Annotate {
target: String,
key: String,
value: Option<String>,
},
Log {
page: Option<String>,
group: Option<String>,
since: Option<i64>,
limit: Option<i64>,
},
Skill {
sub: Option<String>,
name: Option<String>,
},
Capture {
page: String,
r: Option<u32>,
full_page: bool,
base64: bool,
},
Viewport {
page: String,
spec: String,
dpr: u32,
},
Layout {
page: String,
refs: Vec<u32>,
},
Auth {
sub: String,
rest: Vec<String>,
},
Inspect {
page: String,
kind: String,
rest: Vec<String>,
since: Option<String>,
level: Option<String>,
status: Option<String>,
max: Option<String>,
full: bool,
unsafe_log: bool,
},
MoveTo {
page: String,
x: f64,
y: f64,
mode: String,
},
ClickAt {
page: String,
x: f64,
y: f64,
token: String,
mode: String,
},
HoverAt {
page: String,
x: f64,
y: f64,
mode: String,
},
Drag {
page: String,
x1: f64,
y1: f64,
x2: f64,
y2: f64,
token: String,
mode: String,
},
PromptInput {
page: String,
r: u32,
message: String,
secret: bool,
token: String,
group: Option<String>,
},
PromptConfirm {
page: String,
message: String,
},
PromptInputQueue {
page: String,
r: u32,
message: String,
secret: bool,
token: String,
group: Option<String>,
timeout_ms: u64,
},
Pending {
sub: PendingSub,
},
Serve {
stop: bool,
},
Mcp,
}Expand description
The subcommand vocabulary. One variant per primitive.
Each variant has a visible_alias short form for token economy in
agent contexts (mirrors agented’s s / i / d / w / br
pattern). Long forms remain for human readers.
Variants§
SessionOpen
- Open a new session.
SessionClose
- Close the active session.
Open
- Open a page navigated to URL.
Close
- Close a page.
View
- View a page (delta by default;
--fullre-baselines).
Read
- Read the full text of a ref.
Act
- Perform an action on a ref.
Find
- Search across pages in the session.
Wait
- Wait for a condition on a page.
Status
- Status summary for the active session (or all sessions).
Extract
- Extract structured data using a known schema.
Mark
- Persist a ref as a named anchor.
Annotate
- Attach a (key, value) annotation to a target (one of
ref:N,mark:NAME, orpage).
Log
- Slice the audit log.
Skill
- Skill management. Subcommand:
listorshow <name>. (M6 adds<name> [args]execution.)
Capture
- Capture a screenshot. Defaults to viewport scope; pass a
ref to capture an element, or
--full-page.
Fields
Viewport
- Set the viewport.
specis a preset (e.g.mobile,desktop) orWxH(e.g.1280x720).
Layout
- Compute layout boxes for one or more refs.
Auth
- Auth blob management. Subcommand:
save <page> <name>,load <page> <name>,list, orclear <name>.
Inspect
- Inspect engine state — console, network, request detail,
storage, scripts, dom, performance. The first positional is
the page id; the second is the kind. Trailing positionals
are kind-specific (e.g.
request <seq>,eval <expr>,storage <scope>,script <seq>).
Fields
MoveTo
Move the cursor to (x, y) along a humanized Bezier path.
Native trusted-event dispatch on macOS; ENGINE_UNSUPPORTED
elsewhere until M7 wires GDK / CDP input.
ClickAt
Click at (x, y). Trusted on macOS (isTrusted = true).
HoverAt
Hover at (x, y).
Drag
Drag from (x1, y1) to (x2, y2).
PromptInput
Prompt the user (in the terminal that ran vs) for a value, then
fill it into a ref. The value is read from tty by the CLI and
shipped to the daemon over the local socket; the agent that
invoked vs prompt-input never sees the bytes. Use --secret
for passwords, TANs, and other credentials (terminal echo off).
PromptConfirm
Block until the user presses Enter in the terminal. Returns
ok on confirm or ! ABORTED if the user sends EOF / Ctrl-C.
Use as a human-in-loop gate before a sensitive vs act click.
PromptInputQueue
Wire-only vs_prompt_input variant — does NOT read from the
local tty. Used by vs mcp so an MCP-driven agent can enqueue
a prompt the local user fulfills via vs pending fulfill.
Hidden from --help: only the MCP server wires it.
Fields
Pending
List / fulfill / cancel pending vs_prompt_input entries
queued by an MCP-driven agent. Use vs pending list to see
what’s waiting, vs pending fulfill <id> to type the value at
the local tty (--secret hides echo), vs pending cancel <id>
to abort.
Fields
sub: PendingSubServe
Run the daemon in this process. The vs binary doubles as the
daemon — vs serve is what auto-spawn re-execs when the socket
is missing. SIGINT shuts down cleanly.
Fields
Mcp
Run the MCP (Model Context Protocol) server over stdio.
Speaks JSON-RPC 2.0; each of the 19 vibesurfer primitives is
exposed as one MCP tool. Wire to Claude Desktop / Claude Code
by configuring vs mcp as the server command.
Implementations§
Trait Implementations§
Source§impl FromArgMatches for Command
impl FromArgMatches for Command
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Command
impl Subcommand for Command
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand