Author Image

CEO & Co-founder of Visivo

Visivo v2.2.0: Agents, Themes, and Template Dashboards

Visivo v2.2.0 adds an Agent tab and MCP project tools, shared light and dark themes, and HTML template dashboards. Here is what shipped and what to check before upgrading.

Visivo v2.2.0 release recap: agents, project themes, and template dashboards

The 2.1 release brought dashboard building and exploration into one Workspace. Visivo v2.2.0 adds another way to work on that project: an agent that can use Visivo's own project tools. It also gives authors more control over how the result looks, with project themes and HTML template dashboards.

The v2.2.0 release shipped on October 10, 2026. Its changes give you a conversational way to propose edits, a shared place to define dashboard styling, and a layout option for reports that need more than a row-and-item grid.

Ask an agent to work on your project

The new Agent tab brings a built-in conversation to local visivo serve. The agent can read project objects, retrieve their schemas, validate configurations, and write proposed changes through the same project managers used by the editor.

That makes a request more concrete than asking a general-purpose assistant to produce YAML from memory. For example:

Read the existing revenue model and dashboard. Propose a monthly revenue chart that reuses our metric, and explain the draft changes you make.

The agent has tools to inspect what already exists before authoring something new. get_schema(type) gives it the configuration schema for the object it is creating, and validation tools let it check a proposed configuration before writing it.

You can also keep using your own agent. visivo serve exposes an MCP server at /api/mcp/, so a compatible client can call the same project tools. The built-in conversation and an external MCP client share a tool registry rather than maintaining separate editing implementations.

Task-specific skills load on demand in this release. An agent can fetch guidance for work such as building a model or theming a project when it needs that guidance, instead of receiving every skill's full instructions on every turn.

The AI usage guide covers the available workflows and client setup.

Review drafts before committing them

The built-in agent's editing boundary is explicit: every write lands in the draft tier, and a person reviews and commits it. The built-in agent cannot write project files directly, commit, run, deploy, or delete objects. Visivo's MCP tools use the same draft-writing boundary.

The Agent tab records tool activity so you can see what changed. Review the proposed objects and pending-change list before committing. If the result is wrong, Discard all changes is available from the local Commit button's menu.

This boundary also matters because project content is not necessarily trustworthy instruction. SQL comments, markdown, and object names can contain text supplied by someone else. The agent is instructed to treat those as data; the human commit step remains the point where proposed edits become persisted project configuration.

There are two local inference choices. Use your own provider key, such as ANTHROPIC_API_KEY, or run visivo authorize to use Visivo-supplied inference. A provider key in the environment takes precedence over agent.api_key in ~/.visivo/profile.yml; a configured key takes precedence over Visivo-supplied inference. Keep credentials in the environment or your profile, outside project YAML.

Visivo-supplied inference spends account credit. Your own provider bills usage on the bring-your-own-key path. Check the public pricing page before starting a conversation; the current credit terms belong there rather than in a release post.

Give the whole project a theme

A new top-level theme block controls the appearance of charts, tables, markdown, and inputs together. You can set shared fonts and series colors, choose a default mode, and override individual tokens for light or dark mode.

theme:
  mode: auto
  allow_viewer_toggle: true
  font_family: "Inter, system-ui, sans-serif"
  colorway: ["#0a9396", "#d25946", "#5b4bab", "#4f9a3f"]
  light:
    accent: "#2d6a6f"
  dark:
    background: "#121527"
    surface: "#1b1f36"

auto follows the viewer's system setting. The viewer toggle lets someone choose light, dark, or system mode, while allow_viewer_toggle: false keeps the dashboard in the mode you specify.

You can edit the theme in Project settings and preview both modes before committing. Unset values fall back to the built-in theme, so changing an accent color does not require defining every background and text color yourself.

A chart's explicit layout still wins over theme defaults. If a chart hard-codes a background or series color, changing the project theme will not replace that choice. Leave those properties unset when you want the shared theme to control them.

The theme travels with the project through dist and deploy. See the themes guide for the available tokens and override order.

Use HTML when the grid is not the right layout

Template dashboards let you write an HTML layout and place existing project items into named slots. This is useful for a narrative report: an introduction, a chart, some commentary, and another result can follow the structure of the story rather than a uniform grid.

For a project that already has a chart named revenue-by-month, a template can place it like this:

dashboards:
  - name: Monthly Review
    template: |
      <style>
        .report { max-width: 960px; margin: 0 auto; }
        .chart-slot { height: 420px; }
      </style>
      <article class="report">
        <h1>Monthly revenue review</h1>
        <p>Use the chart below to compare monthly performance.</p>
        <div class="chart-slot" data-visivo-item="revenue-by-month"></div>
      </article>

data-visivo-item identifies the chart, table, markdown, or input to render. Visivo checks the reference during compilation, and the template's CSS controls the slot dimensions. The HTML lives inline in the YAML so the layout travels with the project.

Templates accept an allowed subset of HTML and CSS. Scripts and event handlers are rejected, and template styles are isolated from the surrounding application. In this release, author the template in YAML; the Workspace displays template dashboards read-only. The visual grid editor does not rewrite the HTML layout.

You can use the same project objects in a grid dashboard or a template. The new layout option changes how you present those objects, while their models and metric definitions stay shared.

Understand failures and control telemetry

Failed jobs now carry structured diagnostics, and runnable jobs skipped because an upstream dependency failed are recorded too. The run summary separates query errors from dependent jobs that could not run.

That distinction helps you start with the cause. A failed source query and two downstream jobs skipped because of it are different from three independent query failures. This release adds that diagnostic information without requiring you to infer everything from missing output.

Telemetry also gets direct CLI controls:

visivo telemetry status
visivo telemetry off

status shows the effective setting and where it came from. off saves a machine-level preference for later CLI runs and the local server and viewer it serves. Use visivo telemetry on to enable it again. The telemetry guide explains the settings and their precedence.

Check Git includes before upgrading

Git-based includes are removed in v2.2.0. An include that previously pointed at a repository using a path such as org/repo.git@main must become a local file or directory include.

Copy the configuration you need into your project, review it, and reference it by path:

includes:
  - path: shared/models.yml

There is no automatic migration for this change. Visivo reports an explanatory error for the old Git include syntax instead of treating it as an ordinary missing file. The including-files guide covers local files and directory inclusion.

To install the specific release covered here:

curl -fsSL https://visivo.sh | bash -s -- --version 2.2.0

Then run your project and open the local Workspace:

visivo run
visivo serve

For new projects, the getting-started guide and examples provide a starting point. The full v2.2.0 changelog lists every change in this release. The subsequent v2.2.1 patch includes additional fixes and agent tools beyond the scope of this recap.

Previously in Visivo

The v2.1.0 recap introduced the unified Workspace, visual dashboard building, exploration, and source seeds. v2.2.0 adds a conversational editing path and more ways to style and present the project you build there.

Install command copied