-
Notifications
You must be signed in to change notification settings - Fork 113
Expand file tree
/
Copy path.env.example
More file actions
178 lines (137 loc) · 7.74 KB
/
.env.example
File metadata and controls
178 lines (137 loc) · 7.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# ═══════════════════════════════════════════════════════════════════════
# LaunchStack — Environment Variables
# ═══════════════════════════════════════════════════════════════════════
# ── Core ─────────────────────────────────────────────────────────────
DATABASE_URL="postgresql://user:password@localhost:5432/pdr_ai"
BLOB_READ_WRITE_TOKEN="BLOB_READ_WRITE_TOKEN"
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
CLERK_SECRET_KEY=CLERK_SECRET_KEY
# ── AI Providers ─────────────────────────────────────────────────────
#
# Option A: Set ONE global provider for everything (simplest)
# AI_BASE_URL + AI_API_KEY routes embeddings, reranking, NER,
# transcription, and chat through a single OpenAI-compatible API.
#
# Option B: Use OpenAI as default, override specific capabilities
# Set OPENAI_API_KEY, then override individual services below.
#
# Option C: Configure each capability independently
# Set per-capability env vars (RERANK_API_*, NER_API_*, etc.)
#
# Resolution order: per-capability → global fallback → legacy key → default
# Global AI provider (optional — overrides everything when set)
# AI_BASE_URL="https://api.siliconflow.cn/v1"
# AI_API_KEY="sk-..."
# OpenAI (required unless AI_BASE_URL is set)
OPENAI_API_KEY="sk-..."
OPENAI_MODEL="gpt-5-mini"
EMBEDDING_INDEX="legacy-openai-1536"
# 32 random bytes, base64-encoded — encrypts per-company embedding provider
# API keys at rest. Generate once and keep constant across deploys:
# node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
EMBEDDING_SECRETS_KEY=
# Anthropic (optional — enables Claude models)
# ANTHROPIC_API_KEY=""
# ANTHROPIC_MODEL=""
# Google AI (optional — enables Gemini models)
# GOOGLE_AI_API_KEY=""
# GOOGLE_MODEL=""
# Hugging Face embeddings (optional)
# HUGGINGFACE_API_KEY=
# HUGGINGFACE_EMBEDDING_MODEL=
# HUGGINGFACE_EMBEDDING_DIMENSION=
# HUGGINGFACE_EMBEDDING_VERSION="v1"
# Ollama (optional — local models)
# OLLAMA_BASE_URL="http://localhost:11434"
# OLLAMA_MODEL="llama3.1:8b"
# ── Per-Capability Overrides (optional) ──────────────────────────────
# Only set these if you want a specific capability to use a different
# provider than your global/OpenAI default.
# Embeddings — defaults to OpenAI text-embedding-3-large
# EMBEDDING_API_BASE_URL="https://api.siliconflow.cn/v1"
# EMBEDDING_API_KEY="sk-..."
# EMBEDDING_MODEL="BAAI/bge-m3"
# Reranking — defaults to Jina AI
# RERANK_API_BASE_URL="https://api.siliconflow.cn/v1"
# RERANK_API_KEY="sk-..."
# RERANK_MODEL="BAAI/bge-reranker-v2-m3"
JINA_API_KEY=""
# NER (entity extraction) — defaults to gpt-4o-mini via OpenAI
# Set to SiliconFlow + Qwen3.5-4B for FREE NER:
# NER_API_BASE_URL="https://api.siliconflow.cn/v1"
# NER_API_KEY="sk-..."
# NER_MODEL="Qwen/Qwen3.5-4B"
# Sidecar ML Compute (Optional)
# SIDECAR_URL="http://localhost:8080"
# SIDECAR_EMBEDDING_MODEL=
# SIDECAR_EMBEDDING_DIMENSION=
# SIDECAR_EMBEDDING_VERSION="v1"
# Transcription — defaults to Groq whisper-large-v3-turbo
# TRANSCRIPTION_API_BASE_URL="https://api.groq.com/openai/v1"
# TRANSCRIPTION_API_KEY="gsk-..."
# TRANSCRIPTION_MODEL="whisper-large-v3-turbo"
GROQ_API_KEY=""
# ── Token System ─────────────────────────────────────────────────────
# Free tokens granted to each new company on signup (default: 10,000,000)
# TOKEN_SIGNUP_BONUS="10000000"
# ── Document Processing — OCR ────────────────────────────────────────
# Paid providers (optional — used in cloud mode)
# AZURE_DOC_INTELLIGENCE_ENDPOINT="https://..."
# AZURE_DOC_INTELLIGENCE_KEY="..."
# LANDING_AI_API_KEY="..."
# DATALAB_API_KEY="..."
# Self-hosted OCR (optional — for docker-compose deployments)
# OCR_WORKER_URL="http://localhost:8001"
# OCR_DEFAULT_PROVIDER="MARKER" # "MARKER" | "DOCLING"
# APP_PUBLIC_URL="http://app:3000"
# ── DOCX Redlining (Adeu) ───────────────────────────────────────────
# Docker: http://sidecar:8000
# Local: http://localhost:8000
ADEU_SERVICE_URL="http://localhost:8000"
# ── Web Search (optional) ───────────────────────────────────────────
# SEARCH_PROVIDER="tavily" # "tavily" | "serper" | "fallback" | "parallel"
# TAVILY_API_KEY="tvly-..."
# SERPER_API_KEY="..."
# ── Marketing Pipeline (optional) ───────────────────────────────────
# REDDIT_CLIENT_ID=""
# REDDIT_CLIENT_SECRET=""
# REDDIT_USER_AGENT=""
# TWITTER_BEARER_TOKEN=""
# LINKEDIN_ACCESS_TOKEN=""
# BLUESKY_HANDLE=""
# BLUESKY_APP_PASSWORD=""
# ── LangSmith Tracing (optional) ────────────────────────────────────
# LANGCHAIN_TRACING_V2="false"
# LANGCHAIN_API_KEY="..."
# LANGCHAIN_PROJECT="pdr_ai_v2"
# ── File Upload (optional) ──────────────────────────────────────────
NEXT_PUBLIC_UPLOADTHING_ENABLED="true"
# UPLOADTHING_TOKEN="..."
# ── Background Jobs ─────────────────────────────────────────────────
JOB_RUNNER="inngest"
INNGEST_EVENT_KEY="local"
# INNGEST_SIGNING_KEY="signkey-dev-xxxxx"
# ── Graph RAG (optional) ────────────────────────────────────────────
# ENABLE_GRAPH_RETRIEVER="false"
# NEO4J_URI=""
# NEO4J_USERNAME=""
# NEO4J_PASSWORD=""
# ── File Storage ────────────────────────────────────────────────────
# "s3" → any S3-compatible endpoint (AWS, MinIO, SeaweedFS)
# "database" → base64 in Postgres (no-S3 fallback)
# Unset → auto-detect based on S3 vars
# NEXT_PUBLIC_STORAGE_PROVIDER="s3"
# NEXT_PUBLIC_S3_ENDPOINT="http://localhost:8333"
# S3_REGION="us-east-1"
# S3_ACCESS_KEY="pdr_local_key"
# S3_SECRET_KEY="pdr_local_secret"
# S3_BUCKET_NAME="pdr-documents"
# ── CORS ─────────────────────────────────────────────────────────────
# Comma-separated list of allowed origins for API CORS headers
# CORS_ALLOWED_ORIGINS="https://yourdomain.com,https://app.yourdomain.com"
# ── Logging ──────────────────────────────────────────────────────────
# Log level: fatal, error, warn, info, debug, trace (default: info in prod, debug in dev)
# LOG_LEVEL="info"
# ── Legacy (deprecated) ─────────────────────────────────────────────
# SIDECAR_URL — ML models removed from sidecar. Use cloud providers above.