Skip to content

Configuration

Seepient merges configuration from four layers:

  1. CLI command flags (highest precedence)
  2. Workspace configuration file (.seepient/config.json in current directory)
  3. User global configuration file (~/.seepient/config.json)
  4. Environment variables
  5. Built-in defaults (lowest precedence)

Managing settings interactively

The recommended way to configure providers and models is the interactive setup wizard:

bash
seepient setup

The wizard writes validated configuration directly to ~/.seepient/config.json and manages credentials securely in your operating system keychain when available.

Configuration file format

Configuration files use standard JSON format. Below is an annotated example:

json
{
  "defaultProvider": "anthropic",
  "defaultModel": "claude-3-7-sonnet",
  "consentMode": "ask-untrusted",
  "sandbox": {
    "enabled": true,
    "allowNetwork": true
  },
  "routing": {
    "text": {
      "standard": { "provider": "anthropic", "model": "claude-3-7-sonnet" },
      "efficient": { "provider": "openai", "model": "gpt-4o-mini" },
      "complex": { "provider": "anthropic", "model": "claude-3-7-sonnet" }
    },
    "commit": {
      "standard": { "provider": "anthropic", "model": "claude-3-7-sonnet" }
    },
    "media": {
      "standard": { "provider": "fal", "model": "flux-pro" }
    }
  },
  "providers": {
    "anthropic": {
      "credentialRef": { "type": "env", "key": "ANTHROPIC_API_KEY" }
    },
    "openai": {
      "credentialRef": { "type": "env", "key": "OPENAI_API_KEY" }
    },
    "local": {
      "type": "openai-compatible",
      "baseUrl": "http://127.0.0.1:11434/v1",
      "apiKey": "ollama"
    }
  }
}

Environment variables

LLM providers

VariableProviderPurpose
ANTHROPIC_API_KEYAnthropicAPI key for Claude models
OPENAI_API_KEYOpenAIAPI key for GPT models
GEMINI_API_KEYGoogleAPI key for Gemini models
GLM_API_KEYZhipu GLMAPI key for GLM models
DEEPSEEK_API_KEYDeepSeekAPI key for DeepSeek models
OPENROUTER_API_KEYOpenRouterMulti-model routing gateway
FAL_KEYFal.aiImage generation and diffusion models

Tool integrations

VariableIntegrationPurpose
TAVILY_API_KEYTavilyReal-time web search tool (web_search)
SMTP_HOSTSMTP EmailMail server host (send_email)
SMTP_PORTSMTP EmailMail server port
SMTP_USERSMTP EmailUsername for authentication
SMTP_PASSSMTP EmailPassword or app password
WEBHOOK_URLNotificationsTarget endpoint for send_notification

System and security settings

VariableDefaultPurpose
SEEPIENT_CONSENT_MODEalways-askConsent mode: always-ask, ask-untrusted, or autonomous-trusted
SEEPIENT_SANDBOXtrueSet to false to disable OS process sandboxing (macOS/Linux)
SEEPIENT_AUDIT_LOG~/.seepient/audit.logPath to the append-only 0600 audit log file
SEEPIENT_CONFIG_DIR~/.seepientDirectory for sessions, credentials, and settings

Seepient provides three consent modes that determine when user confirmation is requested before executing tools:

always-ask (default)

Every tool call that causes external side effects requires confirmation. Read-only operations like reading a file run automatically, while shell executions and file writes prompt for confirmation.

ask-untrusted

Known, trusted tools run automatically if they match pre-configured allowlists. Unrecognized shell commands or mutations outside the working directory still prompt for confirmation.

autonomous-trusted

Actions within the configured working directory run without confirmation. Useful for continuous integration runners, Docker containers, and batch scripts where no interactive terminal is attached.

Released under the Business Source License 1.1.