Tanit XBlox

Use this skill when composing .xblox block-tree command flows.

Invocation Rules

Document Shape

{ "version": 1, "context": {}, "roots": [...] }

Calling Commands From XBlox

Use a command block with an exact custom command ID:

{ "kind": "command", "command": { "id": "custom.mic-start" } }

Inline CLI command payloads are also supported:

{ "kind": "command", "command": { "cliCommand": "audio", "args": ["record", "status"] } }

Blocks

AI

llmAgent - LLM Agent

Run an LLM agent turn in-process (tool loop included) and store the answer in PREVIOUS.

Params:

input

options

advanced

output

Features: background cancellable

Default block:

{
  "embed": [],
  "include": [],
  "kind": "llmAgent",
  "prompt": "",
  "storeAs": "answer",
  "tools": true
}

App

appActivate - App Activate

Bring a target window to the foreground.

Params:

input

output

Default block:

{
  "kind": "appActivate",
  "title": "Notepad"
}

appBatch - App Batch

Run a sequence of app_batch actions in one block.

Params:

input

options

advanced

output

Default block:

{
  "defaultDelayMs": 50,
  "kind": "appBatch",
  "steps": [
    {
      "action": "activate",
      "title": "Notepad"
    },
    {
      "action": "type",
      "text": "Hello"
    }
  ]
}

appClick - App Click

Click at (x,y) or (xw,yw) on a target window.

Params:

input

options

advanced

output

Default block:

{
  "button": "left",
  "count": 1,
  "kind": "appClick",
  "title": "Notepad",
  "xw": 100,
  "yw": 100
}

appClose - App Close

Send WM_CLOSE (or TerminateProcess with force=true).

Params:

input

options

output

Default block:

{
  "force": false,
  "kind": "appClose",
  "title": "Notepad"
}

appDrag - App Drag

Drag linear / polyline / arc with smooth pacing.

Params:

input

options

output

Default block:

{
  "durationMs": 250,
  "kind": "appDrag",
  "title": "Notepad",
  "toXw": 300,
  "toYw": 200,
  "xw": 100,
  "yw": 100
}

appHotkey - App Hotkey

Send a key combination (e.g. ctrl+shift+t).

Params:

input

output

Default block:

{
  "keys": "ctrl+s",
  "kind": "appHotkey",
  "title": "Notepad"
}

appInspectDump - App Inspect Dump

Dump UI Automation tree of matching windows.

Params:

input

options

advanced

output

Default block:

{
  "format": "md",
  "kind": "appInspectDump",
  "title": "Notepad"
}

appInspectFind - App Inspect Find

Filter UIA elements by name/value/automationId/className.

Params:

input

options

output

Default block:

{
  "kind": "appInspectFind",
  "name": "File",
  "title": "Notepad"
}

appKey - App Key

Press one key with optional modifiers and hold duration.

Params:

input

options

output

Default block:

{
  "holdMs": 100,
  "key": "a",
  "kind": "appKey"
}

appMouseMove - App Mouse Move

Smoothly move the cursor (auto-paced) or teleport.

Params:

input

options

output

Default block:

{
  "kind": "appMouseMove",
  "smooth": true,
  "title": "Notepad",
  "xw": 200,
  "yw": 200
}

appOpen - App Open

Launch an executable and (optionally) wait for its window.

Params:

input

options

advanced

output

Default block:

{
  "exe": "notepad.exe",
  "kind": "appOpen",
  "waitMs": 3000
}

appScreenshot - App Screenshot

Capture a window / element / explicit rect to a JPEG file.

Params:

input

options

output

Default block:

{
  "kind": "appScreenshot",
  "outputPath": "out/shot.jpg",
  "quality": 85,
  "title": "Notepad"
}

appScroll - App Scroll

Wheel scroll (vertical or horizontal) at an optional point.

Params:

input

options

output

Default block:

{
  "clicks": -3,
  "kind": "appScroll",
  "title": "Notepad"
}

appType - App Type

Type a string into the activated window.

Params:

input

output

Default block:

{
  "kind": "appType",
  "text": "Hello",
  "title": "Notepad"
}

Audio

audioListDevices - List Microphones

List available microphone/input devices and store their names, channel counts, and default status.

Params:

Features: non-blocking

Default block:

{
  "kind": "audioListDevices",
  "storeAs": "audioDevices"
}

audioModelControl - Unload Model

List or unload loaded local model instances for this xBlox process.

Params:

lifecycle

output

Default block:

{
  "action": "Unload",
  "key": "vibevoice:tts",
  "kind": "audioModelControl",
  "storeAs": "modelKey"
}

audioPlay - Play Audio

Play an audio file (MP3, WAV, or FLAC). Uses PREVIOUS as the file path when path is empty.

Params:

input

device

output

Features: cancellable

Default block:

{
  "kind": "audioPlay",
  "outputDevice": "",
  "path": "",
  "storeAs": ""
}

audioRecord - Record Audio

Record microphone audio to a WAV file. Stores the output path in PREVIOUS / storeAs.

Params:

input

device

output_file

output

Features: cancellable

Default block:

{
  "device": "",
  "durationMs": 3000,
  "kind": "audioRecord",
  "outputPath": "",
  "storeAs": "audioPath"
}

audioRecordStart - Start Recording

Start a microphone recording session and store its session id.

Params:

input

device

output

Features: cancellable non-blocking

Default block:

{
  "device": "",
  "kind": "audioRecordStart",
  "session": "",
  "storeAs": "recordSession"
}

audioRecordStop - Stop Recording

Stop a microphone recording session and write it to a WAV file.

Params:

input

output_file

output

Features: cancellable

Default block:

{
  "kind": "audioRecordStop",
  "outputPath": "",
  "session": "",
  "storeAs": "audioPath"
}

audioSpeak - Text to Speech

Convert text to speech via the configured TTS provider and play it through the speakers. Supports Pixlwiz, ElevenLabs, and local VibeVoice builds. Uses PREVIOUS string as text when text is empty. Stores output file path in PREVIOUS / storeAs when outputPath is set, otherwise stores the input text.

Params:

input

voice_model

vibevoice

device

output_file

output

Features: cancellable

Default block:

{
  "instance": "",
  "kind": "audioSpeak",
  "model": "",
  "outputDevice": "",
  "outputPath": "",
  "provider": "",
  "refAudio": "",
  "storeAs": "",
  "text": "",
  "tokenizer": "",
  "voice": ""
}

audioTranscribe - Speech to Text

