Skip to main content
Version: 1.8.0

Prompt Playground

Enterprise only

Not included in DVARA Open Source.

Open Playground in the sidebar or navigate to /playground. The playground is enabled by default and removed when dvara.flightdeck.playground.enabled=false. Use it to send a synchronous Chat Completions request, load an active prompt template, and inspect the returned text, usage, and Flightdeck-measured latency without writing a client.

Each Send requires a workspace API key (gw_…) in the API Key field. The key is not saved in local storage or on the Flightdeck server, so a new browser tab or reload clears it. Create a key from API Keys in workspace scope or Workspaces → API Keys → Create key in platform scope. A key with a nonempty scope list needs completions:write.

The form sends an ordinary synchronous /v1/chat/completions call. It runs the policy, data, rate, budget, audit, usage, and cost controls that are available in your distribution and enabled for that workspace. Controls that are off or permissive by default do not become stricter because the call came from the playground.

Configuration​

The playground is enabled by default and can be disabled for production deployments:

PropertyEnv varDefaultDescription
dvara.flightdeck.playground.enabledDVARA_FLIGHTDECK_PLAYGROUND_ENABLEDtrueSet false to disable the playground entirely

When disabled, Flightdeck does not register the Playground pages, and direct requests return 404.

Access — who can use the playground​

The playground has two surfaces, gated to different audiences:

ScopeRolesUse
PlatformownerAd-hoc verification across workspaces
Workspaceadmin, developerDaily prompt testing within the active workspace

Workspace viewer is excluded from both — the playground sends billed /v1/chat/completions calls and viewer is a read-only role by contract. Platform policy-admin and billing-admin are excluded from Flightdeck's platform version — policy-admin writes policies (not prompts) and billing-admin watches costs.

The two surfaces are functionally identical: same form, same template loader, same per-request workspace API key paste (not persisted, no localStorage). The split is to give each audience a familiar layout — platform owners stay in Flightdeck; workspace developers land in Flightdeck next to their own keys, usage, and team.

Features​

  • Model field — enter the exact model identifier served by a registered provider
  • Template loader — choose an active prompt template to populate the system prompt and user message fields
  • System prompt editor — optional system message
  • User message editor — the prompt to test
  • Controls — adjustable temperature (0–2) and max tokens (1–128 K)
  • Send — live request to the DVARA LLM Gateway. The response panel shows generated text, a copy action, the returned response ID and model when the provider supplies them, provider-reported prompt/completion/total tokens, and Flightdeck-measured wall-clock latency.
Prompt playground form — model field, system prompt + user message editors, temperature and max-tokens controls, and the workspace API-key paste field that must be re-entered on every SendPrompt playground form — model field, system prompt + user message editors, temperature and max-tokens controls, and the workspace API-key paste field that must be re-entered on every Send
Figure 1. The playground form. The workspace API-key field is a `type=password` input with `autocomplete=off` — paste it on every Send; nothing is persisted in localStorage. Without a key the Send button is disabled.
Playground response panel showing the mock provider's reply, success badge, and token usage breakdownPlayground response panel showing the mock provider's reply, success badge, and token usage breakdown
Figure 2. Response panel after Send — generated text on the left, success badge + provider-reported token usage (input / output / total) + Flightdeck-measured wall-clock latency on the right. Audit and cost records require their configured storage; cost also requires usable usage and matching pricing.

Side-by-side model evaluation​

For a repeatable comparison, use the Eval pipeline with configured models and a golden-prompt corpus. The playground sends one model request at a time and does not provide a separate compare API.

For ad-hoc side-by-side without a corpus, open the playground in two browser tabs with different models — it's the same input form, run twice. Two tabs is cheaper than maintaining a separate compare API surface.