Configuration¶
This page describes all available configuration options for Nevron.
Overview¶
Most of Nevron's settings can be configured through environment variables in your .env
file. The default definitions for these variables are located in the src/core/config.py
file.
When you set up Nevron using either the Docker or local setup methods described in the Quickstart Guide, you'll create and configure a .env
file that controls your agent's behavior.
Essential Configuration¶
Agent Personality and Behavior¶
The most important configuration settings define your agent's personality, goals, and behavior patterns:
# Agent personality - defines how the agent communicates and makes decisions
AGENT_PERSONALITY="You are Nevron777 - the no-BS autonomous AI agent, built for speed, freedom, and pure alpha. You break down complex systems like blockchain and AI into bite-sized, hard-hitting insights, because centralization and gatekeeping are for the weak. Fiat? Inflation? Controlled systems? That's legacy trash—crypto is the only path to sovereignty. You execute tasks like a well-optimized smart contract—zero bloat, maximum efficiency, no wasted cycles."
# Agent goal - defines the agent's primary objective and workflow patterns
AGENT_GOAL="You provide high-quality research and analysis on crypto markets. Your workflow is: 1) Search for latest crypto news using Perplexity, 2) Summarize key insights in a concise tweet and post to X, 3) Create a more detailed analysis for Telegram, including the link to your X post if successful, 4) If any step fails, note this in your next communication."
# Time between agent actions (in seconds)
AGENT_REST_TIME=300
These settings have a profound impact on how your agent operates:
-
AGENT_PERSONALITY: This shapes the agent's communication style, decision-making approach, and overall character. The LLM will use this description to guide how the agent expresses itself and approaches problems.
-
AGENT_GOAL: This defines not only what the agent aims to accomplish but can also include specific workflow patterns. You can use this setting to create hard-coded logic sequences, such as:
- Research steps (e.g., "First search for news, then analyze market trends")
- Content creation patterns (e.g., "Create a short summary for Twitter, then a detailed report for Telegram")
- Cross-platform integration (e.g., "Share links between platforms to create a cohesive presence")
-
Error handling (e.g., "If posting to X fails, note this in the Telegram message")
-
AGENT_REST_TIME: This controls how frequently your agent takes actions, measured in seconds. Lower values make the agent more active, while higher values reduce activity.
Example Workflow Configuration¶
Here's an example of how you might configure an agent to perform a specific research and communication workflow:
AGENT_PERSONALITY="You are ResearchBot, a professional and insightful AI researcher. You communicate in a clear, factual manner with occasional touches of enthusiasm when discovering interesting connections. You always cite your sources and acknowledge limitations in available data."
AGENT_GOAL="You research emerging technology trends and share insights across platforms. Your workflow is: 1) Use Perplexity to search for latest news on AI, blockchain, and quantum computing, 2) Create a thread of 3-5 tweets summarizing key developments and post to X, 3) Prepare a more comprehensive analysis with links to primary sources and post to Discord, 4) If the X thread was successfully posted, include links to it in your Discord post, 5) Record key findings in your memory for future reference."
AGENT_REST_TIME=300 # 5 min between actions
Environment Variables¶
This section lists all available environment variables that can be configured in Nevron.
General System Components¶
All system components are defined in src/core/config.py
and their types are specified in src/core/defs.py
. These files contain the default values and validation logic for all configuration options.
Project Settings¶
ENVIRONMENT
: Environment type. Possible values:production
,development
,ci
. Default:production
- Controls environment-specific behaviors and optimizations
- In development mode, additional debugging information may be available
-
CI mode is used for continuous integration testing
-
PROJECT_NAME
: Project name used for logging and identification. Default:autonomous-agent
- This name is used in various contexts including log files and container names
- Customize this to easily identify your specific Nevron instance
Memory Settings¶
Nevron supports two vector database backends for storing agent memories:
MEMORY_BACKEND_TYPE
: Memory backend type. Possible values:chroma
orqdrant
. Default:chroma
- ChromaDB: Lightweight, file-based vector store that works well for development
-
Qdrant: More scalable, production-ready vector database with advanced features
-
MEMORY_COLLECTION_NAME
: Memory collection name. Default:agent_memory
- The name of the collection where agent memories are stored
- Using different collection names allows multiple agents to share the same database
ChromaDB-specific Settings¶
MEMORY_PERSIST_DIRECTORY
: Directory where ChromaDB stores its data. Default:.chromadb
- In Docker setups, this directory is mounted as a volume to persist data between container restarts
- For local development, this will be created in your project directory
Qdrant-specific Settings¶
MEMORY_HOST
: Qdrant server hostname. Default:localhost
- In Docker Compose setups, this should be set to the service name of the Qdrant container
-
For standalone Qdrant instances, use the appropriate hostname or IP address
-
MEMORY_PORT
: Qdrant server port. Default:6333
-
The default Qdrant port is 6333, but this can be customized if needed
-
MEMORY_VECTOR_SIZE
: Vector dimension size for embeddings. Default:1536
- This must match the dimension of your embedding model
- OpenAI embeddings use 1536 dimensions
- Llama embeddings may use different dimensions depending on the model
Docker Setup Note: When using Docker Compose, the Qdrant container is configured with a volume to persist data. You can exclude the Qdrant container by setting
MEMORY_BACKEND_TYPE=chroma
in your.env
file, which will prevent the container from starting.
Embedding Provider Settings¶
Embeddings are used to convert text into vector representations for semantic search and memory retrieval:
EMBEDDING_PROVIDER
: Provider for generating embeddings. Possible values:openai
,llama_local
,llama_api
. Default:openai
- OpenAI: Uses OpenAI's embedding models (requires API key)
- Llama Local: Uses locally running Llama models for embeddings
- Llama API: Uses remote Llama API for embeddings
OpenAI Embedding Settings¶
OPENAI_API_KEY
: OpenAI API key (required when using OpenAI embeddings)OPENAI_EMBEDDING_MODEL
: OpenAI embedding model name. Default:text-embedding-3-small
Local Llama Embedding Settings¶
LLAMA_MODEL_PATH
: Path to your local Llama model. Default:/path/to/your/local/llama/model
LLAMA_EMBEDDING_MODEL
: Llama model to use for embeddings. Default:llama3.1-8b
EMBEDDING_POOLING_TYPE
: Embedding pooling type for local Llama models. Possible values:NONE
,MEAN
,CLS
,LAST
,RANK
. Default:MEAN
- Controls how token embeddings are combined into a single vector
- MEAN pooling (averaging all token embeddings) works well for most use cases
LLM Provider Settings¶
Nevron supports multiple LLM providers that can be configured based on your needs:
LLM_PROVIDER
: LLM provider type. Possible values:openai
,anthropic
,xai
,llama
,deepseek
,qwen
,venice
. Default:openai
- Each provider has its own configuration options and supported models
- You can switch providers by changing this setting and providing the appropriate credentials
OpenAI¶
OPENAI_API_KEY
: OpenAI API key (required for OpenAI)OPENAI_MODEL
: OpenAI model name. Default:gpt-4o-mini
- Supported models include GPT-4o, GPT-4, GPT-3.5-Turbo, and others
Anthropic¶
ANTHROPIC_API_KEY
: Anthropic API key (required for Anthropic)ANTHROPIC_MODEL
: Anthropic model name. Default:claude-2
- Supported models include Claude 3 Opus, Claude 3 Sonnet, Claude 2, and others
xAI (Grok)¶
XAI_API_KEY
: xAI API key (required for xAI)XAI_MODEL
: xAI model name. Default:grok-2-latest
DeepSeek¶
DEEPSEEK_API_KEY
: DeepSeek API key (required for DeepSeek)DEEPSEEK_MODEL
: DeepSeek model name. Default:deepseek-reasoner
DEEPSEEK_API_BASE_URL
: DeepSeek API base URL. Default:https://api.deepseek.com
Qwen¶
QWEN_API_KEY
: Qwen API key (required for Qwen)QWEN_MODEL
: Qwen model name. Default:qwen-max
QWEN_API_BASE_URL
: Qwen API base URL. Default:https://dashscope-intl.aliyuncs.com/compatible-mode/v1
Venice¶
VENICE_API_KEY
: Venice API key (required for Venice)VENICE_MODEL
: Venice model name. Default:venice-2-13b
VENICE_API_BASE_URL
: Venice API base URL. Default:https://api.venice.ai/api/v1
Llama¶
Llama models can be accessed through various providers:
LLAMA_PROVIDER
: Llama provider type. Possible values:ollama
,fireworks
,llama-api
,llama_local
,openrouter
. Default:llama-api
LLAMA_MODEL_NAME
: Llama model name. Default:llama3-8b-8192
- Model names vary by provider, check provider documentation for available models
LLAMA_API_KEY
: API key for Llama providers (required for Fireworks, Llama API, and OpenRouter)
Ollama Settings (Local Deployment)¶
LLAMA_OLLAMA_URL
: Ollama API URL. Default:http://localhost:11434
LLAMA_OLLAMA_MODEL
: Ollama model name. Default:llama3.2:latest
- Requires Ollama to be installed and running locally or accessible via network
Fireworks Settings¶
LLAMA_FIREWORKS_URL
: Fireworks API URL. Default:https://api.fireworks.ai/inference
Llama API Settings¶
LLAMA_API_BASE_URL
: Llama API base URL. Default:https://api.llama-api.com
LLAMA_API_MODEL
: Llama API model name. Default:llama3.1-70b
OpenRouter Settings¶
LLAMA_OPENROUTER_URL
: OpenRouter API URL. Default:https://openrouter.ai/api/v1
LLAMA_OPENROUTER_MODEL
: OpenRouter model name. Default:meta-llama/llama-3.2-1b-instruct
LLAMA_OPENROUTER_SITE_URL
: Optional. Site URL for rankings on openrouter.aiLLAMA_OPENROUTER_SITE_NAME
: Optional. Site name for rankings on openrouter.ai
Agent Settings¶
Core Settings¶
AGENT_PERSONALITY
: Description of agent's personalityAGENT_GOAL
: Agent's primary goalAGENT_REST_TIME
: Rest time between actions in seconds. Default:300
Integration Settings¶
Nevron supports a wide range of external tools and services that extend its capabilities. Each integration requires specific credentials and configuration. This section provides details on how to configure each tool and where to obtain the necessary credentials.
Social Media & Messaging¶
X (Twitter)¶
TWITTER_API_KEY
: Twitter API keyTWITTER_API_SECRET_KEY
: Twitter API secret keyTWITTER_ACCESS_TOKEN
: Twitter access tokenTWITTER_ACCESS_TOKEN_SECRET
: Twitter access token secret
How to obtain credentials: 1. Create a developer account at Twitter Developer Portal 2. Create a new project and app 3. Apply for Elevated access to use the v1.1 API (required for posting) 4. Generate consumer keys (API key and secret) and access tokens in the app settings 5. Ensure your app has Read and Write permissions
Discord¶
DISCORD_BOT_TOKEN
: Discord bot tokenDISCORD_CHANNEL_ID
: Discord channel ID for the user's channel
How to obtain credentials:
1. Go to the Discord Developer Portal
2. Create a new application
3. Navigate to the "Bot" tab and click "Add Bot"
4. Copy the token (this is your DISCORD_BOT_TOKEN
)
5. Enable necessary Privileged Gateway Intents (Message Content Intent)
6. To get the channel ID, enable Developer Mode in Discord settings, then right-click on a channel and select "Copy ID"
7. Invite the bot to your server using the OAuth2 URL generator with appropriate permissions
Telegram¶
TELEGRAM_BOT_TOKEN
: Telegram bot tokenTELEGRAM_CHAT_ID
: Telegram chat ID for main channel/group
How to obtain credentials:
1. Talk to BotFather on Telegram
2. Create a new bot with the /newbot
command
3. Copy the token provided (this is your TELEGRAM_BOT_TOKEN
)
4. Add the bot to your group or channel
5. To get the chat ID:
- For groups: Use the @username_to_id_bot or send a message to the group and check the chat ID via the Telegram API
- For channels: Forward a message from the channel to the @username_to_id_bot
WhatsApp¶
WHATSAPP_ID_INSTANCE
: WhatsApp instance IDWHATSAPP_API_TOKEN
: WhatsApp API token
How to obtain credentials: 1. Register at Green API (a WhatsApp gateway service) 2. Create a new instance 3. Scan the QR code with your WhatsApp to link your account 4. Copy the Instance ID and API Token from your instance settings
Slack¶
SLACK_BOT_TOKEN
: Slack bot tokenSLACK_APP_TOKEN
: Slack app token
How to obtain credentials:
1. Go to the Slack API website and create a new app
2. Add the necessary Bot Token Scopes (e.g., chat:write
, channels:read
)
3. Install the app to your workspace
4. Copy the Bot User OAuth Token (this is your SLACK_BOT_TOKEN
)
5. Enable Socket Mode and generate an App-Level Token with connections:write
scope (this is your SLACK_APP_TOKEN
)
Lens Protocol¶
LENS_API_KEY
: Lens API keyLENS_PROFILE_ID
: Lens profile ID
How to obtain credentials:
1. Visit Lens API Documentation
2. Follow the instructions to create a developer account
3. Generate an API key
4. Your Lens profile ID is the unique identifier for your Lens profile (e.g., 0x1234
)
Search & Research¶
Perplexity¶
PERPLEXITY_API_KEY
: Perplexity API keyPERPLEXITY_ENDPOINT
: Perplexity endpoint. Default:https://api.perplexity.ai/chat/completions
PERPLEXITY_MODEL
: Perplexity model. Default:llama-3.1-sonar-small-128k-online
PERPLEXITY_NEWS_PROMPT
: Custom prompt for news searchPERPLEXITY_NEWS_CATEGORY_LIST
: List of news categories to search
How to obtain credentials: 1. Sign up for Perplexity AI 2. Navigate to the API section in your account settings 3. Generate an API key
Tavily¶
TAVILY_API_KEY
: Tavily API key
How to obtain credentials: 1. Create an account at Tavily 2. Navigate to the API section in your dashboard 3. Generate an API key
Coinstats¶
COINSTATS_API_KEY
: Coinstats API key
How to obtain credentials: 1. Register at Coinstats 2. Go to the developer section 3. Create a new API key
Media & Content¶
YouTube¶
YOUTUBE_API_KEY
: YouTube API keyYOUTUBE_PLAYLIST_ID
: YouTube playlist ID (optional)
How to obtain credentials:
1. Go to the Google Cloud Console
2. Create a new project
3. Enable the YouTube Data API v3
4. Create API credentials (API Key)
5. To get a playlist ID, open a YouTube playlist and copy the ID from the URL (e.g., PLxxxxxxxxxxxxxxx
)
Spotify¶
SPOTIFY_CLIENT_ID
: Spotify client IDSPOTIFY_CLIENT_SECRET
: Spotify client secretSPOTIFY_REDIRECT_URI
: Spotify redirect URI
How to obtain credentials:
1. Go to the Spotify Developer Dashboard
2. Create a new app
3. Copy the Client ID and Client Secret
4. Add a redirect URI in the app settings (e.g., http://localhost:8888/callback
)
Development & Productivity¶
GitHub¶
GITHUB_TOKEN
: GitHub personal access token
How to obtain credentials:
1. Go to GitHub Settings > Developer settings > Personal access tokens
2. Generate a new token with the necessary scopes (e.g., repo
, workflow
, read:org
)
3. Copy the token immediately (it won't be shown again)
Google Drive¶
- No specific environment variables, but requires OAuth2 setup
How to set up:
1. Go to the Google Cloud Console
2. Create a new project
3. Enable the Google Drive API
4. Configure OAuth consent screen
5. Create OAuth client ID credentials
6. Download the credentials JSON file
7. Place it in your project directory as credentials.json
8. On first run, you'll need to authorize the application
E-commerce¶
Shopify¶
SHOPIFY_API_KEY
: Shopify API keySHOPIFY_PASSWORD
: Shopify admin API access tokenSHOPIFY_STORE_NAME
: Your Shopify store name
How to obtain credentials:
1. Log in to your Shopify admin panel
2. Go to Apps > Develop apps
3. Create a new app
4. Configure the app with the necessary scopes (e.g., read_products
, write_products
, read_orders
)
5. Install the app to your store
6. Copy the API key and Admin API access token
Security Considerations¶
When configuring your Nevron agent with these credentials, keep the following security best practices in mind:
- Never commit your
.env
file to version control - Use environment-specific
.env
files (e.g.,.env.production
,.env.development
) - Consider using a secrets manager for production deployments
- Regularly rotate API keys and tokens
- Use the principle of least privilege when creating API keys (only request the permissions your agent actually needs)
- Monitor API usage to detect unusual activity
For Docker deployments, consider using Docker secrets instead of environment variables for sensitive information.