Transcribe an audio file, or record from the microphone and transcribe speech to text. When 'input' is set, the file is transcribed directly (no microphone, no duration limit). When empty, records from the microphone for up to maxDurationMs ms with optional VAD silence-gate. Prefers local Whisper when selected/available, with Pixlwiz as a provider-backed fallback. Stores the transcript string in PREVIOUS / storeAs, or a structured STT payload when json is on.

Params:

input

recording

device

speech_model

advanced

output

debug_output

Features: cancellable

Default block:

{
  "device": "",
  "input": "",
  "json": false,
  "kind": "audioTranscribe",
  "maxDurationMs": 30000,
  "model": "",
  "outputPath": "",
  "provider": "",
  "providerOptions": {},
  "silenceMs": 1500,
  "storeAs": "transcript"
}

Bluetooth

bluetoothConnect - Bluetooth Connect

Connect a Bluetooth audio device (pairs if needed) and implicitly route audio to it. Uses PREVIOUS as the device id/name when 'id' is empty. Stores {ok,target,routed_to} in PREVIOUS / storeAs.

Params:

input

advanced

output

Features: cancellable

Default block:

{
  "autoRoute": true,
  "delayMs": 0,
  "id": "",
  "kind": "bluetoothConnect",
  "storeAs": "bluetooth",
  "timeoutMs": 6000
}

bluetoothDisconnect - Bluetooth Disconnect

Disconnect a Bluetooth audio device (best-effort). Uses PREVIOUS when 'id' is empty.

Params:

input

output

Features: cancellable

Default block:

{
  "id": "",
  "kind": "bluetoothDisconnect",
  "storeAs": "bluetooth"
}

bluetoothEndpoints - Audio Endpoints

List MMDevice audio endpoints (playback by default). Stores an array of {id,name,default,is_bluetooth,state,active,...} in PREVIOUS / storeAs. Set includeDisconnected to also list Bluetooth devices that are paired but not yet connected.

Params:

advanced

output

Features: iterable pure non-blocking

Children:

Default block:

{
  "capture": false,
  "includeDisconnected": false,
  "kind": "bluetoothEndpoints",
  "storeAs": "audioEndpoints"
}

bluetoothListDevices - Bluetooth Devices

List paired / connected Bluetooth devices. Stores an array of {id,name,address,paired,connected,is_audio_device,...} in PREVIOUS / storeAs. Set autoRoute to implicitly switch the default playback endpoint to a connected audio device.

Params:

advanced

output

Features: iterable non-blocking

Children:

Default block:

{
  "autoRoute": false,
  "kind": "bluetoothListDevices",
  "nearby": false,
  "storeAs": "bluetoothDevices"
}

bluetoothPair - Bluetooth Pair

Pair a Bluetooth device (just-works / SSP). Uses PREVIOUS when 'id' is empty.

Params:

input

output

Features: cancellable

Default block:

{
  "id": "",
  "kind": "bluetoothPair",
  "storeAs": "bluetooth"
}

bluetoothSetDefault - Set Default Endpoint

Set an MMDevice audio endpoint as the default device for all roles. Pass the endpoint id from bluetoothEndpoints (or PREVIOUS).

Params:

input

output

Features: cancellable

Default block:

{
  "id": "",
  "kind": "bluetoothSetDefault",
  "storeAs": "bluetooth"
}

bluetoothUnpair - Bluetooth Unpair

Remove (unpair) a Bluetooth device. Uses PREVIOUS when 'id' is empty.

Params:

input

output

Features: cancellable

Default block:

{
  "id": "",
  "kind": "bluetoothUnpair",
  "storeAs": "bluetooth"
}

Context

getVariable - Get Variable

Read a value from root scope.

Params:

Features: pure

Default block:

{
  "kind": "getVariable",
  "name": "",
  "target": "PREVIOUS"
}

log - Log

Log a message, expression, variable, or the whole scope.

Params:

input

query

Features: pure

Default block:

{
  "kind": "log",
  "level": "info",
  "message": "PREVIOUS"
}

saveState - Save State

Persist current scope values back into this XBlox document's context.

Params:

Features: cancellable

Default block:

{
  "keys": [],
  "kind": "saveState",
  "mode": "existing",
  "scope": "context"
}

setVariable - Set Variable

Write a value into root scope.

Params:

Features: pure

Default block:

{
  "kind": "setVariable",
  "name": "value",
  "value": null
}

stdin - Stdin

Read piped input from stdin (whole stream or one line) into PREVIOUS/storeAs.

Params:

input

output

Default block:

{
  "kind": "stdin",
  "mode": "all",
  "parse": "text",
  "trim": true
}

stdout - Stdout

Write a message directly to stdout (pipe-friendly).

Params:

input

query

Features: pure

Default block:

{
  "kind": "stdout",
  "message": "PREVIOUS",
  "newline": true
}

Data

Parse - Parse JSON

Parse PREVIOUS or named input with a jq filter expression.

Params:

options

input

output

Features: pure

Children:

Default block:

{
  "filter": ".",
  "kind": "Parse",
  "parser": "jq",
  "storeAs": "parsed"
}

iterator - Iterator

Iterate over PREVIOUS or any named scope/context variable. Arrays fan out directly, objects become {key,value} entries, scalars run once.

Params:

options

input

iteration

output

Features: iterable pure

Children:

Default block:

{
  "filter": ".",
  "input": "PREVIOUS",
  "items": [],
  "kind": "iterator",
  "mode": "auto",
  "parser": "jq",
  "storeAs": "items"
}

Files

fsDelete - Delete Path

Delete a file or directory. Returns true if something was deleted.

Params:

input

delete_options

output

Default block:

{
  "kind": "fsDelete",
  "path": "",
  "recursive": false,
  "storeAs": ""
}

fsExists - Path Exists

Check whether a path exists. Stores a boolean in PREVIOUS / storeAs.

Params:

input

output

Default block:

{
  "kind": "fsExists",
  "path": "",
  "storeAs": "exists"
}

fsHash - Hash File

Compute a file content hash. Stores the hex digest in PREVIOUS / storeAs.

Params:

input

hash_options

output

Default block:

{
  "algorithm": "sha256",
  "kind": "fsHash",
  "path": "",
  "prefixLength": 0,
  "storeAs": "hash"
}

fsList - List Files

List a directory or glob. Stores an array of {name, path, type, size} in PREVIOUS / storeAs.

Params:

input

list_options

output

Features: iterable

Children:

Default block:

