136 lines
5.3 KiB
Plaintext
136 lines
5.3 KiB
Plaintext
# Server-side OpenAI-compatible LLM endpoint base URL.
|
||
LLM_BASE_URL="https://ark.cn-beijing.volces.com/api/v3"
|
||
|
||
# Server-side API key used by the local Vite proxy.
|
||
# Recommended: set `LLM_API_KEY` or `ARK_API_KEY`.
|
||
# Legacy compatibility: `VITE_LLM_API_KEY` is still supported by the proxy,
|
||
# but it should not be relied on by browser code.
|
||
LLM_API_KEY="YOUR_API_KEY"
|
||
|
||
# Optional frontend override for the local proxy path.
|
||
VITE_LLM_PROXY_BASE_URL="/api/llm"
|
||
|
||
# Optional frontend override for the local custom-world scene image proxy path.
|
||
VITE_SCENE_IMAGE_PROXY_BASE_URL="/api/custom-world/scene-image"
|
||
|
||
# Local Node backend address and target used by Vite's dev proxy for runtime API routes.
|
||
NODE_SERVER_ADDR=":8081"
|
||
NODE_SERVER_TARGET="http://127.0.0.1:8081"
|
||
|
||
# Local Caddy upstream target used for dist-based testing.
|
||
CADDY_API_UPSTREAM="http://127.0.0.1:8081"
|
||
|
||
# Editor and asset tool APIs. Defaults are enabled outside production and
|
||
# disabled in production unless explicitly enabled.
|
||
EDITOR_API_ENABLED="true"
|
||
ASSETS_API_ENABLED="true"
|
||
|
||
# Node backend PostgreSQL connection string.
|
||
# Runtime persistence now uses PostgreSQL as the only formal backend baseline.
|
||
DATABASE_URL="postgresql://postgres:postgres@127.0.0.1:5432/genarrative"
|
||
|
||
# Node backend JWT settings.
|
||
JWT_SECRET="CHANGE_ME_FOR_PRODUCTION"
|
||
# Access token 有效期。
|
||
JWT_EXPIRES_IN="2h"
|
||
|
||
# Refresh session 配置。
|
||
AUTH_REFRESH_COOKIE_NAME="genarrative_refresh_session"
|
||
AUTH_REFRESH_SESSION_TTL_DAYS="30"
|
||
AUTH_REFRESH_COOKIE_PATH="/api/auth"
|
||
AUTH_REFRESH_COOKIE_SAME_SITE="Lax"
|
||
AUTH_REFRESH_COOKIE_SECURE="false"
|
||
|
||
# 手机号验证码登录配置(阿里云 PNVS)。
|
||
# 正式环境请改成你自己的 AccessKey 和短信签名/模板。
|
||
# 在 `.env.local` 或进程环境中填入 AccessKey 后会自动启用;如需强制关闭,请显式设置 `SMS_AUTH_ENABLED="false"`。
|
||
SMS_AUTH_ENABLED="false"
|
||
SMS_AUTH_PROVIDER="aliyun"
|
||
ALIYUN_SMS_ACCESS_KEY_ID=""
|
||
ALIYUN_SMS_ACCESS_KEY_SECRET=""
|
||
ALIYUN_SMS_ENDPOINT="dypnsapi.aliyuncs.com"
|
||
# 默认使用阿里云文档中的赠送测试签名/模板,可按控制台实际配置覆盖。
|
||
ALIYUN_SMS_SIGN_NAME="速通互联验证码"
|
||
ALIYUN_SMS_TEMPLATE_CODE="100001"
|
||
ALIYUN_SMS_TEMPLATE_PARAM_KEY="code"
|
||
ALIYUN_SMS_COUNTRY_CODE="86"
|
||
ALIYUN_SMS_CODE_LENGTH="6"
|
||
ALIYUN_SMS_CODE_TYPE="1"
|
||
ALIYUN_SMS_VALID_TIME_SECONDS="300"
|
||
ALIYUN_SMS_INTERVAL_SECONDS="60"
|
||
ALIYUN_SMS_DUPLICATE_POLICY="1"
|
||
ALIYUN_SMS_CASE_AUTH_POLICY="1"
|
||
ALIYUN_SMS_RETURN_VERIFY_CODE="false"
|
||
SMS_AUTH_MAX_SEND_PER_PHONE_PER_DAY="20"
|
||
SMS_AUTH_MAX_SEND_PER_IP_PER_HOUR="30"
|
||
SMS_AUTH_MAX_VERIFY_FAILURES_PER_PHONE_PER_HOUR="12"
|
||
SMS_AUTH_MAX_VERIFY_FAILURES_PER_IP_PER_HOUR="24"
|
||
SMS_AUTH_CAPTCHA_TTL_SECONDS="180"
|
||
SMS_AUTH_CAPTCHA_TRIGGER_VERIFY_FAILURES_PER_PHONE="3"
|
||
SMS_AUTH_CAPTCHA_TRIGGER_VERIFY_FAILURES_PER_IP="5"
|
||
SMS_AUTH_BLOCK_PHONE_FAILURE_THRESHOLD="6"
|
||
SMS_AUTH_BLOCK_IP_FAILURE_THRESHOLD="10"
|
||
SMS_AUTH_BLOCK_PHONE_DURATION_MINUTES="30"
|
||
SMS_AUTH_BLOCK_IP_DURATION_MINUTES="30"
|
||
|
||
# 仅开发环境可选:允许无短信配置时自动走游客账号。
|
||
VITE_AUTH_ALLOW_DEV_GUEST="false"
|
||
|
||
# 微信登录配置。
|
||
# 当前实现已支持微信登录骨架与 mock 联调;正式联调需补齐开放平台 AppID / AppSecret。
|
||
WECHAT_AUTH_ENABLED="false"
|
||
WECHAT_AUTH_PROVIDER="wechat"
|
||
WECHAT_APP_ID=""
|
||
WECHAT_APP_SECRET=""
|
||
WECHAT_CALLBACK_PATH="/api/auth/wechat/callback"
|
||
WECHAT_REDIRECT_PATH="/"
|
||
|
||
# Model name for chat completions.
|
||
VITE_LLM_MODEL="doubao-1-5-pro-32k-character-250715"
|
||
|
||
# Server-side DashScope endpoint and API key used by the local scene-image proxy.
|
||
DASHSCOPE_BASE_URL="https://dashscope.aliyuncs.com/api/v1"
|
||
DASHSCOPE_API_KEY="sk-65a0c6fa5e294b9887ace860f9d65990"
|
||
|
||
# Optional model name for custom-world scene image generation.
|
||
DASHSCOPE_IMAGE_MODEL="wan2.7-image"
|
||
|
||
# Optional model names for character asset studio.
|
||
DASHSCOPE_CHARACTER_VISUAL_MODEL="wan2.7-image-pro"
|
||
DASHSCOPE_CHARACTER_IMAGE_SEQUENCE_MODEL="wan2.7-image-pro"
|
||
DASHSCOPE_CHARACTER_VIDEO_MODEL="wan2.7-i2v"
|
||
DASHSCOPE_CHARACTER_REFERENCE_VIDEO_MODEL="wan2.7-r2v"
|
||
DASHSCOPE_CHARACTER_MOTION_TRANSFER_MODEL="wan2.2-animate-move"
|
||
|
||
# Optional: server-side polling timeout for custom-world scene image generation, in milliseconds.
|
||
DASHSCOPE_IMAGE_REQUEST_TIMEOUT_MS="150000"
|
||
|
||
# Optional: longer timeout for character video generation, in milliseconds.
|
||
DASHSCOPE_CHARACTER_VIDEO_REQUEST_TIMEOUT_MS="420000"
|
||
|
||
# Optional: generic frontend timeout for regular LLM requests, in milliseconds.
|
||
VITE_LLM_REQUEST_TIMEOUT_MS="15000"
|
||
|
||
# Optional: longer timeout for custom world generation, in milliseconds.
|
||
VITE_LLM_CUSTOM_WORLD_TIMEOUT_MS="120000"
|
||
|
||
# Optional: timeout for custom-world scene image generation, in milliseconds.
|
||
VITE_SCENE_IMAGE_REQUEST_TIMEOUT_MS="150000"
|
||
|
||
# Optional: print full LLM prompts / outputs in the browser console.
|
||
# Keep this off by default for cleaner logs.
|
||
VITE_LLM_DEBUG_LOG="false"
|
||
|
||
# Optional: official VikingDB credentials for regenerating build-tag similarities
|
||
# with the Python embedding script. The script auto-loads `.env.local` and uses
|
||
# the fixed `bge-large-zh` embedding model.
|
||
VOLCENGINE_ACCESS_KEY_ID=""
|
||
VOLCENGINE_SECRET_ACCESS_KEY=""
|
||
VIKINGDB_HOST=""
|
||
VIKINGDB_REGION=""
|
||
|
||
# APP_URL: The URL where this applet is hosted.
|
||
# AI Studio automatically injects this at runtime with the Cloud Run service URL.
|
||
# Used for self-referential links, OAuth callbacks, and API endpoints.
|
||
APP_URL="MY_APP_URL"
|