# Loom 全局环境变量模板 # 使用方法:`cp .env.example .env` 后填写真实值。 # 仅此文件提交仓库,`.env` 永远不要入库。 # ===== App ===== APP_ENV=dev # 32 字节随机字符串,生成:openssl rand -hex 32 APP_SECRET_KEY= APP_BASE_URL=https://ai.aidfxn.com # JWT 签发参数 JWT_ALG=HS256 JWT_ACCESS_TTL=3600 JWT_REFRESH_TTL=604800 # ===== PostgreSQL ===== # docker-compose 自建数据库时保持默认;对接外部库时改连接串 POSTGRES_USER=loom POSTGRES_PASSWORD=loom POSTGRES_DB=loom # 本机直跑 uvicorn 用 localhost;容器内跑由 docker-compose 覆写成 postgres:5432 DATABASE_URL=postgresql+asyncpg://loom:loom@localhost:5432/loom # ===== Redis / Celery ===== # 同上:本机 localhost,容器内由 compose 覆写成 redis:6379 REDIS_URL=redis://localhost:6379/0 CELERY_BROKER_URL=redis://localhost:6379/1 CELERY_RESULT_BACKEND=redis://localhost:6379/2 # ===== Lobster Agent(龙虾 Agent API)===== # 对接真实龙虾平台,联调时由运维/产品提供,先留空。 # LOBSTER_API_BASE 示例:https://api.lobster-agent.com/v1 # LOBSTER_API_KEY 龙虾平台签发的 Bearer Token # LOBSTER_CALLBACK_SECRET 龙虾回调 loom 时的 HMAC-SHA256 签名密钥 # LOBSTER_TIMEOUT_SECONDS 单次 HTTP 调用超时(秒),默认 30 # LOBSTER_POLL_INTERVAL_SECONDS 无回调时兜底轮询周期(秒),默认 5 LOBSTER_API_BASE= LOBSTER_API_KEY= LOBSTER_CALLBACK_SECRET= LOBSTER_TIMEOUT_SECONDS=30 LOBSTER_POLL_INTERVAL_SECONDS=5 # ===== OpenAI(主 LLM Provider;其它 Provider 运行时在 /llm/providers 配置)===== # OPENAI_API_BASE 默认 https://api.openai.com/v1;走代理时改这里 # OPENAI_API_KEY OpenAI 控制台创建的 sk-… Key # OPENAI_DEFAULT_MODEL 默认模型,建议 gpt-4o-mini # OPENAI_TIMEOUT_SECONDS 单次 HTTP 调用超时(秒),默认 60 OPENAI_API_BASE=https://api.openai.com/v1 OPENAI_API_KEY= OPENAI_DEFAULT_MODEL=gpt-4o-mini OPENAI_TIMEOUT_SECONDS=60 # ===== 加密 ===== # Fernet 32 字节 urlsafe_b64 Key,用于加密 platform_account 凭据。 # 生成:python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" FERNET_KEY= # ===== CORS ===== # 逗号分隔;本地开发 vite 默认 5173 CORS_ALLOW_ORIGINS=http://localhost:5173,http://127.0.0.1:5173