FastGPTFastGPT

环境变量说明

projects/app、projects/code-sandbox 与 pro/admin 环境变量说明

本文说明 FastGPT 自部署时常用服务的环境变量。projects/apppro/admin 会大量复用 packages/service/env.ts 中的服务端配置,因此数据库、密钥、对象存储、向量库等变量合并说明;只有 projects/apppro/admin 自己读取的变量单独列出。

说明

  • projects/app:主应用服务,包含 Next.js 页面、API 路由、工作流、知识库、对象存储、向量库等能力。
  • pro/admin:商业版 Admin 服务。除自己的后台功能变量外,也会复用 App/Service 的数据库、密钥、对象存储、模型、日志等变量。
  • projects/code-sandbox:代码沙箱服务,对外暴露 /sandbox 执行接口,供 App 通过 CODE_SANDBOX_URL 调用。
  • 代码中 packages/service/env.ts 导出名为 serviceEnvprojects/app/src/env.ts 导出名为 appEnv
  • App/Admin 共享布尔变量使用 true1yesy 表示开启;其他值视为关闭。
  • FILE_TOKEN_KEYAES256_SECRET_KEY 为运行期必填,建议使用随机强密钥,不要使用示例值。

App/Admin 共享变量

这些变量主要由 packages/service/env.ts 校验,适用于 projects/app,也适用于会导入 @fastgpt/servicepro/admin。注意:packages/service/env.ts 当前也包含少量 App 侧开关;这类变量在下方 projects/app 额外变量中单独列出。

基础与密钥

变量默认值说明
DB_MAX_LINK5MongoDB、PG、OceanBase、openGauss 等数据库连接池最大连接数。
SYNC_INDEXtrue启动时是否同步 MongoDB 索引。
TOKEN_KEYfastgpt_token_key用户登录态、业务 Token 等签名密钥,长度至少 6 位。
FILE_TOKEN_KEY无,必填文件读取、文件鉴权相关密钥,长度至少 6 位。
AES256_SECRET_KEY无,必填AES 加解密密钥,长度至少 6 位。
ROOT_KEYfastgpt_root_keyRoot API Key/内部最高权限密钥,长度至少 6 位。
PRO_URL商业版服务地址,配置后 App 可调用 Pro API,也会作为文件 URL 安全校验允许域名。

服务地址与集成

变量默认值说明
PLUGIN_BASE_URLhttp://localhost:3004FastGPT Plugin 服务地址;部署模板通常会配置为内部 Plugin 服务地址。
PLUGIN_TOKENtoken调用 Plugin 服务使用的认证 Token;需与 Plugin 服务配置一致。
CODE_SANDBOX_URLhttp://localhost:3002Code Sandbox 服务地址;部署模板通常会配置为内部 Code Sandbox 服务地址。
CODE_SANDBOX_TOKENcodesandboxApp 调用 Code Sandbox 时使用的认证 Token,需与沙箱服务 SANDBOX_TOKEN 一致。
AIPROXY_API_ENDPOINThttp://localhost:3010AI Proxy 服务地址;配置后模型请求会优先走 AI Proxy。
AIPROXY_API_TOKENtoken调用 AI Proxy 使用的认证 Token。
OPENAI_BASE_URLhttps://api.openai.com/v1未配置 AI Proxy 时,兼容 OpenAI 协议的默认模型接口地址。
CHAT_API_KEY未配置 AI Proxy Token 时,兼容 OpenAI 协议的默认模型 API Key。
MARKETPLACE_URLhttps://marketplace.fastgpt.cn插件市场接口地址。
FEISHU_BASE_URLhttps://open.feishu.cn飞书开放平台地址,私有化飞书可改为对应域名。
DINGTALK_BASE_URLhttps://api.dingtalk.com钉钉新版 API 基础地址。
DINGTALK_OAPI_BASE_URLhttps://oapi.dingtalk.com钉钉 OAPI 基础地址。
YUQUE_DATASET_BASE_URLhttps://www.yuque.com语雀知识库地址。

Agent Sandbox

