Settings
Route: /settings
Scenario: Your widget copy feels off, you want your own LLM keys on the bill, and Slack should ping the channel when a critical bug lands. This page holds every project knob — notifications, keys, widget, and developer toggles.
The tab you pick is saved in the URL (?tab=).
Tabs
General
Notifications, Sentry config, the default LLM model, and the deduplication threshold for report clustering.
Spend limits (project admins) cap what the project spends. Leave a field empty for no limit.
| Limit | What happens when it is reached |
|---|---|
| Monthly AI budget | Every AI call for the project (triage, fixes, chat) stops until the 1st of next month (UTC). New reports get a short explanation instead of a diagnosis. Calls on your own API keys count too. |
| Auto-fix spend limit, last 30 days | Mushi stops starting fixes on its own. Fixes you start yourself still run, and show the 30-day spend. |
| Automatic fixes per day | Same, counted per UTC day. A limit of 3 allows 3 automatic fixes. |
| Ask me before fixes that may cost more than | A high or critical fix estimated above this waits for your approval, including fixes you start. |
New projects start with $2 per 30 days and 3 automatic fixes a day.
If Mushi cannot read this month’s spend (a database error), the AI call goes ahead and the failure is reported to the operator’s error monitoring. A temporary read failure never stops triage, and it never passes unnoticed.
BYOK (API keys)
Configure Anthropic and OpenAI-compatible API keys for the project’s LLM pipelines. Keys are stored encrypted in Supabase Vault.
| Key | Used by |
|---|---|
| Anthropic API key | fix-worker, classify-report, pdca-runner, judge-batch |
| OpenAI-compatible key | fix-worker (fallback), test-gen-from-report |
After saving, only the last four characters are shown.
Firecrawl
Optional web research provider. When configured, enables the
Research page and powers the drift-walker crawl:
| Field | Description |
|---|---|
| Firecrawl API key | Your BYOK key from firecrawl.dev |
| Firecrawl base URL | Optional self-hosted endpoint override |
Browserbase
Cloud Chromium provider for QA Coverage when a story’s
provider is browserbase. Keys are stored in Vault via
GET|PUT /v1/admin/byok/browserbase. Without a project key, the runner falls
back to the platform global key in mushi_runtime_config.
| Field | Description |
|---|---|
| Browserbase API key | Your BYOK key from browserbase.com |
| Test connection | Probes auth / network / quota and shows last test status |
Health
Live connection status for all configured integrations. Shows the same provider probe data as the Integration health page, scoped to this project. Also includes the SDK reference (project API keys from Settings → SDK install — not a Vite env var) and a pipeline smoke test button.
Dev tools
Debug logging flag and other local-only developer flags for this project. These settings are never sent to the SDK or end users.
Changing a key
- Open the BYOK tab.
- Paste the new key and click Save.
- Navigate to Integration health → Probe now to verify the new key works.
Do not paste a Supabase service_role key here. That key bypasses all row-level
security and must only be used server-side. These BYOK fields are for third-party
AI/integration providers only.
Related pages
- Integration health — verify keys with live round-trip tests
- Storage — configure BYO object storage
- SSO — SAML/OIDC identity provider registration
- Organization members — manage access and roles