环境变量
提示
由于 NEXTY.DEV 提供了多个仓库,不同仓库环境变量有差异,请访问对应的环境变量说明:
网站基础配置
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
NEXT_PUBLIC_SITE_URL | 必须 | 1.x | 网站访问地址 • 本地开发时填写启动地址,默认为 http://localhost:3000• 生产环境请填写你的实际域名 |
NEXT_PUBLIC_PRICING_PATH | 必须 | 2.x | 和实际定价计划的页面对应,默认是 /#pricing |
NEXT_PUBLIC_LOCALE_DETECTION | 必须 | 1.x | 语言检测模式,推荐设置为 false• 设为 true:启用 next-intl 自动检测,会根据浏览器语言自动跳转到对应语言页面• 设为 false:使用 NEXTY.DEV 内置的 SEO 友好语言检测器 |
NEXT_PUBLIC_OPTIMIZED_IMAGES | 可选 | 2.x | 是否启用图片优化,推荐设置为 true,这样能够节省 Vercel 图片优化资源 |
NEXT_PUBLIC_LOGIN_MODE | 可选 | 2.x | 选择登录模式:page 是打开登录页 /login,dialog 是打开登录弹框 |
NEXT_PUBLIC_COOKIE_CONSENT_ENABLED | 可选 | 3.1.6 | 是否启用 Cookie 同意弹框,默认 false |
NEXT_PUBLIC_USER_SOURCE_TRACKING_ENABLED | 可选 | 3.2.10 | 是否在 userSource 表记录用户来源,默认 true |
NEXT_PUBLIC_RATE_LIMIT_ENABLED | 可选 | 3.2.12 | 是否启用 API 速率限制,默认 false |
NEXT_PUBLIC_EMAIL_NORMALIZATION_ENABLED | 可选 | 3.2.18 | 是否启用邮箱规范化(例如去除点/别名),默认 false |
提示
NEXTY.DEV 的语言检测器会在用户首次访问时检查浏览器语言,如果与当前页面语言不一致,会弹出友好的切换提示。这种方式减少了不必要的重定向,对 SEO 更加友好。
数据库
查看数据库集成步骤。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
DATABASE_URL | 必须 | 3.0.0 |
授权
查看授权集成步骤。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
BETTER_AUTH_SECRET | 可选 | 3.0.0 | 使用命令 openssl rand -base64 32 生成 |
NEXT_PUBLIC_GITHUB_CLIENT_ID | 可选 | 3.0.0 | |
GITHUB_CLIENT_SECRET | 可选 | 3.0.0 | |
NEXT_PUBLIC_GOOGLE_CLIENT_ID | 可选 | 3.0.0 | |
GOOGLE_CLIENT_SECRET | 可选 | 3.0.0 |
Cloudflare Turnstile
查看 Turnstile 集成步骤。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
NEXT_PUBLIC_TURNSTILE_SITE_KEY | 可选 | 2.x | 填写则会开启 Cloudfalre Turnstile |
TURNSTILE_SECRET_KEY | 可选 | 3.0.0 |
Resend 邮件服务
查看 Resend 集成步骤。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
RESEND_API_KEY | 可选 | 1.x | Resend API 访问密钥 |
ADMIN_EMAIL | 可选 | 1.x | 管理员邮箱地址,用作邮件发送方 |
ADMIN_NAME | 可选 | 1.x | 管理员姓名,用作邮件发送方显示名称 |
Upstash Redis
查看 Upstash 集成步骤。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
UPSTASH_REDIS_REST_URL | 可选 | 1.x | Redis 数据库 URL |
UPSTASH_REDIS_REST_TOKEN | 可选 | 1.x | Redis 访问令牌 |
Stripe
查看 Stripe 集成步骤。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
NEXT_PUBLIC_DEFAULT_CURRENCY | 可选 | 1.x | 默认支付货币 |
STRIPE_SECRET_KEY | 可选 | 1.x | Stripe 私有密钥 |
STRIPE_PUBLISHABLE_KEY | 可选 | 1.x | Stripe 公开密钥 |
STRIPE_WEBHOOK_SECRET | 可选 | 1.x | Stripe Webhook 签名密钥 |
STRIPE_CUSTOMER_PORTAL_URL | 可选 | 1.x | 用户订阅管理页面 URL,为用户提供订阅信息展示和退订的入口,默认为 /dashboard/subscription 页面 |
STRIPE_RADAR_EARLY_FRAUD_WARNING_TYPE | 可选 | 3.1.9 | 用于设置触发 Stripe Radar 早期欺诈警告的响应行为 |
STRIPE_RADAR_EARLY_FRAUD_WARNING_TYPE 用于设置触发 Stripe Radar 早期欺诈警告的响应行为,可选值及其含义:
- "refund,email": 自动退款并向管理员发送邮件通知
- "refund": 仅自动退款
- "email": 仅向管理员发送邮件通知(不自动退款)
- 留空或不设置则不处理
如需 Discord 提醒,可自行扩展环境变量的可选值,并利用 lib/discord/notifications.ts 中的方法实现 Discord 通知。
Creem
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
CREEM_API_BASE_URL | 可选 | 3.2.6 | https://api.creem.io/v1 |
CREEM_API_KEY | 可选 | 3.2.6 | |
CREEM_WEBHOOK_SECRET | 可选 | 3.2.6 |
Cloudflare R2 存储
查看 Cloudflare R2 集成步骤。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
R2_ACCOUNT_ID | 可选 | 1.x | R2 存储账户 ID |
R2_ACCESS_KEY_ID | 可选 | 1.x | R2 访问密钥 ID |
R2_SECRET_ACCESS_KEY | 可选 | 1.x | R2 私有访问密钥 |
R2_BUCKET_NAME | 可选 | 1.x | R2 存储桶名称 |
R2_PUBLIC_URL | 可选 | 1.x | R2 存储桶公共访问 URL,必须以 https:// 开头 |
AI 模型集成
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
OPENAI_API_KEY | 可选 | 1.x | OpenAI API 密钥 |
DEEPSEEK_API_KEY | 可选 | 1.x | DeepSeek API 密钥 |
ANTHROPIC_API_KEY | 可选 | 1.x | Anthropic API 密钥 |
XAI_API_KEY | 可选 | 1.x | XAI API 密钥 |
GOOGLE_GENERATIVE_AI_API_KEY | 可选 | 1.x | Google API 密钥 |
OPENROUTER_API_KEY | 可选 | 1.x | OpenRouter API 密钥 |
FIRECRAWL_API_KEY | 可选 | 3.1.7 | Firecrawl API 密钥 |
REPLICATE_WEBHOOK_SIGNING_SECRET | 可选 | 3.3.0 | Replicate webhook 签名密钥,用于验证 webhook 载荷 |
FAL_KEY | 可选 | 3.3.0 | fal.ai API 密钥 |
FAL_VERIFY_WEBHOOKS | 可选 | 3.3.0 | 是否验证 fal.ai webhook 签名,默认 true |
KIE_API_KEY | 可选 | 3.3.0 | KIE.ai API 密钥 |
KIE_WEBHOOK_HMAC_KEY | 可选 | 3.3.0 | KIE.ai webhook HMAC 签名密钥,用于验证 webhook 载荷 |
WEBHOOK_BASE_URL | 可选 | 3.3.0 | 视频生成 webhook 回调的基础 URL(Replicate、fal.ai、KIE) 示例: https://your-domain.com 或 https://xxxx.ngrok.io |
自定义 OpenAI 兼容提供商
配置自定义 OpenAI 兼容 API 提供商(例如 SiliconFlow、302.ai、Together AI)。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
CUSTOM_OPENAI_BASE_URL | 可选 | 3.3.0 | OpenAI 兼容 API 的基础 URL 示例: https://api.siliconflow.cn/v1 |
CUSTOM_OPENAI_API_KEY | 可选 | 3.3.0 | 自定义 OpenAI 兼容提供商的 API 密钥 |
NEXT_PUBLIC_CUSTOM_OPENAI_MODELS | 可选 | 3.3.0 | 要展示的模型列表,用逗号分隔 格式: model-id:显示名称,model-id-2:显示名称 2示例: Qwen/Qwen2.5-72B-Instruct:Qwen2.5 72B,deepseek-ai/DeepSeek-V3:DeepSeek V3 |
AI 翻译功能
定价计划编辑页面、博客编辑页面提供了 AI 多语言翻译功能,需要在此处配置对应的 AI 模型才能使用。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
NEXT_PUBLIC_AI_PROVIDER | 可选 | 1.x | AI 模型服务提供商,如:xai |
NEXT_PUBLIC_AI_MODEL_ID | 可选 | 1.x | AI 模型标识符,如:grok-3 |
数据分析与广告
查看 数据分析集成
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
NEXT_PUBLIC_GOOGLE_ID | 可选 | 1.x | Google Analytics |
NEXT_PUBLIC_GOOGLE_ADSENSE_ID | 可选 | 1.x | Google AdSense |
NEXT_PUBLIC_PLAUSIBLE_SRC | 可选 | 2.x | Plausible 脚本地址 |
NEXT_PUBLIC_PLAUSIBLE_DOMAIN | 可选 | 2.x | Plausible 分析域名 |
PLAUSIBLE_API_KEY | 可选 | 3.1.2 | Plausible API Key |
PLAUSIBLE_URL | 可选 | 3.1.2 | Plausible 服务器地址 |
NEXT_PUBLIC_UMAMI_SRC | 可选 | 3.2.9 | Umami 脚本地址 |
NEXT_PUBLIC_UMAMI_WEBSITE_ID | 可选 | 3.2.9 | Umami website ID |
NEXT_PUBLIC_RYBBIT_SRC | 可选 | 3.2.9 | Rybbit 脚本地址 src |
NEXT_PUBLIC_RYBBIT_SITE_ID | 可选 | 3.2.9 | Rybbit data-site-id |
NEXT_PUBLIC_RYBBIT_SESSION_REPLAY | 可选 | 3.2.9 | Rybbit 是否开启 Replay 功能(用户使用录屏) |
NEXT_PUBLIC_RYBBIT_REPLAY_MASK_SELECTORS | 可选 | 3.2.9 | Rybbit Replay 需要隐藏的用户信息 |
NEXT_PUBLIC_CLARITY_PROJECT_ID | 可选 | 3.2.11 | Microsoft Clarity 项目 ID |
NEXT_PUBLIC_POSTHOG_HOST | 可选 | 3.2.12 | PostHog 实例主机 URL |
NEXT_PUBLIC_POSTHOG_KEY | 可选 | 3.2.12 | PostHog 项目 API 密钥 |
客户支持
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
NEXT_PUBLIC_CRISP_WEBSITE_ID | 可选 | 3.2.12 | 在线客服支持 Crisp 网站 ID |
Discord
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
NEXT_PUBLIC_DISCORD_INVITE_URL | 可选 | 2.x | Discord 邀请链接 |
DISCORD_WEBHOOK_URL | 可选 | 3.1.7 | Discord Notify Webhook URL |
Affiliate(Tolt.io)
查看 Tolt 集成步骤。
| 环境变量 | 是否必须 | 引入版本 | 说明 |
|---|---|---|---|
NEXT_PUBLIC_TOLT_ID | 可选 | 2.x | Tolt.io Affiliate ID |