Release Notes
These Release Notes describe the key features, software enhancements and improvements, and known issues for the VSS release product package.
VSS 3.3.0
Key Features and Enhancements
-
Released
vss-build-vision-ai, a unified Agent Skill for composing and deploying custom vision stacks. It deploys thebase,search,lvs, andalertsdeveloper profiles plus thewarehouseindustry profile, and can extend a running deployment with a delta overlay.vss-build-vision-aireplaces the removedvss-deploy-profileAgent Skill and takes no-p/-mflags — describe the profile in the request instead:The
/deploypre-GA alias now resolves to/vss-build-vision-ai.vss-build-vision-aialso composes lean stacks from the capabilities you name. Unless the request names the in-stack VSS Agent,base,alerts,lvs, andsearchbuilds omit the Agent and Phoenix, and keep the Agent’s LLM only when a selected service or the harness needs it. -
Reorganized the Agent Skills into
deployment/,operations/,tools/, andbenchmarking/folders, withvss-build-vision-aiat the top level. Symlinks from a 3.2.x install no longer resolve for moved Skills; see Updating Skills. -
Added the
vssCLI as the supported way to operate a running deployment from a coding agent or the host. Configure it once withvss configure --base-url. Command groups includevios,vlm,summarize,search,memory, andanalytics. Skills drive the CLI rather than constructing REST endpoints. -
Added VSS CLI agent memory. Elasticsearch stores structured jobs and records. Enable it with
vss configure memory, then read records withvss memory get,query, andevents. OpenClaw Markdown notes are an optional recall cache. -
Added bounded memory introspection with
vss configure memory introspectionandvss memory introspect. Introspection answers from stored records first and requests at most three grounded VLM follow-ups.vss-ask-videochecks hot conversation context, Markdown memory, structured memory, and introspection before it runsvss vlm runon an exact window. -
Moved VSS documentation releases to GitHub Actions and Fern. Documentation is authored alongside the source in this repository and built and published with Fern.
-
Added Adaptive EVS video token pruning to the Real-Time VLM (RTVI-VLM) microservice. Building on fixed-rate Efficient Video Sampling (EVS), Adaptive EVS adds content-dependent similarity pruning, per-stream video sessions, and token-budgeted clip packing to reduce redundant visual input and per-chunk inference time on long videos and live streams. Enable it with
VIA_EVS_SESSION=trueandVLM_VIDEO_PRUNING_RATE=0.5, and optionally tune how aggressively similar frames are pruned withVLLM_EVS_SIMILARITY_THRESHOLD(default0.4). It is supported for local, vLLM-compatible Qwen3-VL-based models. Refer to Efficient Video Sampling (EVS and Adaptive EVS) in the Real-Time VLM documentation.
Agent Workflows
Video Summarization
Base
Search
Alerts
Warehouse Operations
-
Updated the default summarization LLM from the removed
openai/gpt-oss-20bmodel tonvidia/nemotron-3.5-lightning-30b-a3b. The 3.3.0 deployment rejects the removed model name. -
Replaced
KAFKA_TOPICwithMESSAGE_BUS_TOPICon the streaming profile. The default topic remainsmdx-vlm-captions.KAFKA_TOPICandVSS_DISABLE_DECODER_REUSEare no longer read. -
Updated Video Summarization to CA-RAG 3.1.0. Aggregation retries only when a response contains neither events nor a video summary.
LVS_AGGREGATION_EMPTY_RETRIESdefaults to2; set it to0for the 3.2.x single-attempt behavior. -
The service always forwards
scenarioandeventsto CA-RAG, including whenenable_vlm_structured_outputis enabled. -
Added question answering for assets summarized with
enable_qa=truethroughPOST /v1/chat/completions. -
Added
DELETE /assets/{asset_id}/indexas an idempotent way to reclaim a retained per-asset Elasticsearch index. -
POST /summarizeandPOST /v1/summarizenow return HTTP 422 whenmedia_info.start_offsetis greater than or equal tomedia_info.end_offset, or whenmin_tokensis greater thanmax_tokens. In 3.2.x these requests could return HTTP 200 with an empty result. -
Responses omit
media_info.start_offsetandmedia_info.end_offsetwhen either value is unavailable or the range is not strictly increasing. -
POST /summarizeandPOST /v1/stream_summarizeaccept an inboundtraceparentheader and link the request to the caller’s distributed trace. -
The RTVI-VLM profile supports optional Adaptive EVS video token pruning to reduce redundant visual input and per-chunk inference time.
-
The Video Summarization service no longer requests a GPU. Captioning stays on RTVI-VLM, and the LLM stays on its own service.
-
Standalone Compose with the
rtviprofile now requiresVLM_MODEL_TO_USEat startup. A local model also requiresMODEL_PATH. The blueprint profile underdeploy/dockerkeeps itsopenai-compatdefault. -
Human-in-the-Loop (HITL) dialog content is clipped when zoomed in. The in-stack VSS Agent’s HITL dialog may not resize to fit the available viewport when browser zoom is increased, leaving content clipped or truncated. Suggested workaround: reduce browser zoom until the full dialog is visible.
-
Empty structured-event results during file summarization. CA-RAG may fail to parse RT-VLM output that does not match the expected event schema, leaving empty event results even when captions are generated and stored and the summarize API reports success.
-
Memory pressure under concurrent summarization on DGX Spark and Jetson Thor. RT-VLM memory usage with Cosmos Reason 3 Super NVFP4 varies with request concurrency. Concurrent file-summarization workloads may exceed available system memory, causing stalls, RT-VLM service termination, and HTTP 503 errors.
See Migrating from 3.2.x to 3.3.0 for the environment-variable and API changes.
Known Issues and Limitations
- The agent could return a video URL with the OpenShell origin
http://host.openshell.internal:7777; replace this with your own browser-facing origin to open the URL. - Alerts developer profile (real-time mode): The default sample prompt may cause false positives on some streams. When using a video other than the default sample stream, update and make the alert prompt as specific as possible about the conditions to detect.
- Alerts developer profile (real-time mode) input support: Only RTSP streams are supported as input. Attempting to upload MP4 files directly to VIOS causes RTVI VLM errors.
- RTSP searches return no results for queries without visual
attributes: In the Search profile, in-stack VSS Agent query
decomposition applies a 2025-01-01 time window to queries that describe
an action or event but no visual attributes such as clothing or color,
for example
show person climbing ladder. The window excludes the stream’s recordings, so the search returns no results even when matching footage exists. Queries that include visual descriptors and searches over uploaded videos are unaffected, as are thevssCLI and thevss-search-archiveskill. - Attribute-only searches scoped to an uploaded video return no
results: In the Search profile, the VSS Agent returns no results when a
query describes visual attributes but no action and names an uploaded video
as the video source, such as
show person with green jacket in video source warehouse_sample. Queries without a video source, fusion searches that combine an action with visual attributes, and searches over RTSP streams are unaffected, as are thevssCLI and thevss-search-archiveskill. Workaround: omit the video source from the query. - NemoClaw harness bring-up fails on leftovers from an earlier deployment:
A NemoClaw build can fail after the stack has already been deployed when a
gateway, dashboard relay, or sandbox from an earlier deployment is still
running — holding
8080,18789, or18790, or leaving/tmp/nemoclaw-dashboard-*.logfiles the relay cannot write. A relay that still answers its health check can also make the notebook report success over a relay that never bound. Workaround: before deploying, confirm that8080,18789, and18790are free, that no relay or sandbox from an earlier run is alive, and that both/tmp/nemoclaw-dashboard-*.logpaths are writable. Unprivileged,lsofandssmay show the listening socket without naming the process that owns it, so treat a held port and an unidentified owner as separate findings: the port blocks the build either way, and an unnamed holder means the owner is unknown, not that it belongs to someone else. Another user’s leftover harness is one possible cause on a shared host, and the one you cannot clear yourself — neitherpkillnornemoclaw destroyreaches their processes, so that user has to tear their own build down and delete the log files. The preflight fix will be available in the next release. - Live RTSP caption gaps under overload: When RT-VLM inference cannot
keep up with incoming video chunks, including at high stream concurrency,
the bounded decoder-to-VLM queues drop decoded chunks to limit queued-frame
memory growth. Affected chunks may produce empty captions while the live
HTTP/SSE request remains active; logs report
Live decoder backlog exceeded the bounded decoder-to-VLM transport. Separately, the GPU-memory admission guard may reject new live-stream requests with HTTP 503ServerBusywhen free GPU memory falls below its configured threshold. Reduce concurrent streams or the inference workload to match the platform’s sustainable throughput; increasing queue capacity does not resolve sustained overload. - Live RTSP backend OOM on Jetson AGX Orin: Prolonged concurrent live
captioning with Cosmos Reason 3 Edge has also encountered a backend
out-of-memory termination during burst requests, followed by HTTP 503
ServiceUnavailable. Bounded decoder queues do not cap total service memory or guarantee protection against backend OOM. Reduce concurrency and restart the service if the backend has terminated. - Report generation can intermittently fail after deployment with the Brev Launchable notebook: After deploying VSS 3.3.0 by running
deploy_vss_launchable.ipynb, submitting report-generation queries in the VSS Chat UI can intermittently displayNetwork Errorinstead of completing the report. Regenerating the report with the same query should resolve the issue.
VSS 3.2.1
VSS 3.2.1 is a bug fix release for the VSS 3.2.0 release.
Key Features and Enhancements
- Updated the default VLM model for the Real-Time Video Language Model (RT-VLM) microservice and the agent workflows to Cosmos Reason 3 Nano.
- Updated the Smart City Industry profile to use 3.2.0 microservices.
- Updated CPU-based multimedia support.
Note: Users should use the VSS 3.2.1 GitHub release/branch and the container tags referenced by the 3.2.1 deployment assets. The 3.2.1 manifests may intentionally reference a mix of new 3.2.1 tags and unchanged 3.2 tags; this is expected. Only containers requiring a remediation or feature delta were republished.
Older affected 2.x, 3.0, and 3.1 container images are deprecated and should not be used for new deployments. These older images will be removed from NGC on September 30, 2026.
VSS 3.2.0
These are the VSS 3.2.0 Release Notes. This is the first 3.X General Availability (GA) release. It hardens the modular architecture and documents the developer profiles.
Key Features and Enhancements
-
Source code released for all microservices and agent workflows on GitHub.
-
Agent Skills (Agent Skills) (Early Access) are now available for agent-driven deployment and operations with support for multiple agent harnesses. Skills are provided for:
- Profile deployment.
- Agent workflow use cases such as video summarization, search, and report generation.
- Deployment and management of RTVI, Alerts, and Behavior Analytics microservices.
- Camera and stream management.
-
Added Helm chart support for all of the agent workflows.
-
Added optional audio-in-video support on the base agent profile: remote Nemotron 3 Nano Omni VLM with audio-enabled prompts and configurations.
-
Added a Real-time Computer Vision 3D (RT-CV-3D) microservice with support for MV3DT-based 3D multi-camera detection and tracking, and integrated it into a new Warehouse Blueprint application.
-
Added the Automatic Calibration microservice for automated camera position and orientation calibration.
-
NemoClaw + VSS (Early Access): The
deploy_nemoclaw_vss.ipynbnotebook for deploying and operating VSS from the NemoClaw / OpenClaw chat UI, bundled with the VSS OpenClaw plugin, VSS Agent Skills, a VSS policy preset, and the host-side VSS Orchestrator MCP server.
Agent Workflows
Video Summarization
Base
Search
Alerts
Warehouse Operations
-
Updated the Video Summarization developer profile to integrate the current Video Summarization microservice and API flow (renamed from Long Video Summarization microservice).
-
Updated Video Summarization to use RTVI-VLM as the default VLM path for video understanding and summarization.
-
Added support for generating one report across multiple uploaded videos.
-
Early Access (EA) Feature: Video Summarization live-stream caption generation, stream summary, and stream report generation.
-
Requests for an RTSP stream summary return empty results if no captions are available in Elasticsearch for the requested time period. This can happen if:
- The requested time period is before caption generation started.
- The caption generation prompt causes no captions to be stored in Elasticsearch for the requested time period.
-
If multiple agent sessions or agent instances connect to the same backend, either simultaneously or at different times, the caption generation prompt is overwritten by the latest query.
-
The agent has no visibility into caption prompts set by other agent instances.
-
A generated caption containing the substring
yesortrue(case-insensitive) will result in a spurious record in themdx-vlm-incidents-1970-01-01index.
System Components
RT-VLM
RT-CV
RT-Embed
VIOS
Auto-Calibration
RT-CV-3D
-
Endpoint rename:
/v1/generate_captions_alertshas been renamed to/v1/generate_captions. Update any 3.1.0-era client code accordingly. -
Duplicate live-stream / camera IDs are now rejected with HTTP 409 (
DuplicateCameraId/DuplicateStreamId) instead of being silently overwritten. Remove the prior stream first, or surface the 409 to the caller. -
Repeated RTSP caption requests now start independent jobs. Repeated
/v1/generate_captionscalls for the same RTSP stream ID no longer reconnect to the existing live caption request. Each call returns a distinct request ID.DELETE /v1/generate_captions/{stream_id}or deleting the stream stops all active caption jobs for that stream ID. -
Cosmos Reason 3 reasoning VLMs. Two checkpoints are supported: Cosmos3-Nano-Reasoner and Cosmos3-Super-Reasoner. Set
VLM_MODEL_TO_USE=cosmos-reason3. For Nano, setMODEL_PATH=ngc:nim/nvidia/cosmos3-nano-reasoner:bf16-final. For Super, setMODEL_PATH=ngc:nim/nvidia/cosmos3-super-reasoner:bf16-final. -
Nemotron Nano Omni with native video + audio understanding. Enable with
VLM_TRUST_REMOTE_CODE=trueand (for audio)VLM_MODEL_SUPPORTS_AUDIO=true. UseINSTALL_PROPRIETARY_CODECS=truewhen inputs contain proprietary audio codecs. -
Qwen 3.5 and Qwen 3.5 MoE VLMs. The service auto-detects
Qwen3_5ForConditionalGeneration/Qwen3_5MoeForConditionalGenerationand runs them against the bundled vLLM runtime. The MoE variant uses thetritonMoE backend (auto-selected on B200, configurable viaVLLM_MOE_BACKEND). -
Default model is now
cosmos-reason2(ngc:nim/nvidia/cosmos-reason2-8b:0303-fp8-dynamic-kv8). -
URL-based processing on
/v1/generate_captionsand/v1/files:http://,https://,s3://,file://(with allowlist viaFILE_URL_ALLOWED_DIRS). New request fieldsurl,media_type,creation_time,url_headers; new response fieldchunk_id(zero-based). -
Native audio for Omni models via
enable_audio: true;audio_transcriptis returned per chunk. -
Reasoning via
enable_reasoning: true;reasoning_descriptionis returned per chunk. -
Reasoning propagation to Kafka/protobuf: parsed VLM reasoning is added to
VisionLLM.infoandIncident.infoas bothreasoningandreasoningDescription. -
Alert categorization via the
alert_categoryfield on incidents. -
CV-compatible stream API:
POST /v1/stream/add,POST /v1/stream/remove,GET /v1/stream/get-stream-infoalongside the existing/v1/streams/*endpoints. -
Text-only chat completions via
/v1/chat/completions(no media required); multi-turn conversations and token-level SSE streaming. -
POST /v1/filesaccepts an HTTP/S URL for server-side fetch. -
Proprietary audio codec support for Omni models via
INSTALL_PROPRIETARY_CODECS=true. -
Efficient Video Sampling (EVS) via
VLM_VIDEO_PRUNING_RATE. Supported on Nemotron Nano VL and Qwen 2.5 VL (not Cosmos Reason). -
GOP-aware decode optimization via
RTVI_ENABLE_GOP_DECODE_OPT(defaulttrue; file decode only). -
New vLLM tuning knobs:
VLLM_MM_PROCESSOR_CACHE_GB,VLLM_ENFORCE_EAGER,VLLM_MAX_NUM_BATCHED_TOKENS,VLLM_DISABLE_MM_PREPROCESSOR_CACHE. -
VLM_MAX_GENERATION_TOKENS— Cap on tokens generated per request (default16384). -
VLM_PROMPT_MAX_LENGTH— Maximum user-prompt length in characters (default10240). -
VLM_SYSTEM_PROMPT_MAX_LENGTH— Maximum system-prompt length in characters (default10240). -
VLM_MODEL_SUPPORTS_AUDIO— Enable native audio decoding for Omni models (defaultfalse). -
VLM_TRUST_REMOTE_CODE— Enabletrust_remote_codein vLLM andAutoProcessor. Required for Omni and some custom models (defaultfalse). -
VLM_VIDEO_PRUNING_RATE— EVS video-token pruning rate (0.0–1.0). Supported on Nemotron Nano VL and Qwen 2.5 VL; not on Cosmos Reason. -
VLLM_MOE_BACKEND— Override vLLM MoE backend (e.g.,triton). Auto-defaults totritonon B200. -
VLLM_MM_PROCESSOR_CACHE_GB— vLLM multimodal preprocessor cache size in GB (default1). -
VLLM_ENFORCE_EAGER— Force eager execution in vLLM (A100/Ampere CR2 FP8 workaround) (defaultfalse). -
VLLM_MAX_NUM_BATCHED_TOKENS— Cap on the prefill batch token size to improve decode throughput (default16384). -
RTVI_ENABLE_GOP_DECODE_OPT— GOP-aware decode optimization for file decode (defaulttrue; no effect on RTSP). -
KAFKA_ASYNC_SEND_QUEUE_MAXSIZE— Maximum queued in-flight async Kafka sends (default1024). -
FILE_URL_ALLOWED_DIRS— Comma-separated absolute directories allowlisted forfile://URL ingestion.file://is rejected when unset. -
ASSET_DOWNLOAD_SSL_SKIP_VERIFY_DOMAINS— Domains for which SSL verification is skipped on URL download. -
ASSET_DOWNLOAD_MAX_REDIRECTS— Maximum redirect hops on URL download (default0disables; max10). -
ASSET_DOWNLOAD_MAX_FILE_SIZE_GB— Maximum size (GB) of files fetched via URL (default8). -
ASSET_DOWNLOAD_AUTH_TOKENS— Per-domain auth headers (domain1=Bearer xxx;domain2=Basic yyy). -
ASSET_MAX_AGE_HOURS— Auto-evict uploaded assets older than this many hours (default0disables). -
Docker Compose x86 default:
nvcr.io/nvidia/vss-core/vss-rt-vlm:3.2.0. -
Docker Compose DGX Spark/SBSA image:
nvcr.io/nvidia/vss-core/vss-rt-vlm:3.2.0-sbsa. -
Helm chart default:
nvcr.io/nvidia/vss-core/vss-rt-vlm:3.2.0. Setimage.tagto the required release tag for your deployment package.
Known Issues and Limitations
-
The OpenClaw chat UI can display a duplicate assistant response for a single user query. The duplicate is a rendering issue only; the underlying agent processes the query once and the tool invocations and results are unaffected. Refresh the chat or ignore the duplicated bubble.
-
The OpenClaw UI can stop rendering agent responses after running for some time and appear stale, for example while periodic VSS deployment status polling continues in the background. Workaround: refresh the UI to see the latest responses.
-
Docker Engine 29.5.0 and later can fail to pull some NGC-hosted image tags after the image layers download, with an
error from registry: Incorrect Repository Formatmessage. Use a supported Docker Engine version earlier than 29.5.0. If you must use Docker Engine 29.5.0 or later, add or merge the following daemon-side override in/etc/docker/daemon.jsonand restart Docker:This disables the containerd snapshotter image store path for the Docker daemon and uses the legacy Docker graphdriver image store. Preserve any existing daemon settings, such as the required
exec-optscgroup driver configuration. -
Agent with audio-enabled configuration for Nemotron 3 Nano Omni model is known to encounter multiple retry issues with videos that are missing audio or non-compatible audio streams.
-
After deploying with the Brev Launchable, Brev can occasionally report
services unhealthyeven though Jupyter Notebook, VSS deployment, and VSS skills continue to function. This appears to be an intermittent Brev status issue and is harmless for VSS operations. -
Phoenix must be accessed through HAProxy on port 7777 (
https://7777-<id>.brevlab.com/phoenix), not directly on port 6006. Phoenix is configured for reverse-proxy access withPHOENIX_HOST_ROOT_PATH=/phoenix; HAProxy strips that prefix before forwarding, while direct access on 6006 leaves paths such as/phoenix/graphqlunchanged and returns405 Method Not Allowed, which breaks the UI. Port 6006 does not need a Brev secure link for Phoenix. -
(Search profile, Brev 2-GPU environments): When using local VLM, the Search critic is automatically disabled with a warning to avoid invalid local VLM GPU assignment. As a result, critic-based verification is unavailable unless you use a remote VLM or a host with more than 2 GPUs.
[WARN] Brev environment has 2 GPU(s). Disabling Search critic to avoid starting the local VLM on GPU 2.
VSS 3.1.0
These are the VSS 3.1.0 Release Notes. This is an early access release including a refactored architecture and new features. There are some features in an alpha state and should not be used in production.
Key Features and Enhancements
- Updated the Search Agent Workflow to introduce attribute search, multi-embedding fusion search, and a critic agent to review search results.
- Updated the Real-Time Computer Vision (RT-CV) microservice to support embedding generation for detected objects. This release supports two embedding models: RADIO-CLIP and SigLIP2.
- Updated Brev Launchable deployment to support the 3.X architecture and deploy all of the agent workflows.
- Added support for AGX Thor and DGX Spark with hybrid deployment (remote LLM) of the Base and Alerts profiles.
- Added additional deployment options for undefined hardware profiles.
VSS 3.0.0
These are the VSS 3.0.0 Release Notes. This is an early access release including a refactored architecture and new features. There are some features in an alpha state and should not be used in production.
Key Features and Enhancements
-
Updated the out-of-the-box-experience which includes launching a minimal vision agent and allowing developers to add on agent workflows using a combination of microservices. Agent workflows available in this release are:
- Report generation and Q&A: The agent can generate templated reports and answer questions using the VLM. This is part of the base agent profile in Quickstart.
- Video summarization: The agent can generate long video summaries with time-stamped highlights.
- Alert verification: Augment existing CV pipelines with VLMs to verify events and extract additional insights.
- Real-Time VLM alerts: Generate tail-end alerts using VLM.
- Search: Open vocabulary search for actions and events. This is an alpha feature.
-
Introduced 2 industry-specific, large scale, blueprint examples for smart cities and warehouses.
-
Modularized the VSS architecture, introducing new microservices and APIs.
-
Introduced a top-level agent, capable of planning and executing vision-based workflows leveraging the new microservices.
-
Introduced Real-Time Video Intelligence (RTVI) microservices for accelerated feature extraction from stored and streamed video. Three microservices are included in this release:
- Real-Time VLM (RT-VLM): Generates captions and alerts for live streams using Vision Language Models.
- Real-Time Embedding (RT-Embedding): Generates embeddings for live streams and video files.
- Real-Time Computer Vision (RT-CV): Detects and tracks objects in live streams and video files.
-
Refactored video summarization workflow into the Video Summarization microservice.
-
Introduced Video IO and Storage (VIOS) microservices, to manage video (stored and streamed), recording, and playback.
-
Introduced Behavior Analytics microservice, to set up heuristics for event creation based on computer vision metadata.
-
Introduced calibration microservices, to calibrate the camera position and orientation for 3D and multi-view applications.
-
Integrated a new API Gateway / MCP (Model Context Protocol) server to route requests to the appropriate microservices.