Skip to main content
The Vulpy WebUI is a single manifest entry named vulpy-commerce with six built-in features. It is not designed for per-feature toggles. Instead, Vulpy offers two extension points so you can add your own admin surfaces without forking the UI.
Ask Fox to scaffold and edit. Fox works in the same checkout as you and can create feature folders, wire manifests, and update env vars.Try prompts like:
  • “Scaffold a new WebUI feature named vulpy-commerce-order-monitor.”
  • “Add an iframe target for my Grafana dashboard.”
  • “Show me the current VULPY_WEBUI_IFRAMES value.”

Extension points

  1. Iframe targets via VULPY_WEBUI_IFRAMES: list extra URLs in an environment variable and Fox renders them as additional tabs in the side panel.
  2. Custom pages under /extensions/: drop files into the pages/ directory inside extensions/hermes-webui/ and they are served through the /extensions/ route.

Namespacing rules

To avoid collisions with Vulpy or other products, prefix anything you add:
  • Registry keys: vulpy-commerce.*
  • CSS classes: vc-*
  • Data attributes: data-vc-*

How to add an iframe target

1

Set the environment variable

Add VULPY_WEBUI_IFRAMES to your environment file, with a comma-separated list of URLs you want to appear as side-panel tabs.
2

Restart Fox

Run pnpm db:hermes:up (or pnpm vulpy hermes up on a server) so the new variable is picked up by the WebUI container.
3

Verify in the WebUI

Open the WebUI at port 8787. The new tabs appear in the side panel and load the target pages inside iframes.
Iframe targets must allow themselves to be framed. Set a permissive frame-ancestors CSP directive or match the WebUI origin in your target application.

Custom pages

Fox and you share the /app/workspace directory, which is bind-mounted from your host checkout. Any file you add under extensions/hermes-webui/pages/ is served live at /extensions/<filename>. Use this for bespoke internal admin views, dashboards, or tools that do not fit inside an iframe. Changes on the host are reflected immediately because the directory is mounted into the running container.
Do not leak secrets into extension pages. The WebUI is protected by basic authentication, but it is not a hardened public admin surface. Treat extension pages as internal tools.

Fox WebUI

Learn how the WebUI is structured and how Fox presents missions and context.

WebUI Customization

Go deeper on theming, layout overrides, and advanced extension patterns.