Skip to content

Document the AI configuration assistant (config-level + resource-level) #5204

Description

@btshrewsbury-viam

Feature

Viam shipped an AI assistant for configuring machines, in two generations that should be documented as one user-facing capability:

  • Config-Level AI Assistant (announced 2026-07-14) — a multi-turn agentic chat that lives on the machine and fragment config builder pages. It reads the current config (including unsaved edits and resolved fragments), live machine status, logs, and validation errors, and can add, update, and delete components, services, modules, remotes, and triggers. Every change lands as a staged builder edit the user reviews and then saves or discards; conversation history is persisted.
  • AI Resource Configuration Assistant (announced 2026-05-13, predecessor) — in JSON config mode, an Assistant panel configures individual components/services from natural language instead of hand-written JSON.

Current docs coverage

Not documented. The only "assistant" in the docs today is the unrelated data Query Assistant (docs/data/query-data.md). There is no coverage of configuring a machine or resources with AI.

Verified state / source PRs

Shipped (evidenced by merged production PRs, not just the prototype):

  • Config-level assistant: viamrobotics/app#12319 (prototype, closed), viamrobotics/app#12762, #12686, #12728 (merged, post-ship refinements). Jira APP-16617 / APP-16618.
  • Resource-level assistant: viamrobotics/app#11897 (ConfigureResourceWithAI proto), #12332 (multi-turn), #12182. Jira APP-16237 / APP-16872.

Proposed docs work

  • Type (Diátaxis): how-to (primary) with a short explanation of what the assistant can/can't do and the review-before-save safety model.
  • Placement: a new page in the machine-configuration area (candidate: docs/manage/ or the configuration how-to group — confirm against current IA).
  • Draft learning objectives — users will be able to:
    1. [Apply] Configure components, services, and modules by describing the desired change to the config assistant, so they can build a machine without hand-writing JSON.
    2. [Evaluate] Review each staged builder edit the assistant proposes and decide whether to save or discard it, so they stay in control of what lands in the config.
    3. [Apply] Use the assistant on a fragment config to make shared changes that propagate to machines using the fragment.
    4. [Analyze] Distinguish when to reach for the whole-config chat versus the JSON-mode resource assistant.

⚠️ Blocked on live-UI verification before drafting

This is a UI feature; exact panel labels, entry points, and screenshots must be verified against the live app (and checked for feature-flag/enterprise gating) before a page is drafted. Per house style, this page is the highest risk for personifying the service ("the assistant understands/decides…") — drafting must use positive role-assignment phrasing. Deliberately not auto-drafted; this issue is the placement proposal for a human to confirm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions