Backend 配置
FastAPI Backend 服务的核心环境变量说明。负责 API、持久化和会话管理。
必需(否则无法启动或关键功能不可用)
DATABASE_URL:数据库连接串(PostgreSQL),示例:postgresql://postgres:postgres@postgres:5432/pocoSECRET_KEY:后端密钥(用于安全相关逻辑)INTERNAL_API_TOKEN:内部调用鉴权 token(Executor Manager 调用 Backend 内部接口会用到)S3_ENDPOINT:S3 兼容服务地址- 本地 rustfs:
http://rustfs:9000 - Cloudflare R2:
https://<accountid>.r2.cloudflarestorage.com
- 本地 rustfs:
S3_ACCESS_KEY/S3_SECRET_KEY:S3 访问凭证S3_BUCKET:S3 bucket 名称(需存在;本地 rustfs 可用rustfs-init创建;R2 请在控制台提前创建)S3_KEY_PREFIX:可选的对象 key 前缀。设置后,Backend 会把所有对象读写到<S3_KEY_PREFIX>/...下,但业务记录仍保持不带此前缀的逻辑 key。S3_PUBLIC_READ:设为true时,返回给浏览器的文件链接会直接拼接为S3_PUBLIC_ENDPOINT下的公开地址,而不是预签名 URL。适用于公共读 bucket 或绑定单 bucket 的自定义域名/CDN。S3_PUBLIC_ENDPOINT_BUCKET_BOUND:设为true时,表示S3_PUBLIC_ENDPOINT已经绑定到单个 bucket,对外生成公开 URL 时不再自动拼接 bucket 名称。标准 S3/RustFS path-style 端点应保持为false。S3_SIGNATURE_VERSION:可选的 boto3 签名版本(默认s3v4)。对阿里云 OSS 的 AWS SDK 兼容场景,通常建议配合S3_FORCE_PATH_STYLE=false使用s3。
常用
HOST(默认0.0.0.0)、PORT(默认8000)CORS_ORIGINS:允许来源列表(JSON 数组),示例:["http://localhost:3000","http://127.0.0.1:3000"]EXECUTOR_MANAGER_URL:Executor Manager 地址,示例:http://executor-manager:8001S3_PUBLIC_ENDPOINT:对外可访问的 S3 地址,用于生成给浏览器的预签名 URL(本地可用http://localhost:9000)。未设置则使用S3_ENDPOINT。若使用 Cloudflare R2 bucket 级自定义域,生成 URL 里可能带有/<S3_BUCKET>/前缀;访问时通常需要去掉该段(建议在网关/Worker/CDN 层统一改写)。S3_REGION(默认us-east-1;Cloudflare R2 通常建议设为auto)S3_FORCE_PATH_STYLE(默认true,对 MinIO/RustFS 一般需要;Cloudflare R2 通常建议设为false)S3_PRESIGN_EXPIRES:预签名 URL 过期秒数(默认300)ANTHROPIC_API_KEY:可选(用于会话标题自动生成;未设置则禁用标题生成)ANTHROPIC_BASE_URL:可选(自定义 Anthropic API 端点/代理;默认https://api.anthropic.com)DEFAULT_MODEL(默认claude-sonnet-4-20250514;会话标题生成也会使用该模型)MAX_UPLOAD_SIZE_MB(默认100)
本地目录挂载
DEPLOYMENT_MODE(默认local):控制是否启用本地目录挂载功能。local:用户可以将宿主机目录挂载到 executor 沙箱中(自托管部署默认值)cloud:在 UI 中禁用本地目录挂载(云端部署推荐设置)
日志(3 个 Python 服务通用)
DEBUG(默认false)LOG_LEVEL(默认随 DEBUG/非 DEBUG 变化;建议显式设为INFO)UVICORN_ACCESS_LOG(默认false)LOG_TO_FILE(默认false):是否写本地文件日志LOG_DIR(默认./logs)、LOG_BACKUP_COUNT(默认14)LOG_SQL(默认false):是否打印 SQLAlchemy SQL(注意敏感信息)