{
  "kind": "fsList",
  "only": "all",
  "path": "",
  "storeAs": "entries"
}

fsMkdir - Create Folder

Create a directory (and all parents). Stores the created path in PREVIOUS / storeAs.

Params:

input

output

Default block:

{
  "kind": "fsMkdir",
  "path": "",
  "storeAs": ""
}

fsRead - Read File

Read a text or JSON file. Stores file content in PREVIOUS / storeAs.

Params:

input

read_options

output

Children:

Default block:

{
  "encoding": "text",
  "kind": "fsRead",
  "path": "",
  "storeAs": "fileContent"
}

fsWrite - Write File

Write text from the content field or PREVIOUS to a file. Creates parent folders automatically.

Params:

input

write_options

output

Children:

Default block:

{
  "append": false,
  "content": "",
  "kind": "fsWrite",
  "path": "",
  "storeAs": ""
}

Flow

break - Break

Break out of the current loop.

Features: pure

Default block:

{
  "kind": "break"
}

case - Case

One switch branch: runs when the switch value matches its expression.

Params:

Features: container

Children:

Default block:

{
  "comparator": "===",
  "consequent": [],
  "expression": "\"value\"",
  "kind": "case"
}

else - Else

Runs when the preceding if/elseIf chain has not matched.

Features: container

Children:

Default block:

{
  "items": [],
  "kind": "else"
}

elseIf - Else If

Runs when the preceding if/elseIf chain has not matched and its own condition is true.

Params:

Features: container

Children:

Default block:

{
  "condition": "true",
  "items": [],
  "kind": "elseIf"
}

exit - Exit

Stop the run immediately and set the process exit code.

Params:

Features: pure

Default block:

{
  "code": 0,
  "kind": "exit"
}

for - For

Run child blocks over a numeric range.

Params:

Features: container cancellable

Children:

Default block:

{
  "comparator": "<",
  "final": "3",
  "initial": "0",
  "items": [],
  "kind": "for",
  "modifier": "+1"
}

group - Group

Transparent container: runs its child blocks in the current scope.

Features: container

Children:

Default block:

{
  "items": [],
  "kind": "group"
}

if - If

Run child blocks when the condition is true. Chain elseIf/else siblings after it.

Params:

Features: container

Children:

Default block:

{
  "condition": "true",
  "consequent": [],
  "kind": "if"
}

onStart - On Start

Run child blocks once when the document starts or ends.

Params:

Features: container

Children:

Default block:

{
  "event": "On Start",
  "items": [],
  "kind": "onStart"
}

switch - Switch

Run the first matching case.

Params:

Features: container

Children:

Default block:

{
  "items": [],
  "kind": "switch",
  "variable": "mode"
}

switchDefault - Default

Fallback switch branch: runs when no case matches.

Features: container

Children:

Default block:

{
  "consequent": [],
  "kind": "switchDefault"
}

wait - Wait

Sleep for a fixed number of milliseconds.

Params:

Default block:

{
  "kind": "wait",
  "ms": 500
}

while - While

Run child blocks while a condition is true.

Params:

input

advanced

Features: container cancellable

Children:

Default block:

{
  "condition": "false",
  "items": [],
  "kind": "while",
  "loopLimit": 10
}

Image

imageCreate - Create Image

Generate an image from a prompt using the same core create_image API as the CLI create command.

Params:

input

output_file

model

auth

request

pre_resize

output

Features: background cancellable

Default block:

{
  "apiKey": "",
  "aspectRatio": "",
  "baseUrl": "",
  "imageSize": "",
  "kind": "imageCreate",
  "model": "",
  "outputPath": "",
  "preresizeRawOnly": false,
  "prompt": "",
  "provider": "",
  "references": [],
  "replicateCollection": "official",
  "resizeFirst": false,
  "resizeWidth": 0,
  "storeAs": "imagePath"
}

imageModelControl - Unload Model

List or unload loaded local model instances for this xBlox process.

Params:

lifecycle

output

Default block:

{
  "action": "Unload",
  "key": "llama:vlm",
  "kind": "imageModelControl",
  "storeAs": "modelKey"
}

imageResize - Resize Image

Resize/transform one or more image files using the same libvips pipeline as the resize CLI command.

Params:

input

output_file

dimensions

format

codec

transform

cache

network

output

Features: cancellable

Default block:

{
  "allowEnlargement": false,
  "autorotate": true,
  "background": "#ffffff",
  "cache": true,
  "cacheDir": "",
  "fit": "inside",
  "flip": false,
  "flop": false,
  "format": "",
  "input": "",
  "kernel": "lanczos3",
  "kind": "imageResize",
  "maxHeight": 0,
  "maxWidth": 0,
  "outputPath": "",
  "pngCompression": 6,
  "position": "centre",
  "quality": 85,
  "rotate": 0,
  "storeAs": "imagePath",
  "stripMetadata": true,
  "suffix": "",
  "urlMaxRedirects": 20,
  "urlTimeoutSec": 5
}

imageTransform - Transform Image

Edit one or more images with an AI prompt using the same core transform_image API as the CLI transform command.

Params:

input

output_file

model

auth

request

pre_resize

output

Features: background cancellable

Default block:

{
  "apiKey": "",
  "aspectRatio": "",
  "baseUrl": "",
  "imageSize": "",
  "input": "",
  "kind": "imageTransform",
  "model": "",
  "outputPath": "",
  "preresizeRawOnly": false,
  "prompt": "",
  "provider": "",
  "references": [],
  "replicateCollection": "official",
  "resizeFirst": false,
  "resizeWidth": 0,
  "storeAs": "imagePath"
}

Input

keyEvent - Key Event

Sample a keyboard shortcut once and emit down/pressed/released/toggle state. Designed for document loops: run it each pass, then branch with if blocks.

Params:

input

options

output

Features: pure

Default block:

{
  "anyKey": false,
  "keys": "F9",
  "kind": "keyEvent",
  "storeAs": "key",
  "toggle": true
}

keyWait - Key Wait

Wait for a keyboard shortcut then run child blocks. on=pressed fires on key-down edge; on=released fires on key-up edge; on=held fires while the key is held; on=toggle starts children on the first press and cancels them on the second. repeat=true keeps listening across multiple events. Stores the fired key string in PREVIOUS / storeAs when the wait cycle completes.

Params:

input

options

output

Features: container cancellable

Children:

Default block:

