VOLT

VOLT AI

Chat with an assistant that looks up your team's data, runs pipelines and drives the viewer, on a model your team configures.

VOLT AI is a chat assistant built into VOLT. It answers questions about your team's trajectories, analyses, plugins, clusters, notebooks and whiteboards by reading them through tools, so its answers come from your data rather than from guesses. It can also act: run an analysis pipeline, rename or delete things, draw on a whiteboard, open a trajectory in the 3D viewer and change what the viewer shows.

VOLT does not ship a model. VOLT AI runs on a model from a provider your team connects, with your team's API key.

Connect a provider

Providers are set per team, in Settings › Integrations (/dashboard/settings/integrations), under AI Providers.

Click Connect. The Add provider dialog opens.

Pick the Provider and enter its API key. Ollama needs no key; it asks for an Endpoint instead (http://localhost:11434/v1 by default). For the other providers, Custom endpoint (optional) sends requests to a gateway of your own instead of the provider's API.

Under Models, add each model the team may use: its Model ID as the provider names it (for example gpt-4o) and an optional Display name, then Add. VOLT has no built-in model list, so only the models you add here are offered.

Choose the Default model, leave Enabled on, and click Save.

A team has at most one integration per provider. Each one in the list has Configure and Remove buttons. To keep the current key when you configure a provider again, leave API key empty. The server stores keys encrypted and never sends them back to the browser.

ProviderProvider
OpenAICohere
AnthropicDeepSeek
GoogleDeepInfra
GroqCerebras
xAI (Grok)Together AI
MistralFireworks AI
Ollama

VOLT does not test the key when you save it. A wrong key shows up as a failed answer in the chat.

Managing providers uses the team's team permission: team:read to see them, team:create to connect one, team:update to change one and team:delete to remove one. With the built-in roles, only the Owner can change providers.

Chat with VOLT AI

The AI page

Open VOLT AI in the sidebar (/dashboard/ai). The sidebar switches to your conversations in the selected team: New conversation, a Search… field and the Recent list. Hover a conversation to rename it or delete it (Delete this conversation?). Conversations are private: only you see yours, and each belongs to the team it was started in.

A VOLT AI conversation that ran an analysis pipeline after approval and answered with a table, open as a spreadsheet at the right

Type in Ask anything and press Enter to send. Next to the box, the model picker lists every model of the team's enabled providers, with the provider under each name. A conversation remembers the model you last used in it. When you haven't picked one, it uses the default model of the most recently connected provider. While VOLT AI answers, the send button becomes a stop button (Stop generating).

The answer streams in. Above the text, a collapsible trace shows the model's reasoning (Thinking…, Thought for …) and the tools it called (Used N tools). Copy message copies an answer.

A table in an answer has Open spreadsheet. It opens the table in a panel beside the conversation, where you can edit cells, copy the table and download it with Download CSV or Download Excel.

The floating assistant

The Volt AI button in the dashboard header, the whiteboard editor and the canvas toolbar opens the same chat in a floating panel, with New conversation and Open full AI page. When you leave the AI page with a conversation open, the floating panel picks it up.

How a turn runs

  • A conversation runs one turn at a time. Sending while VOLT AI is still answering is refused.
  • The turn runs on the server. Closing or reloading the tab does not stop it, and a tab that opens the conversation mid-turn sees what has been said so far. Only Stop generating ends a turn early.
  • A turn takes at most 48 model steps.
  • When a conversation grows long (about 240,000 characters of history), VOLT folds its earlier part into a summary that the model reads instead. The model can also fold it on demand with the context_compact tool.

Tools

VOLT AI works through tools. Server tools run on the VOLT server with your identity, in the conversation's team. Browser tools run in your tab: they navigate, open panels and control the 3D viewer. A browser tool runs only in the tab that sent the message. With no such tab, nothing runs and the model is told so. Viewer tools wait up to 30 seconds for the viewer to open before reporting that none is open.

Permissions

VOLT AI uses your role in the team, never more. Each tool declares the team permission that the same operation needs over the HTTP API. The model is offered only the tools your role allows; it does not see the others. Tools marked — below touch only your own account or screen, or need only team membership, as their HTTP twins do.

Using VOLT AI itself needs:

ToPermission
Open the AI page and your conversationsai-conversation:read
Send messages, and approve or reject cardsai-conversation:create
Rename / delete a conversationai-conversation:update / ai-conversation:delete
Load the team's providers and modelsteam:read

With the built-in roles, Owner and Member can use VOLT AI. Viewer cannot. Admin has every ai-conversation permission but not team:read, so the AI page cannot load the team's providers for an Admin.

Approvals

A tool that changes your work asks you first. Instead of running it, VOLT AI shows a card with what it wants to do and the input it will use, with Approve and Reject (or Approve all N and Reject all when it asks for several at once).

  • Approve: the server runs the tool with exactly the input on the card, after checking your permissions again. The card shows Approved. Running…, then the result, or Approved, but it failed: ….
  • Reject: nothing runs. The card shows Rejected. Nothing ran. and VOLT AI asks what you would rather do.

While a card is waiting, the model cannot call that tool again; it answers your other questions instead.

Every tool that writes asks first, with these exceptions, which run without a card: update_conversation (rename this conversation), create_scripting_notebook, create_whiteboard, clone_plugin (makes a new draft) and draw_on_whiteboard. manage_sessions asks first to revoke sessions, but not to list them. Tools that only read never ask. Neither do the browser tools that only change what your screen shows.

Tool reference

In the Asks first column, yes means the tool shows an approval card.

Conversations

ToolWhat it doesPermissionAsks first
list_conversationsLists your conversations.ai-conversation:readno
update_conversationRenames a conversation.ai-conversation:updateno
delete_conversationDeletes a conversation.ai-conversation:deleteyes
context_compactFolds the earlier part of this conversation into its summary.—no

Search and overview

ToolWhat it doesPermissionAsks first
global_searchSearches the team's trajectories, analyses and plugins, and your teams, with links to each.—no
get_dashboard_metricsGets the dashboard's totals and time series.—no
get_activity_summarySummarizes recent team activity, or yours.daily-activity:readno
get_team_contextGets the team, its members with roles and presence, and its AI providers and models.team:readno

Trajectories and jobs

ToolWhat it doesPermissionAsks first
list_trajectoriesLists trajectories, by folder or search.trajectory:readno
list_public_trajectoriesLists the team's public trajectories.trajectory:readno
list_sample_simulationsLists the bundled sample simulations.trajectory:readno
get_trajectoryGets one trajectory.trajectory:readno
get_trajectory_team_metricsGets trajectory and storage totals for the team.trajectory:readno
get_simulation_cellGets a trajectory's simulation cell.simulation-cell:readno
update_trajectoryRenames a trajectory or changes its public visibility.trajectory:updateyes
clone_trajectoryClones a trajectory, optionally onto another cluster.trajectory:createyes
move_trajectoryMoves a trajectory into a folder or to the root.trajectory:updateyes
delete_trajectoryDeletes a trajectory and its analyses.trajectory:deleteyes
delete_trajectory_folderDeletes a folder and the trajectories in it.trajectory:deleteyes
retry_team_failed_jobsRetries a trajectory's failed jobs.trajectory:updateyes
remove_team_running_jobsRemoves a trajectory's running jobs.trajectory:deleteyes

Analyses

ToolWhat it doesPermissionAsks first
list_analysesLists the team's analyses.analysis:readno
list_trajectory_analysesLists a trajectory's analyses.analysis:readno
list_analyses_by_configLists the analyses of one configuration.analysis:readno
get_analysisGets one analysis.analysis:readno
get_analysis_artifactsLists an analysis's expected artifacts and their readiness.analysis:readno
get_analysis_frame_logGets the log of one analysis frame.analysis:readno
summarize_analysis_runSummarizes a run: plugin, configuration, progress, failures, runtime, artifacts.analysis:readno
compare_analysesCompares two runs side by side.analysis:readno
retry_failed_analysis_framesRetries an analysis's failed frames.analysis:updateyes
delete_analysisDeletes an analysis.analysis:deleteyes

Plugins, pipelines and results

ToolWhat it doesPermissionAsks first
list_pluginsLists the team's installed plugins.plugin:readno
get_pluginGets a plugin's metadata.plugin:readno
describe_plugin_argumentsDescribes the arguments a plugin accepts.plugin:readno
compare_pluginsCompares two plugins' arguments, exposures and workflows.plugin:readno
validate_workflowValidates a workflow graph and reports whether it can be published.plugin:readno
search_registry_pluginsSearches the public plugin registry.plugin:readno
install_pluginInstalls a plugin from the registry.plugin:createyes
clone_pluginClones a plugin into a new draft.plugin:createno
publish_pluginPublishes a draft plugin after validating it.plugin:updateyes
uninstall_pluginRemoves a plugin from the team.plugin:deleteyes
execute_pipelineRuns a pipeline of plugin stages on a trajectory.plugin:createyes
list_plugin_listing_documentsLists an exposure's result rows.plugin:readno
list_analysis_result_optionsLists the results and sub-listings an analysis produced.plugin:readno
read_analysis_result_rowsReads rows of a result table.plugin:readno
get_sub_listingReads a nested sub-listing for one timestep.plugin:readno
summarize_analysis_resultComputes per-column statistics of a result.plugin:readno

Clusters

ToolWhat it doesPermissionAsks first
list_clustersLists the team's clusters.team:readno
get_clusterGets one cluster.team:readno
get_cluster_health_summarySummarizes a cluster's connection, version, heartbeat, capabilities and queues.team:readno
get_cluster_resource_limitsGets a cluster's CPU and memory limits.team:readno
get_cluster_runtime_snapshotGets a cluster's live queue snapshot.team:readno
list_cluster_transfer_jobsLists a cluster's transfer jobs.team:readno
list_remote_cluster_filesLists files in a cluster's storage, within a password-confirmed remote access session.team:readno
generate_cluster_install_manifestGenerates a cluster's install manifest. It needs the cluster's daemon password.team:createno
update_cluster_roleChanges a cluster's role.team:updateyes
update_cluster_queue_concurrencyChanges a cluster's queue concurrency and limits.team:updateyes
regenerate_cluster_tokenIssues a new enrollment token.team:updateyes

Notebooks

ToolWhat it doesPermissionAsks first
list_scripting_notebooksLists the team's notebooks.scripting:readno
get_scripting_session_statusGets a notebook's Jupyter session status.scripting:readno
create_scripting_notebookCreates a notebook.scripting:createno
update_scripting_notebookUpdates a notebook.scripting:updateyes
delete_scripting_notebookDeletes a notebook.scripting:deleteyes
start_scripting_jupyter_sessionStarts a notebook's Jupyter session.scripting:createyes
stop_scripting_sessionStops a notebook's Jupyter session.scripting:updateyes

Whiteboards

ToolWhat it doesPermissionAsks first
list_whiteboardsLists the team's whiteboards.whiteboard:readno
get_whiteboardGets one whiteboard.whiteboard:readno
get_whiteboard_stateReads a whiteboard's whole scene.whiteboard:readno
create_whiteboardCreates a whiteboard.whiteboard:createno
update_whiteboardUpdates a whiteboard.whiteboard:updateyes
move_whiteboardMoves a whiteboard to another folder.whiteboard:updateyes
delete_whiteboardDeletes a whiteboard.whiteboard:deleteyes
delete_whiteboard_folderDeletes a whiteboard folder.whiteboard:deleteyes
draw_on_whiteboardDraws boxes, text, arrows, lines, ellipses and diamonds on a whiteboard, live. Runs in your tab.whiteboard:updateno

Your account

ToolWhat it doesPermissionAsks first
update_profileChanges your name or email.—yes
manage_sessionsLists your sign-in sessions, revokes one or revokes all others.—to revoke
get_notificationsLists your notifications.—no

In your tab: navigation and layout

ToolWhat it doesPermissionAsks first
navigate_toTakes you to a page of the app. The page's own permission check still applies.—no
open_in_viewerOpens a trajectory in the canvas, optionally focusing an analysis or a collaborator's workspace.trajectory:readno
switch_teamSwitches the selected team and goes to the dashboard.—yes
open_command_paletteOpens, closes or toggles the command palette.—no
open_panelOpens a canvas panel or selects a modifier in it.—no
set_chat_surfaceOpens the floating assistant, goes to the AI page or hides the assistant.—no
set_themeSwitches between light, dark and system theme.—no

In your tab: the 3D viewer

These need a trajectory open in the canvas.

ToolWhat it doesPermissionAsks first
get_viewer_stateReads the viewer's frame, playback, scene and display settings.—no
focus_resultHighlights a result or modifier, or clears the highlight.—no
set_camera_viewSnaps the camera to front, back, left, right, top, bottom or isometric.—no
reset_cameraResets the camera to frame the whole scene.—no
set_playbackSets playback speed, frame rate and loop range.—no
control_playbackPlays, pauses or stops playback.—no
seek_frameJumps to a timestep, or to the first, last, next or previous frame.—no
set_appearanceSets atom size, cell visibility and render quality.—no
set_environmentSets background, floor grid and fog.—no
set_visible_layersShows or hides the atoms layer.—no
reset_view_settingsUndoes or redoes the last viewer change, or resets every viewer setting.—no
configure_color_codingColors atoms by a per-atom property with a color map. Collaborators in the same workspace see the change.—no
push_expression_selectHighlights atoms that match an expression, for example Position.X > 10.—no
launch_grain_segmentation_analysisAdds a grain-segmentation stage to the canvas pipeline. It does not run it; you run the pipeline from the canvas.—no

To learn what the canvas and pipelines do with these settings, see Canvas and Pipelines.

On this page