变量默认值说明
AGENT_SANDBOX_PROVIDERAgent 沙箱提供方,可选 sealosdevboxopensandboxe2b;为空时不启用 Agent 沙箱。
AGENT_SANDBOX_E2B_API_KEYE2B 沙箱 API Key。
AGENT_SANDBOX_SEALOS_BASEURLSealos Devbox 服务地址。
AGENT_SANDBOX_SEALOS_TOKENSealos Devbox 访问 Token。
AGENT_SANDBOX_OPENSANDBOX_BASEURLOpenSandbox 服务地址。
AGENT_SANDBOX_OPENSANDBOX_API_KEYOpenSandbox API Key。
AGENT_SANDBOX_OPENSANDBOX_RUNTIMEdockerOpenSandbox 运行时,可选 dockerkubernetes
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPOOpenSandbox 使用的镜像仓库。
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAGlatestOpenSandbox 使用的镜像标签。
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXYtrueOpenSandbox 是否通过服务端代理访问。
AGENT_SANDBOX_ENABLE_VOLUMEfalseAgent 沙箱是否启用持久化 Volume。
AGENT_SANDBOX_VOLUME_MANAGER_URLVolume Manager 服务地址。
AGENT_SANDBOX_VOLUME_MANAGER_TOKENVolume Manager 认证 Token。
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH/workspaceVolume 挂载到沙箱内的路径。
AGENT_SANDBOX_FREE_TIPfalse前端是否展示 Agent Sandbox 免费提示。
AGENT_SANDBOX_MAX_EDIT_DEBUGAgent 编辑/调试沙箱数量限制;为空表示不限制。
AGENT_SANDBOX_MAX_SESSION_RUNTIMEAgent 沙箱会话运行时长限制;为空表示不限制。

Skill 限制

变量默认值说明
AGENT_SKILL_MAX_UPLOAD_SIZESkill 上传包大小上限。
AGENT_SKILL_MAX_UNCOMPRESSED_SIZESkill 解压后大小上限。
AGENT_SKILL_MAX_DOWNLOAD_SIZESkill 下载资源大小上限。
AGENT_SKILL_MAX_SANDBOX_SIZESkill 沙箱目录大小上限。

数据库、缓存与向量库

变量默认值说明
REDIS_URLredis://default:mypassword@localhost:6379Redis 连接地址。
STREAM_RESUME_TTL_SECONDS300流式恢复镜像在生成中的 TTL,单位秒。
STREAM_RESUME_POST_COMPLETE_TTL_SECONDS30流结束后恢复镜像的缩短 TTL,单位秒。
STREAM_RESUME_REDIS_MAXMEMORY_RATIO0.5Redis 已用内存与 maxmemory 比例达到该值后,不再创建新的流恢复镜像。
STREAM_RESUME_REDIS_MEMORY_CHECK_INTERVAL_MS5000Redis 内存水位检测缓存时间,单位毫秒。
MONGODB_URI本地 MongoDB 示例地址主业务 MongoDB 连接地址。
MONGODB_LOG_URIMONGODB_URI 示例地址日志 MongoDB 连接地址;不配置时可复用主库。
VECTOR_VQ_LEVEL32向量量化等级;不同向量库支持范围不同。
PG_URLPostgreSQL/pgvector 向量库连接地址。
OCEANBASE_URLOceanBase 向量库连接地址。
SEEKDB_URLSeekDB 向量库连接地址。
MILVUS_ADDRESSMilvus/Zilliz 连接地址。
MILVUS_TOKENMilvus/Zilliz 访问 Token。
OPENGAUSS_URLopenGauss 向量库连接地址。

对象存储

变量默认值说明
STORAGE_VENDORminio对象存储类型,可选 minioaws-s3cososs
STORAGE_PUBLIC_BUCKETfastgpt-public公开文件 Bucket。
STORAGE_PRIVATE_BUCKETfastgpt-private私有文件 Bucket。
STORAGE_REGIONus-east-1对象存储 Region。
STORAGE_EXTERNAL_ENDPOINT外部可访问的对象存储地址,用于浏览器或外部服务访问。
STORAGE_S3_ENDPOINThttp://localhost:9000S3/MinIO 兼容 API 地址。
STORAGE_PUBLIC_ACCESS_EXTRA_SUB_PATH公开文件访问路径的额外子路径。
STORAGE_ACCESS_KEY_IDminioadmin对象存储 Access Key。
STORAGE_SECRET_ACCESS_KEYminioadmin对象存储 Secret Key。
STORAGE_S3_FORCE_PATH_STYLEfalseS3 是否强制 path-style 访问,MinIO 通常需要开启。
STORAGE_S3_MAX_RETRIES3S3 客户端最大重试次数。
STORAGE_COS_PROTOCOLhttps:腾讯云 COS 访问协议,可选 https:http:
STORAGE_COS_USE_ACCELERATEfalse腾讯云 COS 是否使用全球加速域名。
STORAGE_COS_CNAME_DOMAIN腾讯云 COS 自定义 CNAME 域名。
STORAGE_COS_PROXY腾讯云 COS 代理地址。
STORAGE_OSS_ENDPOINT阿里云 OSS Endpoint。
STORAGE_OSS_CNAMEfalse阿里云 OSS 是否使用 CNAME。
STORAGE_OSS_INTERNALfalse阿里云 OSS 是否使用内网 Endpoint。
STORAGE_OSS_SECUREfalse阿里云 OSS 是否使用 HTTPS。
STORAGE_OSS_ENABLE_PROXYtrue阿里云 OSS 是否启用代理访问。

