核心概念

环境变量参考

01MVP 全部环境变量速查,按功能分类、标注必填与默认值

本页是环境变量的完整参考手册。如需了解配置体系和 Feature Flags,请参阅 配置说明

概览

环境变量文件位于 apps/01mvp-web/.env.local,从 .env.example 复制并修改:

cp apps/01mvp-web/.env.example apps/01mvp-web/.env.local

NEXT_PUBLIC_ 开头的变量会暴露给浏览器端代码,其余仅在服务端可用。修改环境变量后需重启 pnpm dev 才会生效。

快速开始

只需 3 个变量即可启动项目:

DATABASE_URL -- PostgreSQL 连接字符串

postgresql://user:password@localhost:5432/01mvp?schema=public

BETTER_AUTH_SECRET -- 认证签名密钥,至少 32 位字符

openssl rand -base64 32

NEXT_PUBLIC_SITE_URL -- 站点公开地址

http://localhost:7001        # 开发环境
https://your-domain.com     # 生产环境

完整变量列表

以下变量为项目启动所必需。

变量名说明必填默认值
DATABASE_URLPostgreSQL 连接字符串--
BETTER_AUTH_SECRET认证签名密钥(至少 32 位)--
NEXT_PUBLIC_SITE_URL站点公开地址--

认证基础

变量名说明必填默认值
BETTER_AUTH_SECRET认证签名密钥(至少 32 位)--
BETTER_AUTH_URLAuth 回调基础 URLNEXT_PUBLIC_SITE_URL

Google OAuth

变量名说明必填默认值
GOOGLE_CLIENT_IDGoogle OAuth Client ID--
GOOGLE_CLIENT_SECRETGoogle OAuth Client Secret--

GitHub OAuth

变量名说明必填默认值
GITHUB_CLIENT_IDGitHub OAuth Client ID--
GITHUB_CLIENT_SECRETGitHub OAuth Client Secret--

微信登录

微信提供三种登录方式,按需配置。

PC 网页登录

变量名说明必填默认值
WECHAT_WEBSITE_APP_ID微信开放平台网站应用 AppID--
WECHAT_WEBSITE_APP_SECRET微信开放平台网站应用 AppSecret--

公众号登录(移动端)

变量名说明必填默认值
WECHAT_SERVICE_ACCOUNT_APP_ID微信公众号 AppID--
WECHAT_SERVICE_ACCOUNT_APP_SECRET微信公众号 AppSecret--

小程序登录

变量名说明必填默认值
WECHAT_MINIPROGRAM_APP_ID微信小程序 AppID--
WECHAT_MINIPROGRAM_APP_SECRET微信小程序 AppSecret--

支付提供商选择

变量名说明必填默认值
PAYMENT_PROVIDER活跃支付提供商:stripe / wechat / alipay / paypal / waffo--

Stripe

变量名说明必填默认值
STRIPE_SECRET_KEYStripe API Secret Key--
STRIPE_WEBHOOK_SECRETStripe Webhook 签名密钥--
NEXT_PUBLIC_STRIPE_PRICE_PRO_MONTHLYPro 月付 Price ID--
NEXT_PUBLIC_STRIPE_PRICE_PRO_YEARLYPro 年付 Price ID--
NEXT_PUBLIC_STRIPE_PRICE_PRO_LIFETIMEPro 终身买断 Price ID--
NEXT_PUBLIC_STRIPE_PRICE_01MVP_LIFETIME01MVP 终身买断 Price ID--

微信支付

变量名说明必填默认值
WECHAT_PAY_MCH_ID商户号--
WECHAT_PAY_SERIAL_NO证书序列号--
WECHAT_PAY_PRIVATE_KEYRSA 私钥--
WECHAT_PAY_API_V3_KEYV3 API 密钥--
WECHAT_PAY_NOTIFY_URL支付回调通知 URL--

支付宝

变量名说明必填默认值
ALIPAY_APP_ID支付宝应用 ID--
ALIPAY_PRIVATE_KEYRSA 私钥--
ALIPAY_PUBLIC_KEY支付宝公钥(用于签名验证)--

PayPal

变量名说明必填默认值
PAYPAL_CLIENT_IDPayPal REST API Client ID--
PAYPAL_CLIENT_SECRETPayPal REST API Client Secret--
PAYPAL_WEBHOOK_IDPayPal Webhook ID--

Waffo

变量名说明必填默认值
WAFFO_MERCHANT_IDWaffo 商户 ID--
WAFFO_PRIVATE_KEYWaffo 私钥--
NEXT_PUBLIC_WAFFO_PRICE_01MVP_LIFETIMEWaffo 终身买断价格--

基础模型配置

变量按优先级从高到低:AI_* > OPENAI_*

变量名说明必填默认值
AI_API_KEYAI 服务 API Key(最高优先级)--
AI_BASE_URLAI 服务基础 URL(最高优先级)--
AI_MODELAI 模型名称(最高优先级)--
OPENAI_API_KEYOpenAI 兼容服务 API Key--
OPENAI_BASE_URLOpenAI 兼容服务基础 URLhttps://api.deepseek.com
OPENAI_MODEL模型名称deepseek-v4-flash

