Skip to main content

Configuration

NeoAgent keeps deployment secrets on the server. The default config file is ~/.neoagent/.env; run neoagent setup to regenerate it interactively. You can move the runtime root by setting NEOAGENT_HOME.

AI provider credentials, OAuth client secrets, and deployment controls are not configured through the public web client. The Flutter UI can select providers and models, but the secrets stay in server-side environment variables or in the local NeoAgent database where the app explicitly stores channel settings.

Core Variables

VariableDefaultDescription
PORT3333HTTP port for the NeoAgent server.
PUBLIC_URLoptionalPublic base URL used for OAuth callbacks and external links.
SESSION_SECRETrequiredRandom string for session signing. Generate one with openssl rand -hex 32.
NODE_ENVproductionSet to development to enable verbose logs.
SECURE_COOKIESfalseSet true when NeoAgent is behind a TLS-terminating proxy.
ALLOWED_ORIGINSnoneComma-separated CORS origins, for example https://example.com.
NEOAGENT_DEPLOYMENT_MODEself_hostedself_hosted enables in-app update controls; managed hides operator-only controls for SaaS deployments.
NEOAGENT_RELEASE_CHANNELstableRelease track used by the self-hosted updater.

AI Providers

At least one hosted-provider API key is required unless you only use local Ollama. The active provider and model routing are selected in the app, but credentials are read from server-side config.

VariableProvider
ANTHROPIC_API_KEYClaude (Anthropic)
OPENAI_API_KEYGPT and Whisper (OpenAI)
XAI_API_KEYGrok (xAI)
XAI_BASE_URLOptional xAI-compatible base URL override
GOOGLE_AI_KEYGemini (Google)
MINIMAX_API_KEYMiniMax Code, including MiniMax-M2.7
BRAVE_SEARCH_API_KEYBrave Search API for the native web_search tool
OPENAI_BASE_URLOptional OpenAI-compatible base URL override
ANTHROPIC_BASE_URLOptional Anthropic-compatible base URL override
DEEPGRAM_API_KEYRecordings transcription with Deepgram
DEEPGRAM_BASE_URLOptional Deepgram API base URL override
DEEPGRAM_MODELDeepgram speech model override, defaults to nova-3
DEEPGRAM_LANGUAGEDeepgram language override, defaults to multi
OLLAMA_URLLocal Ollama server, usually http://localhost:11434

Recording insight generation is controlled in app AI settings with auto_recording_insights. It uses the configured AI providers after Deepgram transcription has produced transcript text.

Official Integrations

Official integrations use OAuth and expose structured tools to the agent. The built-in registry currently covers Google Workspace, Notion, Microsoft 365, Slack, and Figma.

All OAuth callbacks default to PUBLIC_URL + /api/integrations/oauth/callback unless you set a provider-specific redirect URI.

VariableDescription
GOOGLE_OAUTH_CLIENT_IDGoogle Workspace OAuth client ID
GOOGLE_OAUTH_CLIENT_SECRETGoogle Workspace OAuth client secret
GOOGLE_OAUTH_REDIRECT_URIOptional Google Workspace OAuth callback URL
NOTION_OAUTH_CLIENT_IDNotion OAuth client ID
NOTION_OAUTH_CLIENT_SECRETNotion OAuth client secret
NOTION_OAUTH_REDIRECT_URIOptional Notion OAuth callback URL
MICROSOFT_OAUTH_CLIENT_IDMicrosoft 365 OAuth client ID
MICROSOFT_OAUTH_CLIENT_SECRETMicrosoft 365 OAuth client secret
MICROSOFT_OAUTH_REDIRECT_URIOptional Microsoft 365 OAuth callback URL
MICROSOFT_OAUTH_TENANT_IDOptional Entra tenant selector, defaults to common
SLACK_OAUTH_CLIENT_IDSlack OAuth client ID
SLACK_OAUTH_CLIENT_SECRETSlack OAuth client secret
SLACK_OAUTH_REDIRECT_URIOptional Slack OAuth callback URL
FIGMA_OAUTH_CLIENT_IDFigma OAuth client ID
FIGMA_OAUTH_CLIENT_SECRETFigma OAuth client secret
FIGMA_OAUTH_REDIRECT_URIOptional Figma OAuth callback URL

Messaging

Telegram, Discord, and WhatsApp tokens are stored through the Flutter app settings page, not in .env. Telnyx webhook verification is configured through the environment.

VariableDescription
TELNYX_WEBHOOK_TOKENTelnyx webhook signature verification token

Runtime Isolation

Runtime profile and backend selection are stored in user settings, not normally in .env. The available profiles are trusted-host, secure-vm, and hybrid. They control where CLI, browser, and Android tools run: on the host, through a local VM, or through a configured remote worker.

Production policy can require the VM backend. In that case, set a strong NEOAGENT_VM_GUEST_TOKEN of at least 32 characters and avoid placeholder values.

Remote worker settings are stored through the app as remote_worker_base_url and encrypted remote_worker_token values. Use an http or https worker URL only.

Secrets Guidance

Treat SESSION_SECRET, provider API keys, OAuth client secrets, messaging credentials, and Telnyx tokens as sensitive. Do not commit them, print them in logs, or expose them in client-side code. Store them in server-side environment variables or a secrets manager, restrict access to operators who need them, and rotate them immediately if you suspect exposure.

Runtime Paths

PathPurpose
~/.neoagent/.envServer config and deployment secrets
~/.neoagent/data/Database, sessions, update status, and logs
~/.neoagent/agent-data/Skills, memory, and daily data files

Minimal .env Example

PORT=3333
SESSION_SECRET=change-me-to-something-random
ANTHROPIC_API_KEY=sk-ant-...