{
  "anyKey": false,
  "keys": "F9",
  "kind": "keyWait",
  "on": "pressed",
  "repeat": false,
  "storeAs": "",
  "timeoutMs": 0
}

MQTT

mqttClient - MQTT Client

Connect to an MQTT broker and Publish, Subscribe, or RoundTrip a test message. For received messages, runs child items with PREVIOUS={topic,payload,host,port}.

Params:

mode

input

advanced

timeouts

output

Features: container cancellable

Children:

Default block:

{
  "action": "RoundTrip",
  "host": "127.0.0.1",
  "items": [],
  "kind": "mqttClient",
  "payload": "hello from xblox",
  "port": 1883,
  "qos": 0,
  "storeAs": "mqtt",
  "timeoutMs": 5000,
  "topic": "xblox/smoke"
}

mqttServer - MQTT Server

Start, stop, or inspect a named in-process MQTT broker instance.

Params:

server_lifecycle

network

output

Features: cancellable

Default block:

{
  "action": "Start",
  "bind": "127.0.0.1",
  "instance": "default",
  "kind": "mqttServer",
  "port": 1883,
  "storeAs": "mqttServer"
}

Modbus

modbusConnection - Modbus Connection

Start, stop, or inspect a named cached Modbus client connection for fast repeated reads/writes.

Params:

connection

input

advanced

output

Features: cancellable

Default block:

{
  "action": "Start",
  "connection": "default",
  "kind": "modbusConnection",
  "storeAs": "modbusConnection",
  "url": "tcp:127.0.0.1:15020"
}

modbusRead - Modbus Read

Read coils, discrete inputs, holding registers, or input registers. ModbusPoll-style aliases: area/functionCode, address, count/regCount.

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "area": "holdingRegisters",
  "count": 3,
  "kind": "modbusRead",
  "storeAs": "values",
  "url": "tcp:127.0.0.1:15020"
}

modbusReadCoils - Modbus Read Coils

Read coils (FC01).

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "area": "coils",
  "count": 8,
  "kind": "modbusReadCoils",
  "storeAs": "values",
  "url": "tcp:127.0.0.1:15020"
}

modbusReadDiscreteInputs - Modbus Read Discrete Inputs

Read discrete inputs (FC02).

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "area": "discreteInputs",
  "count": 8,
  "kind": "modbusReadDiscreteInputs",
  "storeAs": "values",
  "url": "tcp:127.0.0.1:15020"
}

modbusReadHoldingRegisters - Modbus Read Holding Registers

Read holding registers from a Modbus TCP/RTU endpoint.

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "count": 3,
  "kind": "modbusReadHoldingRegisters",
  "storeAs": "values",
  "url": "tcp:127.0.0.1:15020"
}

modbusReadInputRegisters - Modbus Read Input Registers

Read input registers (FC04).

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "area": "inputRegisters",
  "count": 3,
  "kind": "modbusReadInputRegisters",
  "storeAs": "values",
  "url": "tcp:127.0.0.1:15020"
}

modbusServer - Modbus Server

Run a Modbus TCP server until cancelled, durationMs expires, or maxRequests is reached.

Params:

input

advanced

output

Features: cancellable

Default block:

{
  "coils": [
    1,
    0,
    1
  ],
  "discreteInputs": [
    0,
    1,
    0
  ],
  "durationMs": 3000,
  "holdingRegisters": [
    11,
    22,
    33
  ],
  "inputRegisters": [
    44,
    55,
    66
  ],
  "kind": "modbusServer",
  "url": "tcp:127.0.0.1:15020"
}

modbusWrite - Modbus Write

Write one or many holding registers/coils. Chooses FC06/FC16 or FC05/FC15 based on area and value count.

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "area": "holdingRegisters",
  "kind": "modbusWrite",
  "url": "tcp:127.0.0.1:15020",
  "values": [
    101,
    202
  ]
}

modbusWriteCoil - Modbus Write Coil

Write a single coil (FC05).

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "area": "coils",
  "kind": "modbusWriteCoil",
  "url": "tcp:127.0.0.1:15020",
  "value": 1
}

modbusWriteCoils - Modbus Write Coils

Write multiple coils (FC15).

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "area": "coils",
  "kind": "modbusWriteCoils",
  "url": "tcp:127.0.0.1:15020",
  "values": [
    1,
    0,
    1
  ]
}

modbusWriteRegister - Modbus Write Register

Write a single holding register.

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "kind": "modbusWriteRegister",
  "url": "tcp:127.0.0.1:15020",
  "value": 123
}

modbusWriteRegisters - Modbus Write Registers

Write multiple holding registers.

Params:

input

connection

advanced

output

Default block:

{
  "address": 0,
  "kind": "modbusWriteRegisters",
  "url": "tcp:127.0.0.1:15020",
  "values": [
    101,
    202
  ]
}

Models

modelControl - Model Control

List or unload loaded local model instances for this xBlox process.

Params:

lifecycle

output

Default block:

{
  "action": "List",
  "key": "",
  "kind": "modelControl",
  "storeAs": "models"
}

Network

fetch - Fetch

Fetch a URL. With decode:json + a JSON-array response, child blocks iterate over each element (PREVIOUS = element, index = i).

Params:

input

request

body

response

auth

download

cache

proxy

session

ssl

timeouts

redirects

retry

output

Features: iterable cancellable

Children:

Default block:

{
  "decode": "raw",
  "followRedirects": true,
  "kind": "fetch",
  "method": "GET",
  "storeAs": "response",
  "timeoutMs": 30000,
  "url": "https://"
}

ipcBroadcast - IPC Broadcast

Send a message to every live XBlox session.

Params:

input

timeouts

output

Default block:

{
  "data": null,
  "from": "xblox",
  "kind": "ipcBroadcast",
  "message": "",
  "storeAs": "ipcBroadcast"
}

ipcReceive - IPC Receive

Drain or wait for messages from a live XBlox session inbox. Child blocks iterate over received messages.

Params:

input

wait

timeouts

output

Features: iterable cancellable

Children:

Default block:

{
  "items": [],
  "kind": "ipcReceive",
  "peek": false,
  "pollMs": 100,
  "storeAs": "messages",
  "target": "",
  "waitMs": 0
}

ipcSend - IPC Send

Send a message to a live XBlox session.

Params:

input

timeouts

output

Default block:

{
  "data": null,
  "from": "xblox",
  "kind": "ipcSend",
  "message": "",
  "storeAs": "ipcReply",
  "target": ""
}

ipcSendBatch - IPC Send Batch