日志、指标与追踪

变量默认值说明
LOG_ENABLE_CONSOLEtrue是否输出控制台日志。
LOG_CONSOLE_LEVELdebug控制台日志等级,可选 tracedebuginfowarningerrorfatal
LOG_DEPTH3历史模板变量,用于日志对象展开深度;当前新版结构化日志主要使用日志等级配置。
LOG_ENABLE_OTELfalse是否启用 OpenTelemetry 日志上报。
LOG_OTEL_LEVELinfoOTEL 日志等级。
LOG_OTEL_SERVICE_NAMEfastgpt-clientOTEL 日志服务名。
LOG_OTEL_URLOTEL 日志上报地址。
METRICS_ENABLE_OTELfalse是否启用 OpenTelemetry 指标上报。
METRICS_EXPORT_INTERVAL30000指标导出间隔,单位毫秒。
METRICS_OTEL_SERVICE_NAMEfastgpt-clientOTEL 指标服务名。
METRICS_OTEL_URLOTEL 指标上报地址。
TRACING_ENABLE_OTELfalse是否启用 OpenTelemetry 链路追踪。
TRACING_OTEL_SERVICE_NAMEfastgpt-clientOTEL 追踪服务名。
TRACING_OTEL_URLOTEL 追踪上报地址。
TRACING_OTEL_SAMPLE_RATIO追踪采样比例,范围 01
CHAT_LOG_URL对话日志推送服务地址;为空时不推送。
CHAT_LOG_INTERVAL对话日志批量推送间隔,单位毫秒。
CHAT_LOG_SOURCE_ID_PREFIXfastgpt-对话日志来源 ID 前缀。
TRACK_BATCH_UPDATE_TIME10000事件计数批量写入间隔,单位毫秒。

域名、前端与运行时

变量默认值说明
FE_DOMAINFastGPT 前端外部访问地址,用于补全文件、图片等资源路径;不要配置为 localhost
FILE_DOMAIN文件访问域名,通常也指向 FastGPT 服务;可独立域名隔离文件风险。
NEXT_PUBLIC_BASE_URLNext.js 子路径部署前缀,例如 /fastgpt;需要在构建镜像时确定。
HOSTNAMElocalhost服务本机 Host,用于内部 URL 与 SSRF 本地地址识别;容器中常设为 0.0.0.0
PORT3000Next.js 服务监听端口,也用于本地地址识别。
NODE_ENV标准 Node/Next.js 运行环境变量,生产镜像中为 production
NEXT_TELEMETRY_DISABLED1生产镜像中关闭 Next.js Telemetry。
NODE_OPTIONS--max-old-space-size=4096生产镜像构建阶段使用的 Node 启动参数,用于提高构建内存上限。

安全配置

变量默认值说明
USE_IP_LIMITfalse是否启用部分接口的 IP 限流。
CHECK_INTERNAL_IPfalse是否启用内网 IP 检查,用于降低 SSRF 风险。
PASSWORD_LOGIN_LOCK_SECONDS120密码登录错误后的锁定时长,单位秒。
MAX_LOGIN_SESSION单账号最大登录客户端数量;为空时使用默认逻辑。
ALLOWED_ORIGINS允许跨域来源,多个来源使用英文逗号分隔;为空默认允许所有跨域。
MULTIPLE_DATA_TO_BASE64true是否强制将图片转成 base64 传递给模型。
DISABLE_CACHEfalse是否关闭系统缓存命中,主要用于调试。
PLUGIN_ACCESS_TOKEN_SECRETplugin_access_token_secret插件访问 Token 签名密钥。
PLUGIN_ACCESS_TOKEN_EXPIRES_IN86400插件访问 Token 有效期,单位秒。
HTTP_PROXYNode/worker 出站 HTTP 代理。
HTTPS_PROXYNode/worker 出站 HTTPS 代理。
NO_PROXY不走代理的地址列表。
ALL_PROXY通用出站代理。

