Skip to content

Configuration ​

Seepient merges configuration across layers in this precedence order:

  1. CLI command flags (highest precedence)
  2. Environment variables
  3. Workspace configuration file (.seepient/setting.json in current directory)
  4. User global configuration file (~/.seepient/setting.json)
  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/setting.json and manages credentials securely in your operating system keychain when available.

Configuration file format ​

Configuration files (setting.json) use standard JSON format. Below is an annotated example of supported settings:

json
{
  "smtpHost": "smtp.example.com",
  "smtpPort": "587",
  "smtpUser": "agent@example.com",
  "tavilyApiKey": "tvly-sample-key",
  "autoConfirm": false,
  "permissions": {
    "consentMode": "edit-enabled",
    "approvalTimeoutMs": 600000,
    "trustedHostAllowlist": ["use_skill"]
  },
  "server": {
    "maxBodyBytes": 10485760,
    "maxSteps": 50,
    "rateLimitRpm": 120
  },
  "gatewayEnabled": true
}

Provider credentials and model routing are configured interactively via seepient setup, in the TUI Model & Provider Dock (Ctrl+M or /models), or via CLI commands (seepient auth login, seepient providers add). Seepient never reads provider API keys from the environment; embedders can inject a custom credential store through the SDK.

Environment variables ​

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
FEISHU_WEBHOOKFeishuWebhook endpoint for send_notification
DINGTALK_WEBHOOKDingTalkWebhook endpoint for send_notification
WECOM_WEBHOOKWeComWebhook endpoint for send_notification

System and security settings ​

VariableDefaultPurpose
SEEPIENT_CONSENT_MODEedit-enabledConsent mode: ask-everything, edit-enabled (default), or autonomous
SEEPIENT_SESSION_DIR~/.seepient/sessions (CLI) / ./.seepient/sessions (Server)Directory for persisted conversation history
SEEPIENT_SKILLS_PATHunsetColon-separated list of custom skill directories
SEEPIENT_UNCONTAINEDunsetSet to 1 to run without platform sandbox containment
SEEPIENT_PORT7337Port for the HTTP/WebSocket server
SEEPIENT_HOST127.0.0.1Host interface for HTTP/WebSocket server (127.0.0.1 loopback, 0.0.0.0 all interfaces)

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

ask-everything ​

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.

edit-enabled (default) ​

Permits routine workspace edits, reads, and normal development tools without prompts. Shell commands or actions outside the workspace boundary prompt for confirmation.

autonomous ​

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.