Send many messages to a live XBlox session in one IPC frame.

Params:

input

timeouts

output

Default block:

{
  "count": 1,
  "data": null,
  "from": "xblox",
  "kind": "ipcSendBatch",
  "message": "",
  "source": "",
  "storeAs": "ipcBatchReply",
  "target": ""
}

ipcSession - IPC Session

Host a named XBlox IPC session for this run. Reuses the same session on later loop passes.

Params:

input

output

Default block:

{
  "kind": "ipcSession",
  "name": "ipc",
  "storeAs": "session"
}

ipcSessions - IPC Sessions

List live XBlox sessions. Child blocks iterate over each session descriptor.

Params:

Features: iterable pure

Children:

Default block:

{
  "items": [],
  "kind": "ipcSessions",
  "storeAs": "sessions"
}

sshExec - SSH Exec

Run a command on a remote host over SSH using password or public-key authentication.

Params:

input

ssh

timeouts

output

Default block:

{
  "command": "",
  "host": "",
  "kind": "sshExec",
  "port": 22,
  "storeAs": "ssh",
  "timeoutMs": 30000,
  "username": ""
}

OCR

ocrModelControl - Unload Model

List or unload loaded local model instances for this xBlox process.

Params:

lifecycle

output

Default block:

{
  "action": "Unload",
  "key": "llama:vlm",
  "kind": "ocrModelControl",
  "storeAs": "modelKey"
}

ocrText - OCR Text

Ready-to-go document OCR: PP-DocLayoutV3 detects layout, PaddleOCR-VL extracts text/tables, and child items can iterate documents.

Params:

source_model

vlm_prompt

output

runtime

layout_model

onnx_model_overrides

onnx_options

vlm_runtime

Features: iterable background cancellable

Children:

Default block:

{
  "backend": "auto",
  "ctx": 8192,
  "detModel": "",
  "dict": "",
  "gpuLayers": -1,
  "input": "",
  "items": [],
  "json": true,
  "kind": "ocrText",
  "layoutConf": 0.5,
  "layoutModel": "",
  "markdown": true,
  "maxSize": 960,
  "maxTokens": 2048,
  "mode": "layout",
  "model": "",
  "prompt": "",
  "provider": "auto",
  "recModel": "",
  "recThreshold": 0.5,
  "storeAs": "ocr",
  "threads": 4,
  "threshold": 0.3
}

Service

serviceFilesList - List Files

GET /api/vfs/ls/{mount}/{path} - list files in a VFS directory.

Params:

input

auth

timeouts

output

Features: cancellable

Children:

Default block:

{
  "auth": "auto",
  "kind": "serviceFilesList",
  "mount": "home",
  "path": "",
  "storeAs": "fileList"
}

serviceFilesRead - Read File

GET /api/vfs/read/{mount}/{path} - download a VFS file. Set downloadAs to save to disk (PREVIOUS = saved path); else PREVIOUS = body string.

Params:

input

download

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "serviceFilesRead",
  "mount": "home",
  "storeAs": "fileContent"
}

serviceFilesRemove - Remove File

DELETE /api/vfs/delete/{mount}/{path} - remove a file or folder from the VFS.

Params:

input

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "serviceFilesRemove",
  "mount": "home",
  "storeAs": "removeResult"
}

serviceFilesSearch - Search Files (VFS)

GET /api/vfs/search/{mount}/{path}?q=...&type=...&maxResults=...&fts=1 - search VFS files by filename walk (default) or PostgreSQL FTS index (fts=1). FTS only reflects the last index run; fresh uploads may not appear until the index is rebuilt. PREVIOUS = {results:[...], total:N, truncated:bool}.

Params:

input

filter

auth

timeouts

output

Features: cancellable

Children:

Default block:

{
  "auth": "auto",
  "fts": 0,
  "kind": "serviceFilesSearch",
  "maxResults": 200,
  "mount": "home",
  "storeAs": "searchResult",
  "type": "all"
}

serviceFilesUpload - Upload File

POST /api/vfs/upload/{mount}/{remotePath} - upload any file to the VFS.

Params:

input

vfs

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "serviceFilesUpload",
  "mount": "home",
  "storeAs": "fileResult"
}

serviceImagesUpload - Upload Image(s)

POST /api/images?forward=vfs&original=true - multipart upload one or more image files. PREVIOUS = array of per-file response objects.

Params:

input

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "serviceImagesUpload",
  "storeAs": "uploadResults"
}

servicePagesCreate - Create Page

POST /api/pages - create a CMS page. Provide slug + title + content, or a full body JSON object.

Params:

input

meta

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePagesCreate",
  "storeAs": "page",
  "visibility": "public"
}

servicePagesGet - Get Page

GET /api/user-page/{identifier}/{slug} - fetch a single page by pageId or ownerId/userId + slug.

Params:

input

lookup

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePagesGet",
  "storeAs": "page"
}

servicePagesList - List Pages

GET /api/pages?userId=...&page=...&limit=... - list pages.

Params:

input

pagination

auth

timeouts

output

Features: cancellable

Children:

Default block:

{
  "auth": "auto",
  "kind": "servicePagesList",
  "limit": 20,
  "page": 1,
  "storeAs": "pages"
}

servicePagesRemove - Remove Page

DELETE /api/pages/{pageId}; or resolve ownerId/userId + slug before deleting.

Params:

input

lookup

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePagesRemove",
  "storeAs": "removeResult"
}

servicePagesUpdate - Update Page

PATCH /api/pages/{pageId}; or resolve ownerId/userId + slug before updating.

Params:

input

lookup

meta

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePagesUpdate",
  "storeAs": "page"
}

servicePicturesGet - Get Picture

GET /api/pictures/{pictureId} - fetch a picture record.

Params:

input

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePicturesGet",
  "storeAs": "picture"
}

servicePicturesList - List Pictures

GET /api/pictures?userId=...&page=...&limit=... - list picture records.

Params:

input

pagination

auth

timeouts

output

Features: cancellable

Children:

Default block:

{
  "auth": "auto",
  "kind": "servicePicturesList",
  "limit": 20,
  "page": 1,
  "storeAs": "pictures"
}

servicePicturesRemove - Remove Picture

DELETE /api/pictures/{pictureId} - remove a picture record.

Params:

input

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePicturesRemove",
  "storeAs": "removeResult"
}

servicePostsCreate - Create Post

Full publish flow: POST /api/posts then upload each image via /api/images and attach via /api/pictures. PREVIOUS = {postId, pictureIds, post}.