功能开关与限制

变量默认值说明
SHOW_SKILLfalse是否展示 Skill 功能入口;镜像构建也会读取该变量决定服务入口。
AGENT_ENGINEdefaultAgent 引擎,可选 defaultpi
HELPER_BOT_MODEL辅助生成模型,需保证系统中已启用对应模型。
SKIP_FILE_TYPE_CHECKfalse是否跳过上传文件类型检查。
WECHAT_CHANNEL_CONCURRENCY1000微信渠道 poll worker 并发数,最小 10
PARSE_FILE_WORKERS10文件解析 worker 常驻线程数。
HTML_TO_MARKDOWN_WORKERS10HTML 转 Markdown worker 常驻线程数。
TEXT_TO_CHUNKS_WORKERS10文本切块 worker 常驻线程数。
PARSE_FILE_TIMEOUT_SECONDS600文件解析单任务超时时间,单位秒。
WORKFLOW_MAX_RUN_TIMES500工作流最大运行次数,避免极端死循环。
WORKFLOW_MAX_LOOP_TIMES100循环/并行节点最大输入数组长度。
WORKFLOW_PARALLEL_MAX_CONCURRENCY10并行节点并发上限,且不能超过 WORKFLOW_MAX_LOOP_TIMES
CHAT_MAX_QPM5000聊天 QPM 限制;若用户套餐另有限制,以套餐限制为准。
SERVICE_REQUEST_MAX_CONTENT_LENGTH10服务端接收请求体最大大小,单位 MB。
APP_FOLDER_MAX_AMOUNT1000应用文件夹最大数量。
DATASET_FOLDER_MAX_AMOUNT1000数据集文件夹最大数量。
UPLOAD_FILE_MAX_SIZE1000最大上传文件大小,单位 MB。
UPLOAD_FILE_MAX_AMOUNT1000最大上传文件数量。
LLM_REQUEST_TRACKING_RETENTION_HOURS6LLM 请求追踪保留时长,单位小时。
MAX_HTML_TRANSFORM_CHARS1000000HTML 转 Markdown 的最大字符数,超过后不转换。

App 额外变量

以下变量主要由 projects/app 读取。其中部分变量当前定义在 packages/service/env.ts 中做统一校验,但实际消费点仍在 App 层。

变量默认值说明
DEFAULT_ROOT_PSW123456初始化 root 用户默认密码。
SYSTEM_NAMEAI页面标题默认系统名。
SYSTEM_DESCRIPTION页面 Meta 描述,不配置时使用默认国际化文案。
SYSTEM_FAVICON页面 favicon 地址,不配置时使用系统配置中的 favicon。
CONFIG_JSON_PATH生产环境读取 config.json 的目录,默认 /app/data
CHINESE_IP_REDIRECT_URL前端配置中的中国 IP 跳转地址。
PAY_FORM_URL前端配置中的付费表单地址。
SHOW_COUPONfalse是否展示兑换码功能。
SHOW_DISCOUNT_COUPONfalse是否展示优惠券功能。
HIDE_CHAT_COPYRIGHT_SETTINGfalse是否隐藏版权信息配置项。
APP_REGISTRATION_URL应用备案申请地址;当前主要作为兼容配置保留。
PASSWORD_EXPIRED_MONTH密码过期月份数;为空表示不过期。

Admin 额外变量

以下变量主要由 pro/admin 读取。Admin 同时也会使用上面的 App/Admin 共享变量。