视频生成

变量名说明必填默认值
VOLCENGINE_API_KEY火山引擎 API Key(Seedance 视频生成)--

图片/视频生成

变量名说明必填默认值
QWEN_API_KEY通义千问 API Key(图片/视频生成)--

AI 变量遵循优先级机制:当同时配置了 AI_API_KEYOPENAI_API_KEY 时,AI_API_KEY 优先使用。详见下方"变量优先级说明"。

项目使用 S3 兼容的对象存储。

变量名说明必填默认值
S3_ENDPOINTS3 API 端点--
S3_REGIONS3 区域--
S3_ACCESS_KEY_IDS3 Access Key--
S3_SECRET_ACCESS_KEYS3 Secret Key--
S3_BUCKETS3 存储桶名称--
NEXT_PUBLIC_BUCKET_NAME存储桶名称(浏览器端使用)--
NEXT_PUBLIC_S3_ENDPOINTS3 公开端点(浏览器访问用)--

S3_ENDPOINT 是服务端 API 端点,NEXT_PUBLIC_S3_ENDPOINT 是浏览器端访问端点。两者可能不同,取决于你的 S3 服务提供商和网络配置。

邮件

变量名说明必填默认值
ZEABUR_EMAIL_API_KEYZeabur 邮件服务 API Key--
EMAIL_FROM发件人邮箱地址--
CONTACT_EMAIL联系表单收件人--
FEEDBACK_EMAIL_FROM反馈表单发件人--

短信

变量名说明必填默认值
SMS_PROVIDER短信服务商:tencent / aliyun / twilio--

腾讯云短信(需同时配置 TENCENT_CLOUD_SECRET_IDTENCENT_CLOUD_SECRET_KEY,见"其他")

阿里云短信 -- 使用阿里云凭证

Twilio -- 使用 Twilio 凭证

变量名说明必填默认值
COOKIE_DOMAIN跨子域 SSO Cookie 域名--
TRUSTED_ORIGINSCORS 信任来源列表--
THEME_PRESET默认主题预设:01mvp / vercel / linear / claude01mvp
TENCENT_CLOUD_SECRET_ID腾讯云 Secret ID(内容审核/短信)--
TENCENT_CLOUD_SECRET_KEY腾讯云 Secret Key(内容审核/短信)--

变量优先级说明

部分服务存在多组配置变量,系统按以下优先级从高到低选择:

AI 模型配置: AI_* > OPENAI_* > 内置默认值

当同时配置了 AI_API_KEYOPENAI_API_KEY 时,系统优先使用 AI_* 系列变量。如果 AI_* 未配置,则回退到 OPENAI_*。若均未配置,则使用内置默认值(DeepSeek V4 Flash)。

安全提醒

不要将包含密钥的环境变量文件提交到 Git。 .env.local 已在 .gitignore 中,请确保不会意外提交。生产环境通过部署平台(如 Vercel)的环境变量面板管理。

区分公钥和私钥变量。NEXT_PUBLIC_ 开头的变量会打包到客户端代码中,任何敏感信息(Secret Key、Private Key)都不应使用此前缀。

按功能查看

以下表格帮助你快速找到启用某个功能所需的变量。

功能必需变量可选变量
基础启动DATABASE_URL, BETTER_AUTH_SECRET, NEXT_PUBLIC_SITE_URLTHEME_PRESET
Google 登录GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRETBETTER_AUTH_URL
GitHub 登录GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRETBETTER_AUTH_URL
微信 PC 登录WECHAT_WEBSITE_APP_ID, WECHAT_WEBSITE_APP_SECRET--
微信公众号登录WECHAT_SERVICE_ACCOUNT_APP_ID, WECHAT_SERVICE_ACCOUNT_APP_SECRET--
微信小程序登录WECHAT_MINIPROGRAM_APP_ID, WECHAT_MINIPROGRAM_APP_SECRET--
Stripe 支付STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, PAYMENT_PROVIDER=stripeNEXT_PUBLIC_STRIPE_PRICE_*
微信支付WECHAT_PAY_MCH_ID, WECHAT_PAY_SERIAL_NO, WECHAT_PAY_PRIVATE_KEY, WECHAT_PAY_API_V3_KEYWECHAT_PAY_NOTIFY_URL
支付宝ALIPAY_APP_ID, ALIPAY_PRIVATE_KEY, ALIPAY_PUBLIC_KEY--
PayPalPAYPAL_CLIENT_ID, PAYPAL_CLIENT_SECRETPAYPAL_WEBHOOK_ID
AI 对话OPENAI_API_KEYAI_API_KEYAI_BASE_URL, AI_MODEL
视频生成VOLCENGINE_API_KEY--
S3 存储S3_ENDPOINT, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_BUCKETS3_REGION, NEXT_PUBLIC_S3_ENDPOINT
邮件ZEABUR_EMAIL_API_KEY, EMAIL_FROMCONTACT_EMAIL, FEEDBACK_EMAIL_FROM
短信SMS_PROVIDER, 对应服务商凭证--