跳到主要内容
用户指南 · 11

环境变量配置

提示:从 v2.x 起,所有 API Key 都可以在 设置 → 通用 → API Keys 中按用户配置(AES-256-GCM 加密存储),优先级高于环境变量。环境变量主要用于初次部署或 fallback。

11.1 必需配置(至少一个)

本小节适用于 DeepAgents / API 路径。Codex / Cursor 套餐日常对话与内部 Service 不要求额外 LLM API Key;配置方法见 4.12。独立搜索、语音等附加 API 能力仍需各自配置。

变量说明
ANTHROPIC_API_KEYAnthropic API 密钥(Claude 系列)
OPENAI_API_KEYOpenAI API 密钥(GPT + 多媒体生成)

也可配置 BEDROCK_API_KEY / BEDROCK_REGIONOPENROUTER_API_KEYSILICONFLOW_API_KEY。硅基流动与 OpenRouter 模型需在设置页白名单中启用,可通过 OPENROUTER_BASE_URL / SILICONFLOW_BASE_URL 覆盖端点;示例见 .env.example。这些 API 凭据与 Codex / Cursor 供应商登录相互独立。

11.2 Provider 端点覆盖

变量说明
ANTHROPIC_BASE_URL自定义 Anthropic API 端点
OPENAI_BASE_URL自定义 OpenAI API 端点

11.3 按能力覆盖

当某项能力需要使用与主 Provider 不同的 API Key 或端点时:

能力Key 变量URL 变量
图片生成IMAGE_API_KEYIMAGE_BASE_URL
TTS 语音TTS_API_KEYTTS_BASE_URL
视频生成VIDEO_API_KEYVIDEO_BASE_URL
实时语音 S2SS2S_API_KEYS2S_BASE_URL
语音转写 STTSTT_API_KEYSTT_BASE_URL

11.4 联网工具

变量说明
CLOUDSWAY_SEARCH_KEYCloudsWay 搜索 API(优先使用)
CLOUDSWAY_READ_URLCloudsWay 网页抓取端点(可选覆盖)
CLOUDSWAY_SEARCH_URLCloudsWay 搜索端点(可选覆盖)
TAVILY_API_KEYTavily 搜索 API(备选)

11.5 S3 存储(可选)

变量说明
STORAGE_BACKENDlocal(默认)或 s3
S3_BUCKETS3 桶名称
S3_REGIONS3 区域
S3_ENDPOINT_URL自定义端点(MinIO/R2/OSS)
S3_ACCESS_KEY_IDS3 访问密钥
S3_SECRET_ACCESS_KEYS3 秘密密钥
S3_PREFIXS3 key 前缀(可选)

注意:JSON 配置文件(users.json、conversations 等)目前仍走本地盘。S3 模式仅托管文件系统层(docs/scripts/generated/soul/)。

Cloudflare R2 的 S3_ENDPOINT_URL 使用 https://<ACCOUNT_ID>.r2.cloudflarestorage.com。region 留空时 R2 自动使用 auto,其余使用 us-east-1S3_CHECKSUM_MODE=auto 对自定义端点使用 when_required,需要路径寻址的兼容服务可配置 S3_ADDRESSING_STYLE=path。浏览器直接 fetch 签名 URL 时需配置桶 CORS,完整 R2 示例见 .env.example

11.6 加密 Master Key

变量说明
ENCRYPTION_KEYper-admin API Key 的 AES-256-GCM master key(不设则首次启动自动生成 data/encryption.key

生产环境强烈建议显式设置 ENCRYPTION_KEY 并妥善备份,否则 master key 文件丢失将导致所有用户的 API Key 无法解密。

11.7 脚本沙箱调优

变量默认值说明
SCRIPT_CONCURRENCY4全局并发脚本数
SCRIPT_QUEUE_TIMEOUT180排队超时(秒)

11.8 端口配置

变量默认说明
BACKEND_PORT8000FastAPI 端口(Docker 用)
FRONTEND_PORT3000Express/Vite 端口
API_TARGEThttp://localhost:8000Express 代理目标

11.9 可观测性

变量说明
LANGFUSE_SECRET_KEYLangfuse 密钥
LANGFUSE_PUBLIC_KEYLangfuse 公钥
LANGFUSE_HOSTLangfuse 服务地址
LANGCHAIN_TRACING_V2启用 LangSmith
LANGCHAIN_API_KEYLangSmith API Key

11.10 可选供应商运行引擎

.env.example 为配置入口。设置 JELLYFISH_RUNTIME_ENABLED=1JELLYFISH_RUNTIME_ACCESS_MODE=trusted_sharedJELLYFISH_RUNTIME_BACKEND=localUVICORN_WORKERS=1,要求 macOS / Linux,CLI 安装在后端执行环境内。Docker 可分别配置固定构建参数 JELLYFISH_CODEX_CLI_VERSION=0.154.0JELLYFISH_CURSOR_CLI_VERSION=2026.09.15-d2fe57e,重建应用容器后重新加载 Nginx。这些版本有安装验证,不代表完整生产验收。

部署方通过 python3 launcher.py --superadmin-key 查看主机 key(Docker 用 docker compose exec openjellyfish python launcher.py --superadmin-key),在 /superadmin 输入后登录供应商并向已有 admin 授权模型。JELLYFISH_OWNER_USER_ID 已废弃;供应商登录与 Jellyfish API Key 相互独立。

运行数据默认位于 data/runtime,Docker 通过 /app/data 持久化。备份时同时保留数据库、凭据 vault 和加密密钥。主机管理 key 默认位于本机 config/superadmin.key 或 Docker /app/data/superadmin.key;自定义 JELLYFISH_SUPERADMIN_KEY_FILE 时必须给后端与 key CLI 提供相同的进程环境变量。local 后端只面向可信团队;把整套应用放进 Docker 不等于每租户容器隔离。

完整步骤见 部署与登录能力边界与恢复