环境变量参考
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=publicBETTER_AUTH_SECRET -- 认证签名密钥,至少 32 位字符
openssl rand -base64 32NEXT_PUBLIC_SITE_URL -- 站点公开地址
http://localhost:7001 # 开发环境
https://your-domain.com # 生产环境完整变量列表
以下变量为项目启动所必需。
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
DATABASE_URL | PostgreSQL 连接字符串 | 是 | -- |
BETTER_AUTH_SECRET | 认证签名密钥(至少 32 位) | 是 | -- |
NEXT_PUBLIC_SITE_URL | 站点公开地址 | 是 | -- |
认证基础
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
BETTER_AUTH_SECRET | 认证签名密钥(至少 32 位) | 是 | -- |
BETTER_AUTH_URL | Auth 回调基础 URL | 否 | NEXT_PUBLIC_SITE_URL |
Google OAuth
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
GOOGLE_CLIENT_ID | Google OAuth Client ID | 否 | -- |
GOOGLE_CLIENT_SECRET | Google OAuth Client Secret | 否 | -- |
GitHub OAuth
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
GITHUB_CLIENT_ID | GitHub OAuth Client ID | 否 | -- |
GITHUB_CLIENT_SECRET | GitHub 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_KEY | Stripe API Secret Key | 否 | -- |
STRIPE_WEBHOOK_SECRET | Stripe Webhook 签名密钥 | 否 | -- |
NEXT_PUBLIC_STRIPE_PRICE_PRO_MONTHLY | Pro 月付 Price ID | 否 | -- |
NEXT_PUBLIC_STRIPE_PRICE_PRO_YEARLY | Pro 年付 Price ID | 否 | -- |
NEXT_PUBLIC_STRIPE_PRICE_PRO_LIFETIME | Pro 终身买断 Price ID | 否 | -- |
NEXT_PUBLIC_STRIPE_PRICE_01MVP_LIFETIME | 01MVP 终身买断 Price ID | 否 | -- |
微信支付
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
WECHAT_PAY_MCH_ID | 商户号 | 否 | -- |
WECHAT_PAY_SERIAL_NO | 证书序列号 | 否 | -- |
WECHAT_PAY_PRIVATE_KEY | RSA 私钥 | 否 | -- |
WECHAT_PAY_API_V3_KEY | V3 API 密钥 | 否 | -- |
WECHAT_PAY_NOTIFY_URL | 支付回调通知 URL | 否 | -- |
支付宝
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
ALIPAY_APP_ID | 支付宝应用 ID | 否 | -- |
ALIPAY_PRIVATE_KEY | RSA 私钥 | 否 | -- |
ALIPAY_PUBLIC_KEY | 支付宝公钥(用于签名验证) | 否 | -- |
PayPal
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
PAYPAL_CLIENT_ID | PayPal REST API Client ID | 否 | -- |
PAYPAL_CLIENT_SECRET | PayPal REST API Client Secret | 否 | -- |
PAYPAL_WEBHOOK_ID | PayPal Webhook ID | 否 | -- |
Waffo
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
WAFFO_MERCHANT_ID | Waffo 商户 ID | 否 | -- |
WAFFO_PRIVATE_KEY | Waffo 私钥 | 否 | -- |
NEXT_PUBLIC_WAFFO_PRICE_01MVP_LIFETIME | Waffo 终身买断价格 | 否 | -- |
基础模型配置
变量按优先级从高到低:AI_* > OPENAI_*。
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
AI_API_KEY | AI 服务 API Key(最高优先级) | 否 | -- |
AI_BASE_URL | AI 服务基础 URL(最高优先级) | 否 | -- |
AI_MODEL | AI 模型名称(最高优先级) | 否 | -- |
OPENAI_API_KEY | OpenAI 兼容服务 API Key | 否 | -- |
OPENAI_BASE_URL | OpenAI 兼容服务基础 URL | 否 | https://api.deepseek.com |
OPENAI_MODEL | 模型名称 | 否 | deepseek-v4-flash |
视频生成
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
VOLCENGINE_API_KEY | 火山引擎 API Key(Seedance 视频生成) | 否 | -- |
图片/视频生成
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
QWEN_API_KEY | 通义千问 API Key(图片/视频生成) | 否 | -- |
AI 变量遵循优先级机制:当同时配置了 AI_API_KEY 和 OPENAI_API_KEY 时,AI_API_KEY 优先使用。详见下方"变量优先级说明"。
项目使用 S3 兼容的对象存储。
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
S3_ENDPOINT | S3 API 端点 | 否 | -- |
S3_REGION | S3 区域 | 否 | -- |
S3_ACCESS_KEY_ID | S3 Access Key | 否 | -- |
S3_SECRET_ACCESS_KEY | S3 Secret Key | 否 | -- |
S3_BUCKET | S3 存储桶名称 | 否 | -- |
NEXT_PUBLIC_BUCKET_NAME | 存储桶名称(浏览器端使用) | 否 | -- |
NEXT_PUBLIC_S3_ENDPOINT | S3 公开端点(浏览器访问用) | 否 | -- |
S3_ENDPOINT 是服务端 API 端点,NEXT_PUBLIC_S3_ENDPOINT 是浏览器端访问端点。两者可能不同,取决于你的 S3 服务提供商和网络配置。
邮件
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
ZEABUR_EMAIL_API_KEY | Zeabur 邮件服务 API Key | 否 | -- |
EMAIL_FROM | 发件人邮箱地址 | 否 | -- |
CONTACT_EMAIL | 联系表单收件人 | 否 | -- |
FEEDBACK_EMAIL_FROM | 反馈表单发件人 | 否 | -- |
短信
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
SMS_PROVIDER | 短信服务商:tencent / aliyun / twilio | 否 | -- |
腾讯云短信(需同时配置 TENCENT_CLOUD_SECRET_ID 和 TENCENT_CLOUD_SECRET_KEY,见"其他")
阿里云短信 -- 使用阿里云凭证
Twilio -- 使用 Twilio 凭证
| 变量名 | 说明 | 必填 | 默认值 |
|---|---|---|---|
COOKIE_DOMAIN | 跨子域 SSO Cookie 域名 | 否 | -- |
TRUSTED_ORIGINS | CORS 信任来源列表 | 否 | -- |
THEME_PRESET | 默认主题预设:01mvp / vercel / linear / claude | 否 | 01mvp |
TENCENT_CLOUD_SECRET_ID | 腾讯云 Secret ID(内容审核/短信) | 否 | -- |
TENCENT_CLOUD_SECRET_KEY | 腾讯云 Secret Key(内容审核/短信) | 否 | -- |
变量优先级说明
部分服务存在多组配置变量,系统按以下优先级从高到低选择:
AI 模型配置: AI_* > OPENAI_* > 内置默认值
当同时配置了 AI_API_KEY 和 OPENAI_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_URL | THEME_PRESET |
| Google 登录 | GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | BETTER_AUTH_URL |
| GitHub 登录 | GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET | BETTER_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=stripe | NEXT_PUBLIC_STRIPE_PRICE_* |
| 微信支付 | WECHAT_PAY_MCH_ID, WECHAT_PAY_SERIAL_NO, WECHAT_PAY_PRIVATE_KEY, WECHAT_PAY_API_V3_KEY | WECHAT_PAY_NOTIFY_URL |
| 支付宝 | ALIPAY_APP_ID, ALIPAY_PRIVATE_KEY, ALIPAY_PUBLIC_KEY | -- |
| PayPal | PAYPAL_CLIENT_ID, PAYPAL_CLIENT_SECRET | PAYPAL_WEBHOOK_ID |
| AI 对话 | OPENAI_API_KEY 或 AI_API_KEY | AI_BASE_URL, AI_MODEL |
| 视频生成 | VOLCENGINE_API_KEY | -- |
| S3 存储 | S3_ENDPOINT, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_BUCKET | S3_REGION, NEXT_PUBLIC_S3_ENDPOINT |
| 邮件 | ZEABUR_EMAIL_API_KEY, EMAIL_FROM | CONTACT_EMAIL, FEEDBACK_EMAIL_FROM |
| 短信 | SMS_PROVIDER, 对应服务商凭证 | -- |