变量默认值说明
EVAL_CONCURRENCY3批量评估任务并发数。
EVAL_LINE_LIMIT1000单次创建评估任务允许的最大数据行数,也会下发给前端配置。
UPDATE_BALANCE_DELAY历史余额更新频率变量,当前类型中保留。
BATCH_UPDATE_TIME3000钱包余额批量更新间隔,单位毫秒。
INVOICE_FEISHU_WEBHOOK_URL发票申请通知飞书 Webhook 地址。
INVOICE_FEISHU_WEBHOOK_CALLBACK_URL发票通知中按钮回调地址。
SMS_PROXY短信发送代理服务地址。
MAX_CRAWL_PAGE2000网站同步最大抓取页面数。
CRAWL_DYNAMIC_WEBSITEfalse是否启用动态页面爬虫。
PLUGIN_URL动态页面爬虫插件服务地址。
CRAWL_MAX_HTML_SIZE10静态网页爬虫单页 HTML 估算大小上限,单位 MB。
CRAWL_EXCLUDE_LIST爬虫排除域名或路径规则,多个值使用英文逗号分隔。
SHOW_GIT是否在后台展示 Git 信息;不填写则不展示。
WARN_FREE_ACCOUNT免费账号清理前的提醒配置。
CLEAR_FREE_ACCOUNT免费账号清理配置。
SYNC_MEMBER_CRON成员自动同步 Cron 表达式;为空则不启动同步任务。
WORKORDER_BASE_URL工单系统地址;配置后前端展示工单入口。
WORKORDER_JWT_SECRET创建工单时签发 JWT 使用的密钥。
EXTERNAL_USER_SYSTEM_BASE_URL外部用户系统地址。
EXTERNAL_USER_SYSTEM_AUTH_TOKEN外部用户系统认证 Token。
BAIDU_CONVERSION_TOKEN百度转化跟踪 Token。
BAIDU_CONVERSION_BASE_URL百度转化跟踪接口地址。
BING_ADS_DEVELOPER_TOKENBing Ads Developer Token。
BING_ADS_CUSTOMER_IDBing Ads Customer ID。
BING_ADS_CUSTOMER_ACCOUNT_IDBing Ads Customer Account ID。
BING_ADS_CONVERSION_NAMEfastgptcnBing Ads 转化目标名称。
BING_OAUTH_CLIENT_IDBing OAuth Client ID。
BING_OAUTH_CLIENT_SECRETBing OAuth Client Secret。
BING_OAUTH_REFRESH_TOKENBing OAuth Refresh Token。
SHOW_WECOM_CONFIGfalse是否展示企业微信相关配置。
WECOM_DEVfalse企业微信支付相关开发模式开关。

Code Sandbox 变量

这些变量由 projects/code-sandbox/src/env.ts 加载和校验。App 调用沙箱时,CODE_SANDBOX_TOKEN 需要与这里的 SANDBOX_TOKEN 保持一致。

变量默认值说明
SANDBOX_PORT3000Code Sandbox 服务监听端口。
SANDBOX_TOKEN/sandbox 接口 Bearer Token;为空时不启用接口认证。仅允许 ASCII 可打印字符且不能包含空格。
SANDBOX_POOL_SIZE20JS/Python 预热 worker 数量,范围 1100
SANDBOX_MAX_TIMEOUT60000单次代码执行超时时间,单位毫秒,范围 1000600000
SANDBOX_MAX_MEMORY_MB256单个沙箱最大内存,单位 MB,范围 324096
CHECK_INTERNAL_IPfalse是否在沙箱网络请求中启用内网 IP 检查。
SANDBOX_REQUEST_MAX_COUNT30单次代码执行允许发起的最大网络请求数,范围 11000
SANDBOX_REQUEST_TIMEOUT60000沙箱内单次网络请求超时时间,单位毫秒,范围 1000300000
SANDBOX_REQUEST_MAX_RESPONSE_MB10沙箱内单次网络响应体最大大小,单位 MB,范围 1100
SANDBOX_REQUEST_MAX_BODY_MB5沙箱内单次网络请求体最大大小,单位 MB,范围 1100
SANDBOX_JS_ALLOWED_MODULESlodash,dayjs,moment,uuid,crypto-js,qs,url,querystringJS 代码允许导入的模块白名单,使用英文逗号分隔。
SANDBOX_PYTHON_ALLOWED_MODULES内置常用标准库与 numpy,pandas,matplotlibPython 代码允许导入的模块白名单,使用英文逗号分隔。
NODE_ENV标准 Node 环境变量;development 下内网地址检查会放宽。
HOSTNAMElocalhost沙箱服务本机 Host,用于本地地址识别。
PORT3000沙箱本地服务端口识别;实际监听优先使用 SANDBOX_PORT