Skip to content

ggui is the open CLI for the ggui protocol, shipped as @ggui-ai/cli. It does three jobs:

  1. Local protocol dev + self-hostggui dev (iterate gadgets and blueprints against a local registry + dev hub), ggui serve (run a self-hosted personal-mode app), ggui keys … --keys-file (mint local bearers, no account), and ggui export-pool (share blueprints across deployments). Account-free; runs entirely on your machine. Available now.
  2. Marketplace authoringggui gadget / ggui blueprint author and publish marketplace artifacts; ggui theme validate checks DTCG theme files.
  3. ggui.ai cloud provisioning (Preview — managed cloud, coming soon)ggui login / keys / create / deploy / push / provider-key provision apps and ggui_user_* connector keys against the managed ggui.ai cloud.
Terminal window
npm install -g @ggui-ai/cli
# or
pnpm add -g @ggui-ai/cli
CommandPurpose
ggui devBoot the local UI registry server, open the dev hub, optionally supervise an agent
ggui serveRun the open self-hosted personal-mode app (MCP server + supervised agent)
ggui keysList / create / revoke connector keys. With --keys-file <path>, keys are minted into a local JSON store (no account) that ggui serve --keys-file reads — the self-host path. Without it, keys target the ggui.ai cloud (Preview — coming soon). Also registers publisher Ed25519 public keys (see ggui keys register)
ggui themeValidate a DTCG theme file against the protocol’s theme schema (theme validate <path>)
ggui export-poolExport this deployment’s reusable blueprints as a directory artifact, loadable elsewhere via ggui serve --seed-pool <dir>
ggui gadgetAuthor and consume marketplace gadgets (create / publish / install / search)
ggui blueprintAuthor UI blueprints for the marketplace (create / publish / install / uninstall / search)
ggui login(Preview — coming soon) Sign into api.ggui.ai via the OAuth Device Authorization Grant
ggui logout(Preview — coming soon) Discard the local api.ggui.ai session
ggui whoami(Preview — coming soon) Print the authenticated user
ggui create(Preview — coming soon) Provision a ggui.ai cloud app (create app)
ggui deploy(Preview — coming soon) Idempotent ggui.ai cloud provisioning; --push-keys also pushes provider keys
ggui push(Preview — coming soon) Compile and upload local-pool blueprints to a ggui.ai cloud app
ggui provider-key(Preview — coming soon) Push an LLM provider key to a ggui.ai cloud app (provider-key set)
ggui --versionPrint the installed @ggui-ai/cli version

Run ggui <command> --help for the per-command flag list. ggui --help prints the full surface.

ggui dev and ggui serve are the two ways to run the protocol locally:

  • ggui dev — inner-loop dev hub. Loads ggui.ui.json manifests, serves the local gadget + blueprint registry, and (with --agent <entry>) supervises a local agent runtime. Default 127.0.0.1:6780. Use while iterating.
  • ggui serve — production-shaped self-host. Boots an MCP server with a supervised agent (ggui.json#agent.entry), ready to put behind your own auth on a public URL. Default 127.0.0.1:6781; clients connect over WebSocket at ws://127.0.0.1:6781/ws (or wss://<your-server>/ws once tunneled). See Reference deploys for Docker / Fly / Render manifests and OSS Quick Start for the bootstrap.

Run ggui dev --help or ggui serve --help for the full flag list.

The available-now path is account-free: ggui keys list / create / revoke --keys-file <path> mints bearer keys into a local JSON store — the same file format ggui serve --keys-file reads — so a locally minted bearer authenticates on the next serve boot. No account involved.

ggui.ai auth & keys (Preview — coming soon)

Section titled “ggui.ai auth & keys (Preview — coming soon)”

The managed ggui.ai cloud is coming soon. Once live, agent runtimes pointed at the universal MCP at mcp.ggui.ai authenticate with a ggui_user_* connector key, and ggui login signs the CLI into api.ggui.ai so you can mint and revoke those keys from the terminal — see ggui login for the device-flow walkthrough plus whoami, keys list / create / revoke, and logout.

ggui has no pair subcommand. To pair a client to a ggui serve instance, follow Self-hosted pairing — tunnel setup, QR handshake, and the AuthAdapter swap-in for production.

Two environment variables control where the CLI talks and stores state:

VariableDefaultPurpose
GGUI_API_URLhttps://api.ggui.aiOverride the auth + key-management endpoint. Useful for sandbox / dev testing.
GGUI_CONFIG_DIR~/.gguiOverride the ~/.ggui root (auth.json, BYOK credentials.json, embedding-model cache, publisher keypairs). Useful for isolated dev shells.
Terminal window
ggui --version

Versions track the @ggui-ai/cli npm package. Protocol semantics are pinned to the @ggui-ai/protocol major version it bundles — see Protocol version policy for what changes between major bumps.