Configuration#
The dynamic-command directive reads a YAML mapping. The YAML describes the
base command, user inputs, the generated command format, and the option groups
rendered as selectors.
Minimal Example#
```{dynamic-command}
base: python -m sglang.launch_server --model-path {model_path}
inputs:
- label: Model path
key: model_path
default: meta-llama/Llama-3.1-8B-Instruct
options:
- label: Topology
key: nodes
default: single
choices:
- label: Single node
value: single
args: --host 0.0.0.0 --port 30000
- label: Multi node
value: multi
args: --host 0.0.0.0 --port 30000 --disaggregation-ib-device mlx5_1
```
Top-Level Fields#
base: required string. The default command before selected choices add or replace anything.command_label: optional string. Label shown above the generated command. Defaults toGenerated command.format: optional mapping. Controls how the generated command is displayed.inputs: optional list. Each item defines one text input row. Use{key}placeholders inbase,choices[].env,choices[].args, orchoices[].baseto insert the current value.options: required non-empty list. Each item defines one selector row.
Format Fields#
format.line_break controls command wrapping:
options: default. Render the command as shell-continuation lines and put each--optiongroup on its own line.none: render the command as a single line.
format.indent controls indentation for continuation lines. It defaults to two spaces.
Example:
format:
line_break: options
indent: " "
This renders:
python -m sglang.launch_server \
--model-path meta-llama/Llama-3.1-8B-Instruct \
--host 0.0.0.0 \
--port 30000
Use line_break: none when the exact single-line command matters:
format:
line_break: none
Input Fields#
Each item in inputs defines one text input:
inputs[].label: required string. Visible input label.inputs[].key: required string. Placeholder key used as{key}in command fragments.inputs[].default: optional string. Initial input value.inputs[].placeholder: optional string. Placeholder text shown when the input is empty.
Input values are shell-quoted before they are inserted into command fragments:
base: rg {query} .
inputs:
- label: Search text
key: query
default: dynamic command
This renders rg 'dynamic command' . by default.
Option Fields#
Each item in options defines one selector group:
options[].label: required string. Visible group label.options[].key: required string. Stable key used to track the selected choice.options[].multiple: optional boolean. Usetruewhen the group should allow more than one selected choice. Defaults tofalse.options[].default: optional string, or list of strings whenmultiple: true. Single-select groups default to the first choice. Multi-select groups default to no selected choices.options[].choices: required non-empty list. Available choices for the group.
Each item in choices defines one selectable command fragment:
choices[].label: required string. Visible button label.choices[].value: required string. Stable choice value.choices[].env: optional string. Prepended before the command when selected.choices[].args: optional string. Appended after the command when selected.choices[].base: optional string. Replaces the top-levelbasecommand when selected.
Multi-select groups toggle each choice independently:
options:
- label: Features
key: features
multiple: true
default:
- cuda-graphs
- metrics
choices:
- label: CUDA graphs
value: cuda-graphs
args: --enable-cuda-graph
- label: Metrics
value: metrics
args: --show-time-cost
- label: Torch compile
value: compile
args: --enable-torch-compile
Omit default in a multi-select group when no choices should be selected
initially. Use a string when only one default choice is needed, or a list of
strings when several choices should start selected.
Command Assembly#
The generated command is assembled in this order:
Selected
envfragments.The active command, either top-level
baseor the selected choicebase.Selected
argsfragments in option group order. Multi-select groups append selected choices in the order they appear in YAML.
With format.line_break: options, tokens beginning with -- start a new
continuation line. Values following an option stay on the same line as that
option. Selected env fragments are rendered as separate continuation lines
before the active command.