# Generate a private local token with: python scripts/configure_local.py SUPPORTPILOT_DATABASE_URL=sqlite:///.state/supportpilot.db SUPPORTPILOT_API_TOKENS_JSON=[] SUPPORTPILOT_MODE=fixture # Live investigations: SUPPORTPILOT_LLM_PROVIDER=openai (default), anthropic, or cli. # Keyless: run investigations through your logged-in local CLI (subscription, no API key). # SUPPORTPILOT_LLM_PROVIDER=cli # SUPPORTPILOT_CLI_AGENT=claude_code # claude_code | codex | antigravity (slow, schema not enforced) # SUPPORTPILOT_TIMEOUT_SECONDS=180 # CLI steps take ~10 s each # Investigation tools: synthetic (fixture only), github (Actions health + 'incident' issues), off. # SUPPORTPILOT_INTEGRATIONS=github # SUPPORTPILOT_LLM_PROVIDER=anthropic # SUPPORTPILOT_ANTHROPIC_API_KEY= # or ANTHROPIC_API_KEY in the environment # SUPPORTPILOT_ANTHROPIC_MODEL=claude-opus-5-5 # SUPPORTPILOT_ANTHROPIC_EFFORT=medium # low | medium | high | xhigh | max # OpenAI key: required for the openai provider; enables embeddings for either provider. SUPPORTPILOT_OPENAI_API_KEY= SUPPORTPILOT_MODEL=gpt-4.1-mini SUPPORTPILOT_EMBEDDING_MODEL=text-embedding-3-small # Optional dated pricing: unset values display cost as unavailable. # SUPPORTPILOT_INPUT_USD_PER_MILLION= # SUPPORTPILOT_OUTPUT_USD_PER_MILLION= # SUPPORTPILOT_EMBEDDING_USD_PER_MILLION= # SUPPORTPILOT_PRICING_DATE= # GitHub: either a server-wide personal access token (single team, simplest)... SUPPORTPILOT_GITHUB_TOKEN= # ...or a per-workspace OAuth connection (optional); never commit real credentials. SUPPORTPILOT_GITHUB_CLIENT_ID= SUPPORTPILOT_GITHUB_CLIENT_SECRET= SUPPORTPILOT_GITHUB_REDIRECT_URI=http://127.0.0.1:8000/api/github/callback # Generate a Fernet key once and retain it securely across restarts/deployments. SUPPORTPILOT_INTEGRATION_ENCRYPTION_KEY= # Sign in with GitHub (OAuth App callback must cover /api/auth/github/callback). # SUPPORTPILOT_GITHUB_LOGIN_REDIRECT_URI=http://127.0.0.1:8000/api/auth/github/callback # Issues with this label become tickets on sync and via the webhook. # SUPPORTPILOT_GITHUB_SUPPORT_LABEL=support # Shared secret for POST /api/github/webhook (issues + push events). # SUPPORTPILOT_GITHUB_WEBHOOK_SECRET= # Slack incoming webhook for review-ready drafts and finished agent runs. # SUPPORTPILOT_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/... # Earned autonomy (off by default): workspaces where `supportpilot auto` approves only kinds # of drafts that humans promoted to AUTO (enough reviews at this Wilson lower bound). # SUPPORTPILOT_AUTONOMY_WORKSPACES=["demo"] # SUPPORTPILOT_AUTONOMY_MIN_N=20 # SUPPORTPILOT_AUTONOMY_MIN_LB=0.9 # Merged fix PRs only stamp the ticket; list workspaces that should also resolve it on merge. # SUPPORTPILOT_RESOLVE_ON_MERGE_WORKSPACES=["demo"]