Params:

input

meta

images

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePostsCreate",
  "storeAs": "post",
  "visibility": "public"
}

servicePostsGet - Get Post

GET /api/posts/{postId} - fetch a post with its pictures.

Params:

input

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePostsGet",
  "storeAs": "post"
}

servicePostsList - List Posts

GET /api/posts?page=...&limit=...&userId=... - list posts.

Params:

input

pagination

auth

timeouts

output

Features: cancellable

Children:

Default block:

{
  "auth": "auto",
  "kind": "servicePostsList",
  "limit": 20,
  "page": 1,
  "storeAs": "posts"
}

servicePostsRemove - Remove Post

DELETE /api/posts/{postId} - remove a post.

Params:

input

auth

timeouts

output

Features: cancellable

Default block:

{
  "auth": "auto",
  "kind": "servicePostsRemove",
  "storeAs": "removeResult"
}

serviceSearch - Search

GET /api/search?q=...&type=...&limit=... - full-text search across pages, posts, pictures, VFS files and places. Auth is optional (unauthenticated calls see only public content). PREVIOUS = array of enriched FeedPost objects.

Params:

input

filter

auth

timeouts

output

Features: cancellable

Children:

Default block:

{
  "auth": "auto",
  "kind": "serviceSearch",
  "limit": 20,
  "storeAs": "results",
  "type": "all"
}

Shell

openPath - Open Path

Open a file or folder with the system default application.

Params:

input

output

Default block:

{
  "kind": "openPath",
  "path": "",
  "storeAs": "openedPath"
}

shell - Shell

Run a shell command through the native RunTool.

Params:

options

advanced

input

output

Features: background cancellable

Default block:

{
  "command": "echo hello",
  "kind": "shell",
  "log": false,
  "mode": "shell",
  "shell": "auto",
  "stderr": "error",
  "stdout": "info",
  "storeAs": "stdout",
  "timeoutMs": 30000
}

xbloxRun - XBlox Script

Run another XBlox document directly, with context overrides and optional document-loop controls.

Params:

lifecycle

input

advanced

loop

output

Features: background cancellable

Children:

Default block:

{
  "action": "Run",
  "args": [],
  "background": false,
  "context": {},
  "items": [],
  "kind": "xbloxRun",
  "logLevel": "off",
  "path": "",
  "reload": false,
  "storeAs": "xbloxResult"
}

Vector

vectorLocalAddDir - Index Directory into Local Vector Store

Recursively index all supported files (txt, md, docx, xlsx, pptx) in a directory. Already-indexed paths are skipped. PREVIOUS = {files:[{file,count,skipped}], totalChunks:N, storePath, docCount}.

Params:

input

filter

chunking

advanced

output

Features: cancellable

Default block:

{
  "chunkOverlap": 100,
  "chunkSize": 500,
  "kind": "vectorLocalAddDir",
  "maxFiles": 500,
  "recursive": true,
  "storeAs": "addDirResult"
}

vectorLocalAddFile - Add File to Local Vector Store

Read a text file, chunk it, embed each chunk with the local GGUF model, insert into the store. Binary/image files and files > 1 MiB are rejected. PREVIOUS = {ids:[...], count:N, file, storePath, docCount}.

Params:

input

chunking

advanced

output

Features: cancellable

Default block:

{
  "chunkOverlap": 100,
  "chunkSize": 500,
  "kind": "vectorLocalAddFile",
  "source": "file",
  "storeAs": "addResult"
}

vectorLocalAddText - Add Text to Local Vector Store

Embed text locally (GGUF model), chunk if needed, insert into the store, and save. All embedding is offline - no network calls. PREVIOUS = {ids:[...], count:N, storePath, docCount}.

Params:

input

chunking

advanced

output

Features: cancellable

Default block:

{
  "chunkOverlap": 100,
  "chunkSize": 500,
  "kind": "vectorLocalAddText",
  "source": "text",
  "storeAs": "addResult"
}

vectorLocalDelete - Delete from Local Vector Store by Path

Remove all chunks for a given source path from the store. PREVIOUS = {deleted:N, path, storePath, docCount}.

Params:

input

advanced

output

Features: cancellable

Default block:

{
  "kind": "vectorLocalDelete",
  "storeAs": "deleteResult"
}

vectorLocalOpen - Open Local Vector Store

Open or create a local GGUF-backed vector store at storePath. Loads the embedding model once; subsequent blocks on the same path reuse it. Set gpuLayers to offload embedding to the GPU (-1 = all layers) for faster ingest. PREVIOUS = {docCount, dims, modelPath, gpu, gpuLayers}.

Params:

input

advanced

output

Features: cancellable

Default block:

{
  "kind": "vectorLocalOpen",
  "storeAs": "storeInfo"
}

vectorLocalSearch - Search Local Vector Store

Embed the query locally (GGUF model) and return top-k results by cosine similarity. Offline, no network. PREVIOUS = {hits:[{id,source,path,title,chunk,tags,score},...], count:N, query}.

Params:

input

filter

advanced

output

Features: cancellable

Children:

Default block:

{
  "kind": "vectorLocalSearch",
  "storeAs": "searchResult",
  "topK": 10
}

vectorLocalStats - Local Vector Store Stats

Return metadata about an open store: doc count, dims, model, index size. PREVIOUS = {docCount, dims, modelPath, storePath, indexSizeBytes}.

Params:

input

advanced

output

Features: cancellable

Default block:

{
  "kind": "vectorLocalStats",
  "storeAs": "storeStats"
}

Video

pictureOut - Picture Out

Encode a frame handle (or pass-through image) to a file on disk. The exit from the in-memory filter pipeline. Stores the written path in PREVIOUS / storeAs.

Params:

input

advanced

output

Default block:

{
  "input": "",
  "kind": "pictureOut",
  "outputPath": "",
  "quality": 90,
  "storeAs": "imagePath"
}

videoCapture - Capture Image / Video

Capture a still image or record a camera, screen, or window source to MP4. Stores the output path in PREVIOUS / storeAs.

Params:

mode

input

recording

output_file

capture_options

output

Features: cancellable

Default block:

{
  "action": "Still",
  "device": "",
  "durationMs": 0,
  "fps": 30,
  "height": 0,
  "includeCursor": true,
  "input": "",
  "instance": "",
  "kind": "videoCapture",
  "outputPath": "",
  "storeAs": "capturePath",
  "timeoutMs": 5000,
  "width": 0
}

