pub struct Cli {Show 78 fields
pub command: Option<Command>,
pub log_format: LogFormat,
pub debug: bool,
pub skippy_metrics_otlp_grpc: Option<String>,
pub mesh_guardrails: MeshGuardrailCliMode,
pub help_advanced: bool,
pub join: Vec<String>,
pub discover: Option<String>,
pub auto: bool,
pub mesh_discovery_mode: MeshDiscoveryMode,
pub model: Vec<PathBuf>,
pub gguf: Vec<PathBuf>,
pub mmproj: Option<PathBuf>,
pub port: u16,
pub local_model_only: bool,
pub native_serving_plugin: Option<PathBuf>,
pub native_serving_plugin_config: Option<PathBuf>,
pub native_serving_plugin_state: Option<PathBuf>,
pub native_serving_plugin_deadline_ms: Option<u64>,
pub client: bool,
pub console: u16,
pub headless: bool,
pub swarm_capture: Option<PathBuf>,
pub publish: bool,
pub mesh_name: Option<String>,
pub region: Option<String>,
pub min_node_version: Option<String>,
pub max_node_version: Option<String>,
pub min_protocol_version: Option<u32>,
pub max_protocol_version: Option<u32>,
pub require_release_attestation: bool,
pub release_signer_key: Vec<String>,
pub name: Option<String>,
pub plugin: Option<String>,
pub auto_update: bool,
pub speculative_strategy: Option<String>,
pub speculative_ngram_min: Option<u32>,
pub speculative_ngram_max: Option<u32>,
pub speculative_ngram_max_proposal_tokens: Option<u32>,
pub speculative_ngram_proposer: Option<SpeculativeNgramProposerCli>,
pub speculative_extension_max_tokens: Option<u32>,
pub speculative_native_mtp_reject_cooldown_tokens: Option<u32>,
pub speculative_native_mtp_suppress_cooldown_drafts: bool,
pub speculative_native_mtp_allow_cooldown_drafts: bool,
pub speculative_native_mtp_suppress_cooldown_draft_limit: Option<u32>,
pub speculative_verify_window_min_tokens: Option<u32>,
pub speculative_verify_window_max_tokens: Option<u32>,
pub speculative_verify_window_pipeline_depth: Option<u32>,
pub draft: Option<PathBuf>,
pub draft_max: u16,
pub no_draft: bool,
pub split: bool,
pub split_topology_lock: Option<PathBuf>,
pub ctx_size: Option<u32>,
pub max_vram: Option<f64>,
pub no_enumerate_host: bool,
pub bin_dir: Option<PathBuf>,
pub llama_flavor: Option<BinaryFlavor>,
pub device: Option<String>,
pub tensor_split: Option<String>,
pub relay: Vec<String>,
pub relay_auth: Vec<(String, String)>,
pub disable_iroh_relays: bool,
pub bind_port: Option<u16>,
pub bind_ip: Option<IpAddr>,
pub listen_all: bool,
pub max_clients: Option<usize>,
pub nostr_relay: Vec<String>,
pub no_console: bool,
pub config: Option<PathBuf>,
pub owner_key: Option<PathBuf>,
pub control_bind: Option<SocketAddr>,
pub control_advertise_addr: Option<SocketAddr>,
pub owner_required: bool,
pub node_label: Option<String>,
pub trust_policy: Option<TrustPolicy>,
pub trust_owner: Vec<String>,
pub nostr_discovery: bool,
}Fields§
§command: Option<Command>§log_format: LogFormatTerminal output format for app-owned runtime events.
debug: boolEnable mesh runtime debug output; set MESH_LLM_DEBUG_NATIVE_VERBOSE=1 for verbose llama.cpp native logs.
skippy_metrics_otlp_grpc: Option<String>OTLP/gRPC endpoint for embedded Skippy debug telemetry, for example http://127.0.0.1:14317.
mesh_guardrails: MeshGuardrailCliModeServer-side mesh guardrail mode for hosted Skippy backends.
help_advanced: boolShow all options (including advanced/niche ones).
join: Vec<String>Join a mesh via invite token (can repeat).
discover: Option<String>Discover a mesh and join it.
auto: boolAuto-join the best mesh found via discovery.
mesh_discovery_mode: MeshDiscoveryModeDiscovery provider for –auto, –discover, –publish, and the discover command.
model: Vec<PathBuf>Model to serve (path, remote catalog name, or Hugging Face ref).
gguf: Vec<PathBuf>Raw local GGUF file to serve directly (repeatable).
mmproj: Option<PathBuf>Explicit mmproj sidecar for the primary served model.
port: u16API port (default: 9337).
local_model_only: boolServe one model directly through the local OpenAI API without starting a mesh node.
native_serving_plugin: Option<PathBuf>Load a native serving plugin into the dedicated local-model path.
native_serving_plugin_config: Option<PathBuf>Absolute path to the native serving plugin configuration.
native_serving_plugin_state: Option<PathBuf>Absolute path to the native serving plugin state directory.
native_serving_plugin_deadline_ms: Option<u64>Mesh-enforced hard proposal deadline in milliseconds.
client: boolRun as a client — no GPU, no model needed.
console: u16Web console port (default: 3131).
headless: boolDisable the embedded web UI but keep the management API on the –console port.
swarm_capture: Option<PathBuf>Write passive swarm debug capture JSONL to this local directory (opt-in, no telemetry egress).
publish: boolPublish this mesh for discovery by other nodes. Without this flag, your mesh is private and only joinable via invite token.
mesh_name: Option<String>Human-readable name for this mesh (shown in discovery when combined with –publish). Naming a mesh does NOT make it publicly discoverable — use –publish for that.
region: Option<String>Region tag, e.g. “US”, “EU”, “AU” (shown in discovery).
min_node_version: Option<String>Minimum mesh-llm node version required when creating a new mesh.
max_node_version: Option<String>Maximum mesh-llm node version allowed when creating a new mesh.
min_protocol_version: Option<u32>Minimum protocol generation required when creating a new mesh.
max_protocol_version: Option<u32>Maximum protocol generation allowed when creating a new mesh.
require_release_attestation: boolRequire release attestation when creating a new mesh.
release_signer_key: Vec<String>Allowed release signer key for mesh creation-time attestation policy (repeatable).
name: Option<String>Display name for this node.
plugin: Option<String>Internal plugin service mode.
auto_update: boolUpdate mesh-llm before continuing for release-bundle installs if a newer bundled release is available.
speculative_strategy: Option<String>Override speculative decoding (mtp, ngram-cache, ngram-suffix, or a package strategy id).
speculative_ngram_min: Option<u32>Minimum matching N-gram length for the request-local MTP cache extension.
speculative_ngram_max: Option<u32>Maximum matching N-gram length for the request-local MTP cache extension.
speculative_ngram_max_proposal_tokens: Option<u32>Cap N-gram tokens proposed in one verify window.
speculative_ngram_proposer: Option<SpeculativeNgramProposerCli>Standalone N-gram proposer kind (cache or suffix).
speculative_extension_max_tokens: Option<u32>Maximum N-gram extension length for a composite MTP strategy.
speculative_native_mtp_reject_cooldown_tokens: Option<u32>Native MTP rejection cooldown in generated tokens.
speculative_native_mtp_suppress_cooldown_drafts: boolSuppress native MTP drafts while its rejection cooldown is active.
speculative_native_mtp_allow_cooldown_drafts: boolKeep native MTP drafts during its rejection cooldown.
speculative_native_mtp_suppress_cooldown_draft_limit: Option<u32>Maximum native MTP drafts suppressed by a cooldown.
speculative_verify_window_min_tokens: Option<u32>Minimum tokens to include in a pipelined verify window.
speculative_verify_window_max_tokens: Option<u32>Maximum tokens to include in a pipelined verify window.
speculative_verify_window_pipeline_depth: Option<u32>Number of in-flight pipelined verify windows.
draft: Option<PathBuf>Draft model for speculative decoding.
draft_max: u16Max draft tokens (default: 8).
no_draft: boolDisable automatic draft model detection.
split: boolForce tensor split even if the model fits on one node.
split_topology_lock: Option<PathBuf>Pin split-serving node order and layer ranges from a JSON topology lock.
ctx_size: Option<u32>Override context size (tokens). Default: auto-scaled to available VRAM.
max_vram: Option<f64>Cap VRAM used for planning, local-fit decisions, and mesh advertisement (GB).
no_enumerate_host: boolDisable broadcasting GPU name, hostname, VRAM, and reserved bytes to peers. By default all nodes announce this hardware info.
bin_dir: Option<PathBuf>Path to bundled mesh support binaries.
llama_flavor: Option<BinaryFlavor>Override which bundled llama.cpp flavor to use.
device: Option<String>Device override for local backend selection.
tensor_split: Option<String>Deprecated tensor split override retained for CLI compatibility.
relay: Vec<String>Override iroh relay URLs.
relay_auth: Vec<(String, String)>Per-relay bearer token for gated iroh relays, formatted as
URL=TOKEN. Repeatable. The token is sent as
Authorization: Bearer <TOKEN> on the WebSocket upgrade to the
matching --relay URL. Relays not listed here register without
authentication (the correct behavior for public relays).
Splits on the first = only, so tokens may contain = (base64
padding, JWTs, etc.).
disable_iroh_relays: boolDisable iroh relays even when public mesh discovery would normally use them.
bind_port: Option<u16>Bind QUIC to a fixed UDP port (for NAT port forwarding).
bind_ip: Option<IpAddr>Bind mesh QUIC to a specific local IP address.
listen_all: boolBind to 0.0.0.0 (for containers/Fly.io).
max_clients: Option<usize>Stop advertising when N clients connected.
nostr_relay: Vec<String>Custom Nostr relay URLs.
no_console: boolIgnored (backward compat).
config: Option<PathBuf>Optional path to the mesh-llm config file.
owner_key: Option<PathBuf>Path to the owner keystore used to attest this node.
control_bind: Option<SocketAddr>Bind address for the owner-control listener. Defaults to 127.0.0.1:0 when owner identity is configured.
control_advertise_addr: Option<SocketAddr>Advertised owner-control address encoded into the local-only bootstrap token.
owner_required: boolFail startup if owner attestation cannot be loaded or signed.
node_label: Option<String>Optional human label attached to this node certificate.
trust_policy: Option<TrustPolicy>Override peer ownership trust policy.
trust_owner: Vec<String>Add trusted owner IDs on top of the local trust store.
nostr_discovery: boolInternal: set when this node joined via Nostr discovery (not –join).
Trait Implementations§
Source§impl Args for Cli
impl Args for Cli
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl CommandFactory for Cli
impl CommandFactory for Cli
Source§impl FromArgMatches for Cli
impl FromArgMatches for Cli
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(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Parser for Cli
impl Parser for Cli
Source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
Source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Auto Trait Implementations§
impl Freeze for Cli
impl RefUnwindSafe for Cli
impl Send for Cli
impl Sync for Cli
impl Unpin for Cli
impl UnsafeUnpin for Cli
impl UnwindSafe for Cli
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more