Skip to content

Settings

Plugin Settings dialog — Display / AI / agent overrides / API keys tabsPlugin Settings dialog — Display / AI / agent overrides / API keys tabs

Accessible via the Settings button in the StatusBar. The Settings-dialog values are per-user / per-machine — they are written to localStorage["systema_user_settings"] so they follow the user across every Figma file. File-level layout state (zoom, split percent, scroll positions, sectionStates, selected theme, …) stays in the file's pluginData, and API keys live in figma.clientStorage (per-user, never shared).

Editor Display

  • Show info panels — toggle the descriptive info blocks inside editor sections
  • Show hotkeys — toggle the keyboard shortcut hints in the editor
  • Show suggestions — toggle the suggestion footer panel. Drives both the Color Suggestions block (Palette tab — harmony chips: Complementary / Analogous / Triadic / Square / Tetradic / Split) and the Entity Suggestions block (Entities tab — per-pattern contrast / level / step pill rows)
  • Editor footer — toggle the editor's bottom info panel (combines color suggestions, info text, hotkeys). Hotkey: Alt+1
  • Preview footer — toggle the preview's bottom info panel (hovered swatch / surface / container readout with clamp + chroma diagnostics). Inverse rows append an inv token to the entity name (Containers inv 0, Content inv 2) so direct vs inverse stays unambiguous; the suffix is added at render time and survives interactive composite cells where the displayed colour updates live with hover/press/drag events. Hotkey: Alt+2
  • Agents footer — toggle the agents footer panel under the chat. Hotkey: Alt+3
  • Contrast cheatsheet — toggle the WCAG/APCA cheatsheet below the Contrasts field in entity editors
  • Dark mode — switches the plugin UI to a dark theme. Swatch outlines adapt automatically
  • Preview layout (Narrow / Wide) — Narrow: surfaces side-by-side, content stacked inside. Wide: surfaces stacked, content/containers laid out horizontally. Wide also flows per-condition groups (Enabled | Selected | Disabled) horizontally inside EntityRowView so they read at a glance instead of stacking vertically
  • Preview verbosity (Terse / Balanced / Verbose) — controls how much textual scaffolding the preview shows. Verbose = c-N N.NN + coF/chF labels around each swatch + 96-px wide swatch pills. Balanced (default) = labels dropped, swatches collapse to 40 × 16. Terse = every label hidden (section / row / condition headers + per-swatch labels). Paste-to-canvas walks the live DOM, so what isn't rendered isn't exported
  • Preview filters — show/hide the entire preview filter block (entity color overrides, display filters)
  • Vision simulation (Preview only / Entire UI) — controls whether the CVD filter applies just to preview swatches or to the whole plugin UI
  • AI Chat layout (Auto / Float) — Auto docks the chat as a third panel when the window is wide enough (≥1360px) and floats it otherwise; Float forces the floating overlay regardless of width

Helpers

  • Swatch borders (Auto / Always / Hidden) — adds dashed borders when the contrast between a swatch and its background is too low to see the edge. Auto = only when needed
  • Default collection structure (Compact / Balanced / Granular) — what structure new themes start with. See Push Vars
  • Autosave — toggle plus a numeric input (10–600 seconds, default 60). Arrow keys step by 10s, Shift+arrow by 60s. When autosave fires, the Save button shows the same wave animation as a manual save
  • Preview transitions — toggle plus a numeric input (50–500 ms, default 150). Drives the global --systema-transition-duration CSS variable; flipping the switch off collapses every transition in the UI to 0 ms (state changes apply instantly). The override is scoped to elements that already declared transition-* (utility classes or inline styles), so popovers/tooltips that rely on Radix's inline top/left/transform aren't accidentally interpolated and snap into place as before

AI

  • API keys — keys for Anthropic, OpenAI, OpenRouter, Gemini. Stored per-user in figma.clientStorage (private, not shared with collaborators). Validated live on 600ms debounce: spinner → green check / "Invalid". Screenshot analysis requires an Anthropic key (Claude Vision); other providers support text chat only
  • Model — the dropdown is populated dynamically from each provider's /v1/models endpoint after its key validates. Anthropic returns the live Claude lineup (Haiku / Sonnet / Opus variants), OpenAI is filtered to GPT-4 / GPT-3.5 / o1–o4, Gemini pulls models with generateContent support, and OpenRouter accepts a free-form model id. No model is hardcoded in the UI
  • Default agent — pick one of the four agents (DaiDai / Pappah / Mammah / Yetish) as the default for direct messages without an @mention
  • Family mode — agents reference each other as relatives (uncle / mother / etc.) in their personalities. Off → strictly professional colleagues
  • Debug mode — adds a View trace entry to message context menus (routing decision, model used, token estimates, tool call summary, duration)
  • Debate limit — max sequential responses (typically 4-6) when you @all or start a multi-agent debate
  • Personality — verbosity, skepticism, profanity, zoomerism, toxicity, and management are configured per-agent via the gear icon on each agent card. Each agent has its own defaults defined in its persona file. Dynamically injected as system prompt modifiers
  • Auto-name AI colors — AI-generated colors get descriptive names automatically
  • Export / Import — header buttons to export all settings as JSON and import them on another file or machine

Reset settings to defaults

A single Reset button restores every option above to its default in one shot. The button is hidden when nothing has been changed.

Danger Zone

ActionWhat it does
Agent edit permissions (toggle)managed-only (default): agents only see and modify variable collections that Systema itself created. all: agents can also touch foreign variable collections (other plugins, libraries, hand-made). They still cannot draw on the canvas. Implemented in src/plugin/code.ts figma-context-query / figma-rename-collection handlers, gated by the systema_managed plugin-data tag
Delete plugin dataRemoves config, layout, collection tags, chat. Variables stay in Figma but become unmanaged. Optional checkboxes: "Keep API keys" and "Keep agent settings"
Delete Systema variablesRemoves all collections created by Systema. Config preserved, Push Vars becomes available
Delete other variablesRemoves all collections NOT created by Systema. Useful for cleaning up legacy variables

All rights reserved.