Using the Marketplace

Marketplace is the only store UI. Open Settings → Plugins → Marketplace (the same browser also hosts the catalog-data tabs). There is no second plugin store, and installing is per-project. Tenant policy is an allowlist.

Where does it run?

KindDesktopMobileCloud
Official universalWIT Component (wasmtime Cranelift)Same Component (wasmtime Pulley)Official Worker, compiled at our deploy. Panels on all surfaces.
Official desktop-onlyComponent + network:local + environments: ["desktop"]HiddenHidden
Community pluginComponentSame ComponentPanel iframe and/or the author’s backend. Never a Worker on BiloxiStudios Cloudflare.
Any data kindFiles in the projectFiles in the projectFiles in the project. No Worker.

What Marketplace lists

TabOfficial homeCommunity home
Pluginsstudiobrain-plugins (code)studiobrain-community plugins index (today studiobrain-community-plugins)
Templates / Rules / Skills / Layouts / Packs / Providers / Flowsstudiobrain-templates (data only)Same community repo, catalog/index.json

Official templates never receive community data. Community listings do not land in studiobrain-templates.

CatalogSync refreshes official catalog data from studiobrain-templates. It does not already merge the community indexes. Community rows appear when Marketplace reads the community registry — that merge is not a silent CatalogSync feature.

Source filter

  • All — official and community
  • Official — Biloxi and signed vendor/partner (Verified badge)
  • Community — third-party listings from the community registry

Plugin categories

Creative tools, export and publishing, integrations, project management, development, AI and automation, field widgets.

You can also filter by platform (cloud hides official desktop-only and anything the allowlist rejects), featured, and recently updated.

Official proofs you can install today: entity-notes, entity-snapshots, content-stats. Follow-on samples (Track H tickets): hello-world, webhook-automations, pdf-exporter, comparison, kanban-board, google-sheets-sync, assembly-composer, blender-bridge. prompt-engine is not a plugin.

Installing a plugin

1. Confirm the project

Install applies to the current project only. Switching projects does not carry the enablement with you.

2. Open the card

The detail page shows description, screenshots, requested capabilities, which surfaces it runs on, version, and author. Community cards state that cloud will not run a Biloxi Worker.

3. Enable (if allowlisted)

If tenant policy does not include this plugin ID, Enable is disabled. Ask an admin to add it to the allowlist.

Community plugins always show consent. Official plugins show consent for write / HTTP / network:local. Cancel leaves the project unchanged.

Plugin "Example Sync" requests:

  [auto] entity_read     - Read your entity data
  [!]    entity_write    - Create and modify entities
  [!]    http_request    - Mediated HTTP to declared domains

  [Enable]  [Cancel]

5. Configure

Settings → Plugins → gear for API keys and options. Official desktop-only plugins may ask for local network targets (network:local).

What each permission means

entity_read / asset_read (usually auto)

Read entities and attached files. No writes.

Create, change, or delete. Changes show in version history.

⚠️

Only grant write access to plugins you trust.

Outbound HTTP through the host. Official cloud Workers are limited to declared domains. Community cloud calls, if any, go to the author’s backend — not a Worker we host.

network:local (official desktop only)

Talk to localhost / LAN. Hidden on cloud and mobile. Not available to community plugins.

file_read / file_write

Not a Marketplace community capability. Official desktop tools that need a local path declare it explicitly and still require consent.

ai_generate (usually auto)

Calls StudioBrain generation. Cloud usage is billed in BrainBits and cannot exceed your balance.

Enable, disable, uninstall

  • Enable / disable — per-project. Disable hides panels and stops the Component or official Worker for that project. Config stays.
  • Uninstall — removes that project’s install, grants, and plugin-scoped data. Reinstall from Marketplace.
  • Official bundled proofs can be disabled; they are not a second store.

Revoking permissions

Settings → Plugins → gear → Permissions. Revoke takes effect immediately. The guest gets an error if it calls a revoked capability.

Platform differences

Cloud (app.studiobrain.ai)

  • Official plugins: our deployed Worker + panels.
  • Community plugins: panels and/or the author’s backend. No community Worker on BiloxiStudios Cloudflare.
  • No network:local. No fetched-WASM compile.
  • Tenant allowlist plus any plan cap on how many plugins a project may enable.

Desktop

  • Official and community Components in wasmtime Cranelift.
  • Official desktop-only + network:local allowed with consent.
  • Same Marketplace UI.

Mobile

  • Same Component as desktop, wasmtime Pulley (SBAI-7745).
  • No wasmi. No desktop-only / network:local plugins.

Catalog-data tabs

Templates, rules, skills, layouts, canvas, and workflows are files in the project. They never run as Workers.

  • Templates — packs or individuals into the project template dirs, then Activate ingests the type (ingest_template). See Template Packs and Marketplace Type Sync.
  • Rules — into _Rules/. Apply to a type; not a new sidebar type. See AI Generation Rules.
  • Skills — into the project skill dirs. See Agent Skills.
  • Layouts_Templates/Layouts/. See UI Layouts.
  • Canvas_Canvas/*.canvas.yaml generation graphs. Not Workflow.
  • Workflowsworkflow_definitions / _Workflows/. Automation (/api/flows) is not a Marketplace tab.

Official rows come from studiobrain-templates. Community rows come from the community catalog-data index.

Desktop, mobile, and cloud share this Marketplace. After a template Activate, schema.updated updates the sidebar on every surface (desktop pulls file bytes; mobile refetches the cloud catalog).

Catalog API

Marketplace tabs call the catalog API with a kind and a source. Treat community as a separate source. Do not assume CatalogSync already unioned it into official.

GET /api/catalog?kind={kind}&source={all|official|community}
ParamDescription
kindplugins, templates, rules, skills, schemas, layouts
sourceall, official, community
search / category / limit / offsetFilter and page
{
  "items": [
    {
      "id": "entity-notes",
      "name": "Entity Notes",
      "kind": "plugins",
      "source": "official",
      "author": "Biloxi Studios",
      "version": "0.1.0"
    }
  ],
  "total": 1,
  "limit": 20,
  "offset": 0
}

Troubleshooting

Not in Marketplace

  • Platform filter: desktop-only official plugins are hidden on cloud/mobile.
  • Allowlist: the tenant may omit that ID.
  • Community: the plugins or catalog-data index PR is not merged yet. CatalogSync will not sneak it into official data.

The plugin added a capability, or you revoked one. Review and accept or leave it disabled.

Fails after enable

Check Settings → Plugins → [Plugin] → Logs. Community cloud failures are often “no Worker” — use the panel or the author’s documented backend URL.

Next steps