
Everything the server runs on, in one place. Each app is registered under your own account.
Handing it over has no screen yet. It is one row:
update install_secret set value = '<user id>' where name = 'installOwnerAccountId', read fresh per
request, so no restart is needed.Required
Both sit under Gus’s runtime, and Gus cannot answer anything until they are both connected.OpenRouter
OpenRouter
One key that every team on this install runs on. Paste a plain inference key from
openrouter.ai/settings/keys.A provisioning or management key will be refused. It answers the check with a 200 and then fails
every actual answer with
401 User not found, so the check reads is_provisioning_key off the same
payload and stops it there. A key already at zero remaining is refused too.The optional cap is a per-team spending ceiling in dollars, enforced before a model is called. Blank or
0 means no ceiling, which is what most self-hosted installs want. Because the dialog treats a blank
field as “keep what is there”, 0 is how you clear a cap you already set.Vercel Sandbox
Vercel Sandbox
Token, team id and project id. Gus runs its coding harness in a sandbox and has no other runtime, so
without these the rest of the app works and Gus reports itself unconfigured.
Gus in chat, and the rest
Each one is registered under your own account, so its callbacks point at your install rather than at somebody else’s.Storage
Read-only here.FILE_STORAGE is set when the server starts, and files already saved keep serving from
wherever they were written.