videoColor - Color Adjust

Adjust brightness / contrast / saturation of a frame. Pipes a frame handle in/out.

Params:

input

options

advanced

output

Default block:

{
  "brightness": 0.0,
  "contrast": 1.0,
  "input": "",
  "kind": "videoColor",
  "outputPath": "",
  "saturation": 1.0,
  "storeAs": "imagePath"
}

videoCrop - Crop

Crop a rectangular region from a frame. Pipes a frame handle in/out.

Params:

input

options

advanced

output

Default block:

{
  "height": 0,
  "input": "",
  "kind": "videoCrop",
  "outputPath": "",
  "storeAs": "imagePath",
  "width": 0,
  "x": 0,
  "y": 0
}

videoDetect - Detect Objects

Capture one frame (webcam or screen) and run a YOLO model. task = detect/obb/pose -> {boxes:[{x,y,w,h,conf,cls,label,angle?,keypoints?}]}; classify -> {classes:[{cls,score,label}]}. Stores {ok, image_w, image_h, infer_ms, task, ...} in PREVIOUS / storeAs.

Params:

source_model

labels_filter

thresholds

runtime

visualization

smoothing

tracking

pose

output_recording

output

Features: container cancellable

Children:

Default block:

{
  "classes": "",
  "conf": 0.25,
  "filterClasses": "",
  "gpuStats": false,
  "input": "",
  "inputSize": 0,
  "instance": "",
  "items": [],
  "kind": "videoDetect",
  "kptMinScore": 0.3,
  "labels": "",
  "model": "",
  "nms": 0.45,
  "outputPath": "",
  "provider": "gpu",
  "recordFps": 30,
  "recordPath": "",
  "smoothAge": 4,
  "smoothAlpha": 0.35,
  "smoothMinHits": 0,
  "storeAs": "detections",
  "task": "auto",
  "threads": 4,
  "timeoutMs": 5000,
  "topK": 5,
  "trackCenter": true,
  "trackCenterDist": 1.2,
  "trackConfHigh": 0.5,
  "trackIds": false,
  "trackTwoStage": false,
  "trackVelBlend": 0.7,
  "visualize": false,
  "visualizeLabels": true,
  "visualizeMode": "auto",
  "visualizeStats": true
}

videoGrayscale - Grayscale

Convert a frame to grayscale (Rec.601 luma). Pipes a frame handle in/out.

Params:

input

advanced

output

Default block:

{
  "input": "",
  "kind": "videoGrayscale",
  "outputPath": "",
  "storeAs": "imagePath"
}

videoListDevices - Video Devices

List all available video capture (camera) devices.

Params:

Features: non-blocking

Default block:

{
  "kind": "videoListDevices",
  "storeAs": "videoDevices"
}

videoListScreens - List Screens

Enumerate physical monitors and visible windows. Stores {monitors:[...], windows:[...]} in PREVIOUS / storeAs.

Params:

Features: non-blocking

Default block:

{
  "kind": "videoListScreens",
  "storeAs": "screens"
}

videoModelControl - Unload Model

List or unload loaded local model instances for this xBlox process.

Params:

lifecycle

output

Default block:

{
  "action": "Unload",
  "key": "",
  "kind": "videoModelControl",
  "storeAs": "modelKey"
}

videoResize - Resize

Resize / resample a frame (bilinear). A 0 dimension is derived from the other to keep aspect. Pipes a frame handle in/out.

Params:

input

options

advanced

output

Default block:

{
  "height": 0,
  "input": "",
  "kind": "videoResize",
  "outputPath": "",
  "storeAs": "imagePath",
  "width": 0
}

videoScreenCapture - Screen Capture

Capture a single frame from a screen or window via GDI BitBlt. input: "screen:0", "screen:0:wintitle*". Stores output path in PREVIOUS / storeAs.

Params:

input

advanced

output

Default block:

{
  "input": "screen:0",
  "kind": "videoScreenCapture",
  "outputPath": "",
  "storeAs": "imagePath"
}

videoSource - Video Source

Pump frames from a webcam, screen/window, image, or video file. With child items it runs them once per frame (PREVIOUS = frame handle) - a flat pipe that transcodes a clip with no for/while and no storeAs. With no items it is a one-shot grabber emitting a handle/path in PREVIOUS / storeAs.

Params:

input

one_shot_output

pump_limits

capture_options

output

Features: container cancellable

Children:

Default block:

{
  "durationMs": 0,
  "emit": "both",
  "fps": 0,
  "frames": 0,
  "height": 0,
  "input": "",
  "items": [],
  "kind": "videoSource",
  "outputPath": "",
  "progressEvery": 60,
  "storeAs": "imagePath",
  "timeoutMs": 5000,
  "width": 0
}

videoStream - Remote Stream

Start, stop, or inspect a named remote video stream server for the mobile web remote. The current backend launches the same video stream server used by the CLI.

Params:

server_lifecycle

input

network

quality

capture_options

access

output

Features: cancellable

Default block:

{
  "action": "Start",
  "bind": "0.0.0.0",
  "bitrateKbps": 8000,
  "encoder": "auto",
  "fps": 30,
  "includeCursor": true,
  "input": "screen:0",
  "instance": "default",
  "kind": "videoStream",
  "mjpegQuality": 85,
  "open": false,
  "port": 8787,
  "storeAs": "stream",
  "token": ""
}

videoWriter - Video Writer

Append a frame (handle or image path) to an .mp4. Stateful across loop iterations - drive it from a for/while loop or --loop run to build a video. Finalized when the run ends. Stores the output path in PREVIOUS / storeAs.

Params:

input

options

advanced

output

Default block:

{
  "fps": 0,
  "input": "",
  "instance": "",
  "kind": "videoWriter",
  "outputPath": "",
  "storeAs": "videoPath"
}

Vision

visionAsk - Vision Ask

Ask a local MiniCPM-style VLM about one or more images.

Params:

input

source_model

prompt

output

output_normalization

runtime

Features: background cancellable

Children:

Default block:

{
  "ctx": 4096,
  "frames": [],
  "gpuLayers": -1,
  "includeRaw": false,
  "input": "",
  "items": [],
  "json": true,
  "kind": "visionAsk",
  "maxTokens": 512,
  "model": "",
  "normalizers": 15,
  "prompt": "Describe what you see in detail.",
  "slot": "vision",
  "storeAs": "vision",
  "threads": 8
}

visionModelControl - Unload Model

List or unload loaded local model instances for this xBlox process.

