Core Configuration
Authentication & Security
Shared secret for API authentication (JWT signing/verification and API key).Generate with:
Authentication mode for the API.Options:
none- No authentication required (development only)jwt- Require JWT tokens signed withBIOAGENTS_SECRET(production)
x402/b402 payment authentication is controlled separately via
X402_ENABLED/B402_ENABLED flags.Comma-separated list of allowed origins for CORS requests.Required in production to prevent CSRF attacks. Leave empty for development (defaults to
localhost:3000, localhost:5173).Maximum JWT expiration time in seconds. Tokens with longer expiration will be rejected.Default: 3600 (1 hour)
Server Configuration
Node environment mode.Options:
development- Development mode with verbose loggingproduction- Production mode with optimized logging
HTTP server port.
Database (Supabase)
Your Supabase project URL.Find in: Supabase Dashboard > Settings > API > Project URL
Supabase anonymous key for client-side operations.Find in: Supabase Dashboard > Settings > API >
anon public keyService role key for backend operations (bypasses Row Level Security).Required for production when RLS is enabled.Find in: Supabase Dashboard > Settings > API >
service_role keyFull database connection URL for migrations.Used by migration containers. Format:
postgresql://user:password@host:port/databaseLLM Provider Configuration
See LLM Providers for detailed configuration.OpenAI API key for GPT models.
Anthropic API key for Claude models.
Google API key for Gemini models.
OpenRouter API key for accessing multiple model providers.
LLM Model Selection
Each agent type can be configured with a specific provider and model:Provider for chat reply generation.Options:
openai, anthropic, google, openrouterModel for chat reply generation.
Provider for hypothesis generation.
Model for hypothesis generation.
Provider for research planning.
Model for research planning.
Provider for structured output generation.
Model for structured output generation.
Provider for autonomous research continuation decisions.
Model for autonomous research continuation decisions.
External Services
Literature Search
OpenScholar API endpoint for literature search.
Primary literature search agent to use.
BioAgents Literature Agent API endpoint.
API key for BioAgents Literature Agent.
Data Analysis
Edison API endpoint for literature and data analysis.Deploy from: bio-edison-api
API key for Edison API.
Primary data analysis agent to use.Options:
edisonor empty - Use Edison Data Analysis Agent (default)bio- Use BioAgents Data Analysis Agent
BioAgents Data Analysis Agent API endpoint.
API key for BioAgents Data Analysis Agent.
Embeddings & Vector Search
Provider for text embeddings.Options:
openai, cohereModel for text embeddings.
Cohere API key (required if using Cohere embeddings or reranking).
Number of characters per document chunk.
Overlap between consecutive chunks.
Number of vector search results to retrieve.
Number of results after reranking.
Enable reranking of search results.
Minimum similarity score for vector search results.
Minimum score for reranked results.
Path to knowledge documents for RAG.
Job Queue (BullMQ)
Enable job queue with BullMQ and Redis.
false- In-process execution (simple, for development)true- Queue jobs in Redis (for production, supports horizontal scaling)
Redis connection URL for BullMQ.Required when
USE_JOB_QUEUE=true.Redis host (alternative to
REDIS_URL).Redis port (alternative to
REDIS_URL).Redis password (alternative to
REDIS_URL).Queue Concurrency
Number of concurrent chat jobs per worker.
Number of concurrent deep research jobs per worker.
Number of concurrent paper generation jobs per worker.
Maximum concurrent paper jobs across all users.
Rate Limiting
Maximum chat requests per user per minute.
Maximum deep research requests per user per 5 minutes.
Bull Board Admin Dashboard
Username for Bull Board admin dashboard.
Password for Bull Board admin dashboard.Required in production when
USE_JOB_QUEUE=true.Task Timeouts
Timeout for BioAgents data analysis tasks (in minutes).
Timeout for BioAgents literature search tasks (in minutes).
Timeout for Edison tasks (in minutes).
TTL for file status records (in minutes).
Autonomous Research Configuration
Maximum autonomous iterations before asking user (when
fullyAutonomous=false).When fullyAutonomous=true, the hard cap is 20 iterations regardless of this setting.Storage Configuration
See Storage for detailed configuration.Storage provider for file uploads.Options:
s3 (if empty or not set, storage is disabled)Character Configuration
See Character for detailed configuration.Path to character configuration JSON file.Available characters:
characters/bios.json- Default BIOS scientific research assistantcharacters/aubrai.json- Aubrai (Dr Aubrey de Grey persona for longevity research)
Inline JSON string for character configuration (alternative to
CHARACTER_FILE).Useful for simple deployments:Agent Identity
Name used for paper authorship and prompts.If not set, papers will use “Anonymous” or just user email as author.
Email used for paper authorship.
SEO Configuration
Page title for SEO. Leave empty to use defaults.
Page description for SEO. Leave empty to use defaults.
URL to favicon. Leave empty to use defaults.
URL to Open Graph image. Leave empty to use defaults.
Development UI
Password to protect the development UI.Leave empty or remove this line to disable authentication.
Payment Protocols
See Authentication for detailed configuration of x402 and b402 payment protocols.x402 (Base/USDC)
Enable x402 payment protocol (USDC payments on Base network).
b402 (BNB Chain/USDT)
Enable b402 payment protocol (USDT payments on BNB Chain).
Coinbase Developer Platform
Coinbase Developer Platform API key ID.Required for x402 mainnet. Get from: CDP Portal
Coinbase Developer Platform API key secret.
Coinbase Developer Platform project ID.
Example Configuration
Next Steps
LLM Providers
Configure OpenAI, Anthropic, Google, and OpenRouter
Authentication
Set up JWT, x402, or b402 authentication
Storage
Configure S3 storage for file uploads
Character
Customize your agent’s persona