Params:

lifecycle

output

Default block:

{
  "action": "Unload",
  "key": "llama:vlm",
  "kind": "visionModelControl",
  "storeAs": "modelKey"
}

Supported Custom Commands

Exact ID Label Action Pre-configured Args
group-assistant-bar Assistant Bar metadata
custom.assistant.realtime Live Voice cli:llm agent --realtime
custom.assistant.chat Chat external --ui-preset chat
custom.command-mq6okpfh-b145b Home app:showhome
custom.command-mpx9r1ur-8c6df Assistant app:togglerealtime
custom.command-mpxytlpz-bcde4 Launcher app:togglelauncher
custom.command-mpxzk7g4-67590 Voice Recorder cli:audio record --dst ${KNOWNFOLDER}/last_mic.wav --text-out ${KNOWNFOLDER}/mic_last.md
custom.command-mpxzlwc6-459a8 Video Recorder cli:video record --dst C:\Users\zx\Desktop\1.mp4
custom.command-mpxzouxv-ab189 Screenshot app:takescreenshot
custom.command-mpx904lh-7da31 Explorer external ${CURRENT_FILE}
custom.command-mq3i85bj-db474 Share cli:service files upload ${CURRENT_FILE}
custom.command-mq4800xa-1c3c9 xblox-detect cli:xblox run --src C:\Users\zx\Desktop\pixlwiz\pixlwiz\tests\xblox\agent-args.xblox --type 2 --x 0 --ctx ${CURRENT_PATH}
custom.command-mppft700-137e9 Planner Prompt app:edit
custom.command-mqauenwv-74ac8 Mic-Journal cli:xblox run --src C:\Users\zx\Desktop\pixlwiz\pixlwiz\tests\xblox\stt-journal-ex.xblox --CURRENT_FILE ${CURRENT_FILE}
custom.command-7049c0e7-674fe Play in VLC external ${CURRENT_FILE}
custom.command-712fbd00-f9ac4 Product Shot cli:transform --prompt render this as product shooting, white background, studio --json --reference ${CURRENT_FILE}
custom.command-mpch9gdx-44982 AI:Illustration cli:transform --src ${CURRENT_FILE} --prompt as technical illustration --provider replicate --model google/gemini-2.5-flash --job-ui
custom.command-mq97rchy-5fcbf IllustrationX cli:xblox run --src C:\Users\zx\Desktop\pixlwiz\pixlwiz\tests\xblox\image-pipe-blocks.xblox --CURRENT_FILE ${CURRENT_FILE}
custom.command-mq9a0i3l-576f4 OCR - MD cli:xblox run --src C:\Users\zx\Desktop\pixlwiz\pixlwiz\tests\xblox\ocr-pipe.xblox --CURRENT_FILE ${CURRENT_FILE}
custom.command-mq9azo3w-5b894 OCR - CSV cli:xblox run --src C:\Users\zx\Desktop\pixlwiz\pixlwiz\tests\xblox\ocr-pipe-csv.xblox --CURRENT_FILE ${CURRENT_FILE}
custom.command-mq9b2upm-93cf4 Vision - CSV cli:xblox run --src C:\Users\zx\Desktop\pixlwiz\pixlwiz\tests\xblox\vision-pipe.xblox --CURRENT_FILE ${CURRENT_FILE}
custom.command-mqj3feqz-72a1a Resize -HD cli:resize run --CURRENT_FILE ${CURRENT_FILE} --max-width 800 --src ${CURRENT_SELECTION} --format jpg --cache-dir ${ENV}/cache/images --dst ${SRC_DIR}/${SRC_NAME}_hd.jpg
custom.command-mpohmxea-c64a1 Agent metadata
custom.command-mpi5stmy-8e9cb Assistant cli:assistant
custom.command-mpvpg0b7-81457 RT-Agent-On app:realtimestart
custom.command-mpvps7tt-3f40f RT-Agent-Off app:realtimestop
custom.command-mpohnfaf-26b0c TTS app:setVariable
custom.command-mpokt0hv-41237 Agent Type Funny app:setVariable
custom.command-mpokxo4w-0910a Agent Type Serious app:setVariable
custom.capture Capture metadata
custom.capture.screenshot Take screenshot app:takescreenshot
custom.command-mpx9ka63-c756f Picker cli:assistant pick ${KNOWNFOLDER}
custom.command-mpi5b1hw-8bdc2 browse ribbon:appSettings
custom.mic-start Mic Capture Start cli:audio record --text-out ${KNOWNFOLDER}/last.md
custom.mic-stop Mic Capture Stop cli:audio record stop
custom.video-start Video Capture Start cli:video record --dst ${KNOWNFOLDER}/capture.avi
custom.video-stop Video Capture Stop cli:video record stop
custom.video-status Video Capture Status cli:video record status
custom.tools Tools metadata
custom.tools.theme Toggle theme ribbon:theme
custom.tools.resetLayout Reset layout ribbon:resetLayout
custom.command-70c82b28-65412 Open in VSCode external
undefined-mpq42hgj-93f53 Open in Cursor(copy) external
custom.dropdown-mpqpdwuo-1affa Tests metadata
custom.command-75e6fd77-7c119 Open external ${CURRENT_FILE}
custom.command-7122e2c3-65657 Render to STL external -o ${CURRENT_PATH}${PATH_SEP}${SRC_NAME}.stl ${CURRENT_FILE}
custom.command-7124c298-24a2a Open in FreeCAD external ${CURRENT_FILE}
custom.command-70e693c3-290ff Open in Explorer external /select ${CURRENT_FILE}
custom.command-mpcmqepq-ee6f3 AI:Images List cli:llm agent --prompt create directory listing, for images, in images.md
custom.command-mpy7w3px-8a1e0 Log app:togglelog
custom.command-mqkxsx6y-56346 Center app:togglecenterview
custom.command-mpy7z14t-bcef8 Queue app:togglequeue
custom.command-mqkneqp7-3fcb0 Console app:toggleconsole
custom.command-mqj3lo3h-fed59 Register Explorer cli:register-explorer
custom.command-mqj4ixcu-3a87a Unregister Explorer (copy) cli:register-explorer --unregister
custom.command-70eabea6-957e6 Translate to Spanish cli:llm agent --embed ${CURRENT_FILE} --prompt Translate to Spanish --no-mcp --preset quick --no-planner --no-tools --no-parallel-tools --dst ${SRC_DIR}/${SRC_NAME}_ex.${SRC_EXT}