跳到主要内容

高级运行时变量

本页列出服务端的高级调优变量。它们都不是首次部署的必填项;除非你正在处理明确的性能、容量、限流或兼容性问题,否则应保留默认值。基础部署、认证、存储、向量、集成和 Compose 变量见环境变量总览。沙盒与前端构建变量分别见沙盒变量前端构建变量

AIVORY_TOOLS_WEB_FETCH_JINA_FALLBACKAIVORY_TOOLS_WEB_FETCH_JINA_BASEAIVORY_TOOLS_WEB_FETCH_JINA_URL_MODE 外,所有 AIVORY_* 变量都在应用进程启动时读取,修改后需要重启 app。这三个网页抓取回退变量会在每次抓取时读取,修改后从下一次抓取开始生效。时长值使用 30s5m2h 等格式;字节上限填写十进制字节数,例如 20971520 表示 20 MiB;整数、浮点数和布尔值必须使用有效格式,非法值会回退为默认值。变量名中的 _2_3 等是稳定兼容名称,并不表示可任意自行编号。

调优前先记录当前值、压测或问题证据和回滚方案。提高并发、请求体、超时或工具上限会同时增加成本、内存、上游压力和滥用面。

1. LLM 对话 / 编排 / 内部模型调用

主对话流、工具循环、TTFT 看门狗,以及压缩 / 记忆 / 审核 / 校验 / 深度研究 / 文档生成等内部模型调用。

工具次数限制只作用于 Aivory 系统工具。服务商托管工具在任何模式下都保持原有配置,也不消耗这些计数;快速模式的系统工具设为 0 时隐藏,设为正数时显示并以该值作为上限。

环境变量类型默认值说明
AIVORY_LLM_APPLY_ANTHROPIC_THINKING_SETTINGSint2048在抬高 Anthropic max_tokens 时,于扩展思考 budget_tokens 之上追加的 token 余量,使输出能容纳思考加回复。
AIVORY_LLM_MAX_ITERint20Anthropic 流式 Stream 循环中原生工具调用轮次(Messages API 调用次数)的硬性上限。
AIVORY_LLM_MAX_TOKint64000流式工具循环中每次 Anthropic Messages 请求发送的默认 max_tokens(除非请求自身覆盖)。
AIVORY_LLM_MAX_TOK_2int64000提示词工具模式(promptRunOnce)下单次 Anthropic 调用的默认 max_tokens(除非请求覆盖)。
AIVORY_LLM_INFLIGHT_GRACEduration2hstatus=streaming 的助手消息行在被视为崩溃残留之前免于被摘要处理的宽限时长;低于 AIVORY_API_MAX_GEN_DURATION 加最终落库余量的值会被自动抬高。
AIVORY_LLM_Tint4在压缩 token 估算中为每条消息追加的结构性 token 开销(角色标记、外框)。
AIVORY_LLM_MESSAGE_TOKEN_MEMO_CACHE_BOUNDint100000每消息 token 估算记忆缓存 map 在被原地重置以限制内存前允许的最大条目数。
AIVORY_LLM_SUMMARY_TOKENS_CLAMP_FLOORint256管理端 summary_max_tokens 设置的下限;配置值小于该下限时重置为默认摘要预算。
AIVORY_LLM_SUMMARY_TARGET_MIN_TOKENSint384在管理员配置的硬输出上限允许时,新压缩摘要请求的最小细节目标。
AIVORY_LLM_SUMMARY_TARGET_PER_ROUND_TOKENSint96每个用户轮次对自适应摘要目标的 token 贡献,避免大量简短决策被压成泛泛一段。
AIVORY_LLM_SUMMARY_TARGET_HEADROOM_NUMint5自适应摘要目标上方输出余量比例的分子(默认 5/4)。
AIVORY_LLM_SUMMARY_TARGET_HEADROOM_DENint4自适应摘要目标上方输出余量比例的分母(默认 5/4)。
AIVORY_LLM_SUMMARY_SHORT_RETRY_THRESHOLD_NUMint1摘要草稿被判定为明显过短并触发重试的长度比例分子(默认低于目标的 1/4)。
AIVORY_LLM_SUMMARY_SHORT_RETRY_THRESHOLD_DENint4摘要明显过短重试阈值的分母(默认目标的 1/4)。
AIVORY_LLM_SUMMARY_SHORT_RETRY_SOURCE_FACTORint2短摘要重试前要求的最小“源内容/目标”倍数,避免对本就稀疏的内容强行填充。
AIVORY_LLM_BIG_TOKEN_OVERFLOW_NUMint5本轮触发内联摘要的 token 触发阈值倍数(num/den,默认 5/4 = 1.25 倍)的分子。
AIVORY_LLM_BIG_TOKEN_OVERFLOW_DENint4本轮触发内联摘要的 token 触发阈值倍数(num/den,默认 5/4 = 1.25 倍)的分母。
AIVORY_LLM_INLINE_COMPACTION_BACKLOG_FACTORint3未摘要尾部长度相对 keepRounds*2 的倍数,超过则本轮强制内联(而非异步)压缩;规划器还会在异步高水位之上额外保留一个批次的缓冲。
AIVORY_LLM_ATTEMPTint4向会话 summary_blocks 追加新摘要块时的最大比较并交换(CAS)重试次数。
AIVORY_LLM_TOOL_OUTPUT_TOKENSint2048当无法从提供商 Raw 恢复完整且可识别的原生工具结果时,规范化内部工具结果块使用的单项 token 上限。已识别并恢复的完整结果不再在此截断,而由无损压缩 map-reduce 分片限制每次模型请求大小;界面展示的短预览保持不变。
AIVORY_LLM_TOOL_INPUT_TOKENSint2048将工具调用参数渲染到压缩请求时,每个工具调用的输入 token 上限。
AIVORY_LLM_COMPACTION_METADATA_TOKENSint512将附件、引用、文档和产物元数据渲染到压缩请求时,每项参考内容的 token 上限。
AIVORY_LLM_COMPACTION_MEDIA_INLINE_BYTESint6420971520为视觉模型恢复压缩图片时的总字节预算;所有图片引用都会持久化,未恢复的引用会以元数据形式标明。
AIVORY_LLM_CHUNK_SIZEint400重新校验已摘要消息是否仍存在时每条 SQL IN(...) 查询的消息 ID 批大小(用于规避驱动占位符上限分块)。
AIVORY_LLM_COMPACTION_LEASE_TTLduration2h数据库支持的每会话压缩租约有效期,防止内联、异步和手动摘要并发执行;即使多副本未配置 Redis 也会互斥。低于 AIVORY_API_MAX_GEN_DURATION 加最终落库余量的值会被自动抬高。
AIVORY_LLM_DR_MAX_ROUNDSint4深度研究引擎运行的 搜索再验证 轮次数量的硬性上限。
AIVORY_LLM_DR_QUERIES_PER_ROUNDint6每个深度研究轮次派发的最大搜索查询数。
AIVORY_LLM_DR_FETCH_PER_ROUNDint5每个深度研究轮次挑选并读取的最大新来源候选数。
AIVORY_LLM_DR_MIN_DEEP_READSint5深度研究在允许收尾前必须达到的最小深读来源数(即便覆盖缺口已看似充足)。
AIVORY_LLM_DR_SEARCH_TOP_Kint8每次深度研究搜索调用请求的结果数(top_k)。
AIVORY_LLM_DR_WALL_CLOCKduration5m限定整个深度研究引擎运行的总墙钟超时。
AIVORY_LLM_DR_CALL_TIMEOUTduration30s单次深度研究搜索或抓取请求的每调用超时。
AIVORY_LLM_DEEP_RESEARCH_VALIDATE_TIMEOUTduration75s限定深度研究在撰写前审查薄弱/单来源论断的 validate 阶段的超时。
AIVORY_LLM_SCORE_Afloat9为 URL 信誉等级为 A 的候选来源所加的排序分(信誉在排序中占主导)。
AIVORY_LLM_SCORE_Bfloat6为 URL 信誉等级为 B 的候选来源所加的排序分。
AIVORY_LLM_SCORE_Cfloat3为 URL 信誉等级为 C 的候选来源所加的排序分。
AIVORY_LLM_SCORE_KWfloat1候选来源标题或摘要中每命中一个问题关键词(长度大于 3)所加的排序分。
AIVORY_LLM_SCORE_FRESH_DOMAINfloat2为来自本次研究尚未见过域名的候选来源所加的排序加分。
AIVORY_LLM_MAX_ITER_4int20Gemini 流式 Stream 循环中原生工具调用轮次(generateContent 调用次数)的硬性上限。
AIVORY_LLM_GEMINI_MAX_TOKint64000Gemini 流式循环中每次请求 generationConfig.maxOutputTokens 的默认值(除非请求覆盖)。
AIVORY_LLM_GEMINI_MAX_TOK_2int64000Gemini 提示词工具模式调用中 generationConfig.maxOutputTokens 的默认值(除非请求覆盖)。
AIVORY_LLM_CONFfloat0.7当提取器返回的置信度不在 (0,1] 范围内时,为抽取记忆赋予的回退置信度。
AIVORY_STORE_M_CONFIDENCEfloat0.8仅当传给 CreateMemory 的置信度恰好为 0 时写入的回退值;它是默认值,不是置信度过滤或检索阈值。
AIVORY_STORE_LIST_MEMORIES_ACTIVEint20注入系统提示词时返回的 ACTIVE 与 QUERY_DEPENDENT 记忆合计上限,按最近更新时间倒序选择。
AIVORY_LLM_OFFICIAL_TOOL_SPECstring"medium"仅在把旧版 OpenAI Responses "web_search" 字符串配置转换为当前对象格式时用作 search_context_size;新模型不再默认配置任何服务商托管工具,管理员显式填写的请求 JSON 会原样保存。
AIVORY_LLM_MAX_ITER_2int20OpenAI streamChat(Chat Completions)循环中原生工具调用轮次的硬性上限。
AIVORY_LLM_MAX_ITER_3int20OpenAI streamResponses(Responses API)循环中原生工具调用轮次的硬性上限。
AIVORY_LLM_INLINE_QUOTE_SOURCE_INJECTION_CAPint8000内联引用子对话中,随高亮摘录一并注入的来源消息文本在截断前的最大字符(rune)数。
AIVORY_LLM_ATTACHMENT_IMAGE_INLINE_BYTESint6420971520单个已验证图片附件在以 base64 写入渠道请求前的独立硬上限;读取过程同样受限,旧的错误大小元数据无法绕过。
AIVORY_LLM_TOOL_ROUTE_TIMEOUTduration5s自动工具模式等待专用路由模型的端到端时延预算;超时后按 fail-open 规则开启工具。
AIVORY_LLM_TOOL_ROUTE_SCHEMA_TOKEN_THRESHOLDint512工具声明不超过此估算 token 数时,自动模式跳过额外路由请求,直接交给主模型原生判断。设为 0 可让所有模糊请求都经过分类。
AIVORY_LLM_SANDBOX_EXEC_TIMEOUT_CLAMP_RANGE_MAXint600为 python_execute 调用上下文计时时,管理员配置的 sandbox_exec_timeout_sec 被钳制的上限(秒)。
AIVORY_LLM_SANDBOX_EXEC_TIMEOUT_CLAMP_RANGE_MINint10为 python_execute 调用上下文计时时,管理员配置的 sandbox_exec_timeout_sec 被钳制的下限(秒)。
AIVORY_LLM_SANDBOX_EXEC_CTX_SAFETY_MARGINduration150s为 python_execute 上下文计时时,在钳制后的沙箱执行超时之上额外增加的余量,使上下文比沙箱 HTTP 客户端更晚超时。
AIVORY_LLM_PER_TURN_TOOL_LIMITS_WEB_SEARCHint16普通模式下每条消息允许的 aivory_web_search 调用次数上限;超出即令该调用失败。
AIVORY_LLM_PER_TURN_TOOL_LIMITS_WEB_FETCHint12普通模式下每条消息允许的 web_fetch 调用次数上限;超出即令该调用失败。
AIVORY_LLM_PER_TURN_TOOL_LIMITS_IMAGE_GENERATEint8普通模式下每条消息允许的 image_generate 调用次数上限;超出即令该调用失败。
AIVORY_LLM_PER_TURN_TOOL_LIMITS_PYTHON_EXECUTEint16普通模式下每条消息允许的 python_execute 沙箱执行次数上限;超出即令该调用失败。
AIVORY_LLM_FAST_TOOL_LIMITS_WEB_SEARCHint4快速模式下 aivory_web_search 系统工具的调用上限;设为 0 时隐藏。
AIVORY_LLM_FAST_TOOL_LIMITS_WEB_FETCHint3快速模式下 web_fetch 系统工具的调用上限;设为 0 时隐藏。
AIVORY_LLM_FAST_TOOL_LIMITS_FETCH_IMAGEint0快速模式下 fetch_image 系统工具的调用上限;设为 0 时隐藏,设为正数时仍需满足原有依赖和权限。
AIVORY_LLM_FAST_TOOL_LIMITS_IMAGE_GENERATEint2快速模式下 image_generate 系统工具的调用上限;设为 0 时隐藏。
AIVORY_LLM_FAST_TOOL_LIMITS_PYTHON_EXECUTEint0快速模式下 python_execute 系统工具的调用上限;设为 0 时隐藏,设为正数时仍需已配置沙箱并满足原有权限。
AIVORY_LLM_DEEP_RESEARCH_TOOL_LIMITS_WEB_SEARCHint40深度研究运行时每条消息允许的 aivory_web_search 调用次数上限;超出即令该调用失败。
AIVORY_LLM_DEEP_RESEARCH_TOOL_LIMITS_WEB_FETCHint25深度研究运行时每条消息允许的 web_fetch 调用次数上限;超出即令该调用失败。
AIVORY_LLM_DEEP_RESEARCH_TOOL_LIMITS_IMAGE_GENERATEint4深度研究运行时每条消息允许的 image_generate 调用次数上限;超出即令该调用失败。
AIVORY_LLM_DEEP_RESEARCH_TOOL_LIMITS_PYTHON_EXECUTEint8深度研究运行时每条消息允许的 python_execute 沙箱执行次数上限;超出即令该调用失败。
AIVORY_LLM_MAX_TOOL_CALLS_PER_TURNint48普通模式下每条消息跨所有工具的工具调用总数全局上限,叠加在各工具单独上限之上。
AIVORY_LLM_MAX_TOOL_CALLS_PER_TURN_DEEPint150深度研究运行时每条消息跨所有工具的工具调用总数全局上限。
AIVORY_LLM_MAX_TOOL_CALLS_PER_TURN_FASTint12快速模式下每条消息跨所有工具的独立调用总数上限。
AIVORY_LLM_MAX_TOOL_TIME_PER_TURNduration15m普通消息中所有工具执行的累计墙钟时间预算。耗尽后移除全部工具,并仅允许模型执行一次无工具收尾请求。设为非正值可禁用该时间预算。
AIVORY_LLM_MAX_TOOL_TIME_PER_TURN_DEEPduration4m深度研究的累计工具执行时间预算,在五分钟研究窗口内为一次无工具报告写作请求预留时间。设为非正值可禁用该时间预算。
AIVORY_LLM_MAX_TOOL_TIME_PER_TURN_FASTduration3m快速模式的累计工具执行时间预算,耗尽后仅执行一次无工具收尾请求。设为非正值可禁用该时间预算。
AIVORY_LLM_TOOL_TIMEOUTSduration10s单次 aivory_web_search 工具调用的每次调用超时上限。
AIVORY_LLM_TOOL_TIMEOUTS_2duration60s单次 web_fetch 的超时上限,为直连尝试后的 Jina 降级保留足够时间。
AIVORY_LLM_TOOL_TIMEOUTS_3duration600s单次 image_generate 工具调用的每次调用超时上限(为迟缓的第三方图像网关留出较宽窗口)。
AIVORY_LLM_TOOL_TIMEOUT_DEFAULTduration100s未在按类型配置的 toolTimeouts 映射中列出的工具所用的每次调用回退超时。
AIVORY_LLM_PROMPT_MAX_ITERint10提示模式工具循环在本轮结束前的最大迭代次数(每次迭代 = 一次模型生成加可选的工具调用)。
AIVORY_LLM_PROMPT_MAX_RETRYint2提示模式下重发格式错误的 <tool_call> JSON 或重试失败工具执行的最大重试次数。
AIVORY_LLM_PROVIDER_REQUEST_BODY_MAX_BYTESint131072用于诊断的已捕获供应商请求体/请求头 JSON 快照被钳制到的最大长度。
AIVORY_LLM_PROVIDER_REQUEST_VALUE_MAX_BYTESint8192每个单独捕获的供应商请求值(URL、请求头值)被钳制到的最大长度。
AIVORY_LLM_IMAGE_DOCUMENT_FLAT_TOKEN_ALLOWANCEint1024估算请求 token 时为每个 image/document 块计入的固定 token 数,因为 base64 无法按文本分词。
AIVORY_LLM_OUTPUT_RESERVEint2000计算预检积分可负担性估算时,在估算输入 token 之上加入的固定输出 token 预留量。
AIVORY_LLM_MAX_CONCURRENT_TOOLSint4单轮内并发执行的工具数上限(限制并发执行器扇出的信号量容量)。
AIVORY_LLM_VCTXduration45s限制答案生成后校验/审计 LLM 调用的超时,避免迟缓的跨供应商审计拖住本轮。

2. RAG 文档解析 / 向量检索

文档分块、Embedding 批量与并发、Qdrant 客户端、MinerU OCR 轮询等。

环境变量类型默认值说明
AIVORY_RAG_EMBEDDING_RETRY_DELAYduration1s嵌入批次重试之间指数退避的基础延迟,按 2^min(尝试次数,4) 放大。
AIVORY_RAG_EMBEDDING_RETRY_DELAY_2duration30s计算出的嵌入重试退避延迟的上限。
AIVORY_RAG_EMBEDDING_RETRY_DELAY_3duration1000ms为每次嵌入重试退避延迟添加的随机抖动范围,用于打散并发批次的同步性。
AIVORY_RAG_DASH_SCOPE_EMBED_CONCURRENCYint2当供应商为 DashScope 时,每个文档并发的上游嵌入批次数上限。
AIVORY_RAG_DASH_SCOPE_GLOBAL_EMBED_CONCURRENCYint2进程级并发 DashScope 嵌入请求数上限(共享槽位信号量的容量)。
AIVORY_RAG_DASH_SCOPE_EMBED_ATTEMPT_TIMEOUTduration60sDashScope 嵌入调用的单次尝试请求超时,设在客户端 3 分钟上限之下,使卡住的调用可见地失败。
AIVORY_RAG_EMBED_CONCURRENCYint4非 DashScope 供应商每个文档并发的上游嵌入批次数上限。
AIVORY_RAG_MAX_ATTEMPTSint2单个嵌入批次 POST 在放弃前的最大尝试次数(瞬时失败时带退避重试)。
AIVORY_RAG_PDF_INSPECTION_TIMEOUTduration8s父进程对子进程 PDF 文本层检测探针强制施加的截止时间,到期即将其杀掉。
AIVORY_RAG_OFFICE_XML_ZIP_ENTRY_READ_CAPint6416777216Office 纯文本提取时,读取每个 DOCX/PPTX zip 条目(正文/页眉/页脚/幻灯片 XML)的字节上限。
AIVORY_RAG_PDF_INSPECTION_SAMPLE_LIMITint3探测 PDF 是扫描件还是原生数字文本时,均匀抽样的最大页数。
AIVORY_RAG_PDF_THIN_CHARS_PER_PAGEint200低于此每抽样页字符数阈值时,含图 PDF 被标记为“文字稀疏”并转交 OCR。
AIVORY_RAG_CMD_WAIT_DELAYduration500msPDF 检测子进程上下文超时后,强制杀死前的宽限期(cmd.WaitDelay)。
AIVORY_RAG_PDF_RAW_SIGNALS_STRONG_SCAN_IMAGEint5原始字节“强扫描件”判定 imageCountN >= pagesM 中的图像数乘子,用于判定 PDF 为纯图像件。
AIVORY_RAG_PDF_RAW_SIGNALS_STRONG_SCAN_PAGEint4原始字节“强扫描件”判定 imageCountN >= pagesM 中的页数乘子,用于判定 PDF 为纯图像件。
AIVORY_RAG_MINERU_SOURCE_OBJECT_CLEANUP_TIMEOUTduration30s解析后尽力删除为 MinerU OCR 上传的桶内源对象时的超时时限。
AIVORY_RAG_MINERU_POLL_DEADLINEduration20m轮询 MinerU 抽取任务等待 done/failed 状态整个循环的总时限上限。
AIVORY_RAG_MINERUZIPCLIENT_TIMEOUTduration5m经 SSRF 防护下载 MinerU 结果 zip 的 HTTP 客户端超时。
AIVORY_RAG_FULL_MD_READ_CAP_INSIDE_ZIPint6433554432从 MinerU 结果 zip 内读取 full.md markdown 正文的字节上限。
AIVORY_RAG_MAX_ZIPint64524288000下载 MinerU 结果 zip 的字节上限;超出则拒绝而不缓冲进内存。
AIVORY_RAG_MINERUCLIENT_TIMEOUTduration5m调用 MinerU 云 API 提交、轮询、下载各次往返的 http.Client 超时。
AIVORY_RAG_MINERU_SOURCE_TTLSECONDSint3600交给 MinerU 的源文档预签名 GET URL 的有效期(秒)。
AIVORY_RAG_SPREADSHEET_PREVIEW_MAX_FILE_BYTESint6431457280python_execute 未向模型开放时,进程内解析表格并生成有限内联预览所接受的最大文件大小;更大的文件会被跳过。
AIVORY_RAG_RAG_FAST_QUEUE_CONCURRENCYint4服务文本/表格文档的“rag-fast”摄取通道的 asynq 工作并发数。
AIVORY_RAG_RAG_SLOW_QUEUE_CONCURRENCYint4服务 OCR/重型文档的“rag”慢速摄取通道的 asynq 工作并发数。
AIVORY_RAG_INGEST_PIPELINE_TIMEOUTduration70m每个文档的完整解析/嵌入摄取流水线(runIngestWithRetries)运行的上下文时限。
AIVORY_RAG_INGEST_TASK_TIMEOUTduration75mrag.ingest 任务的 asynq 单任务处理超时(asynq.Timeout)。
AIVORY_RAG_INGEST_UNIQUE_TTLduration80masynq 唯一性锁 TTL(asynq.Unique),抑制同一文档的重复入队。
AIVORY_RAG_INGEST_HEARTBEAT_INTERVALduration30s摄取心跳写入(TouchDocumentIngest)的间隔,使运行中的文档不被判为过期。
AIVORY_RAG_INGEST_STALE_AFTERduration4m解析/嵌入中的文档心跳超过此时长即视为被遗弃并回收重新入队。
AIVORY_RAG_INGEST_PENDING_STALE_AFTERdurationingestUniqueTTL仍处于“pending”的文档超过此时长即视为卡住并回收重新入队。
AIVORY_RAG_INGEST_RECOVERY_INTERVALduration1m回收过期被遗弃摄取文档的恢复循环的扫描间隔。
AIVORY_RAG_INGEST_FINALIZE_TIMEOUTduration30s终结失败摄取时,向量库 DeleteByDocument 清理的超时时限。
AIVORY_RAG_INGEST_ASYNQ_LEASE_MAX_RETRIESint1为租约/进程丢失预留的 asynq MaxRetry 次数;处理器失败在流水线内单独重试。
AIVORY_RAG_INGEST_ASYNQ_RETRY_DELAYduration2masynq 在重跑租约丢失的摄取任务前等待的延迟(RetryDelayFunc)。
AIVORY_RAG_INGEST_QUEUE_NAMEduration2s用于将文档分入快/慢摄取队列的 GetDocument 查询超时时限。
AIVORY_RAG_RUN_INGEST_WITH_RETRIESint3文档被终结为失败前,整条流水线摄取的最大尝试次数。
AIVORY_RAG_RUN_INGEST_WITH_RETRIES_2duration3s整条流水线摄取重试之间的基础退避,按尝试次数递乘。
AIVORY_RAG_START_INGEST_HEARTBEATduration5s每次摄取心跳写入(TouchDocumentIngest)的超时时限。
AIVORY_RAG_FINALIZE_CHUNK_CLEANUP_TIMEOUTduration10s终结失败摄取时,DeleteChunksByDocument 清理的超时时限。
AIVORY_RAG_FINALIZE_STATUS_TIMEOUTduration10s将失败文档标记为“failed”的终态 UpdateDocumentStatus 写入的超时时限。
AIVORY_RAG_DENSE_SEARCH_LEG_LIMITint30混合检索中稠密/向量分支(vec.Search)请求的 Top-N 命中数。
AIVORY_RAG_KEYWORD_SEARCH_LEG_LIMITint30混合检索中关键词分支(vec.SearchKeyword)请求的 Top-N 命中数。
AIVORY_RAG_SNIPPET_OFint240调用方未指定上限时,结果摘要的默认字节长度上限(按 rune 安全截断)。
AIVORY_RAG_SPLIT_PARAGRAPHS_AND_TABLESint800低于此字节长度的图像 markdown 段落被作为单个原子块保留而不再拆分。
AIVORY_RAG_ROUTER_CALL_TIMEOUTduration12s首 token 热路径上任务路由 JSON LLM 调用(task.router)在回退到普通检索前的超时时限。
AIVORY_RAG_MAP_REDUCE_SUMMARISEint200map-reduce 分组摘要提示中向任务模型要求的中文字数上限(≤N 字)。
AIVORY_RAG_COLLECT_DOC_HINTSint120路由器文档提示行中为消解指代而保留的每个文档正文的前导字节数。
AIVORY_RAG_COLLECT_DOC_HINTS_2int12为检索路由器收集的每文档提示行的最大数量。
AIVORY_RAG_RETRIEVAL_NEIGHBOR_CHUNKSint1每个检索命中的子块,从同一父块按文档顺序额外带入的相邻子块数量。
AIVORY_RAG_FUSE_RECIPROCAL_RANKint60融合向量与关键词两路检索的倒数排名融合公式 1/(rank+k) 中的排名常数 k。
AIVORY_RAG_RETRIEVED_SNIPPET_CHARSint2000expandHit 在注入前围绕每个检索命中块构建的上下文窗口字节预算。
AIVORY_RAG_CHILD_TARGET_CHARSint2000合并切分原子单元时每个嵌入子块所趋向的目标字节长度。
AIVORY_RAG_PARENT_TARGET_CHARSint4800父级章节正文为检索时上下文而被截断的字节长度。
AIVORY_RAG_CHUNK_OVERLAP_CHARSint250作为滑动窗口重叠而加到下一个子块前面的上一子块尾部字节数。
AIVORY_RAG_MAPREDUCE_GROUPTOKENSint6000对超预算语料做 map-reduce 摘要时每个块分组的估算 token 预算。
AIVORY_RAG_MAPREDUCE_MAXGROUPSint8map-reduce 摘要器对单次查询处理的块分组最大数量。
AIVORY_RAG_BATCH_SIZEint64管理端重建向量时每次 Embed 调用嵌入的块数量。
AIVORY_VECTOR_QDRANT_SCROLL_PAGE_SIZE_EXISTINGCHUNKIDSint256列出索引中已存在的块 ID 时每个 Qdrant scroll 页获取的点数量。
AIVORY_VECTOR_QDRANT_SCROLL_PAGE_SIZE_VECTORCHUNKSTATUSESint256为管理端向量状态审计扫描载荷与向量时每个 Qdrant scroll 页获取的点数量。
AIVORY_VECTOR_DELETE_CONCURRENCYint4跨所有维度清除某文档的点时按集合并发删除请求的最大数量。

3. 沙盒代码执行

python_execute 沙盒。Go 侧变量需重启 API 进程生效;SANDBOX_* 变量作用于 sandbox-service 进程,需重启该服务生效。Runner 网络不是可配置项:每个 session 都固定使用 Docker --network none。所需 Python 依赖必须预装进 runner 镜像,不提供 SANDBOX_NETWORK 作为运行时下载的逃生开关。

环境变量类型默认值说明
SANDBOX_MAX_OUTPUT_BYTESint32768沙箱截断所捕获的 exec stdout/stderr 流的字节上限。
SANDBOX_MAX_ARTIFACT_BYTESint20971520沙箱收集单个产出文件的最大字节大小。
SANDBOX_S3_MAX_ATTEMPTSint3限定每次 S3 存储 SDK 调用的 botocore max_attempts 重试次数。
SANDBOX_S3_CONNECT_TIMEOUT_Sfloat10应用于每次 S3 存储 SDK 调用的连接超时(秒)。
SANDBOX_S3_READ_TIMEOUT_Sfloat120应用于每次 S3 存储 SDK 调用的读取超时(秒)。
SANDBOX_OSS_CONNECT_TIMEOUT_Sfloat30阿里云 OSS bucket 客户端的连接超时(秒)。
AIVORY_SANDBOX_MAX_SANDBOX_RESP_BYTESint64268435456每次 exec 调用解码的 sidecar HTTP 响应体字节上限,防止 API 进程 OOM。
AIVORY_SANDBOX_EXEC_CLIENT_OVERHEADduration120s在每次 exec 上限之上追加的时长,用于设定沙箱 HTTP 客户端超时,以覆盖 sidecar 截止后的收尾工作。
AIVORY_SANDBOX_SANDBOX_ERROR_BODY_READ_CAPint6465536读取 4xx/5xx sidecar 错误响应体用于错误信息的字节上限。

4. 内置工具(搜索 / Python / 网络安全)

aivory_web_search 结果条数与超时、Python 安全模式、SSRF / 网络安全护栏等。

环境变量类型默认值说明
AIVORY_TOOLS_IN_TOP_Kint5模型调用未指定 top_k 时 aivory_web_search 工具的默认结果数量。
AIVORY_TOOLS_WEB_FETCH_RESPONSE_BODY_READ_CAPint64262144web_fetch 在剥离 HTML 前读取的 HTTP 响应体字节上限。
AIVORY_TOOLS_WEB_FETCH_EXTRACTED_TEXT_CHAR_CAPint32000web_fetch 剥离 HTML 后的文本在以省略标记截断前的字符上限。
AIVORY_TOOLS_PYTHON_EXECUTE_UPLOAD_STAGING_FILE_SIZEint6441943040向 python 沙箱暂存文件时,超过该值则跳过某个会话上传文件的单文件大小上限。调高时还需确保 sidecar 的 SANDBOX_MAX_UPLOAD_BYTESSANDBOX_MAX_BODY_BYTES 足够大。
AIVORY_TOOLS_PYTHON_EXECUTE_STDOUT_STDERR_TRUNCATION_CAPint32768python_execute 的 stdout/stderr 在呈现给模型前截断的字符上限。
AIVORY_TOOLS_IN_Nint4单次 image_generate 调用可请求的最大图像数量。
AIVORY_TOOLS_IN_SIZEstring""image_generate 未指定尺寸时使用的可选覆盖值。留空则由供应商自动决定;GPT 图片编辑会在可解析时推断最接近的受支持比例。
AIVORY_TOOLS_DAILY_IMAGE_LIMIT_RESET_WINDOWduration24h计算每用户图像生成配额账本起始边界时对 Now() 取整的时间窗口。
AIVORY_TOOLS_IMAGE_IMAGE_INPUT_IMAGE_CAPint0图生图参考图片数量的全局覆盖值。0 表示按模型选择上限(DALL-E 1 张、OpenAI 16 张、Gemini 3 系列 14 张、其他 Gemini 3 张)。
AIVORY_TOOLS_FETCHREMOTEIMAGE_DOWNLOAD_CAPint6433554432通过 SSRF 安全客户端下载图像 API 响应中返回的图像 URL 的字节上限。
AIVORY_TOOLS_CONFIDENCEfloat0.95save_memory 工具创建的每条记忆记录上存储的置信度分数。

5. 会话 / 消息 / 流式 API

SSE 心跳、流恢复窗口、生成时长上限、分页与搜索上限、消息路径缓存等。

环境变量类型默认值说明
AIVORY_API_LIMIT_2int200list-conversations 接口在请求未提供 limit 参数时的默认分页大小。
AIVORY_API_LIMIT_3int500会话列表接口 ?limit 查询参数的硬性上限,超出即钳制到此值。
AIVORY_API_SEARCH_MESSAGE_HIT_LIMITint40会话搜索接口返回的消息正文命中数上限(标题命中另有单独上限)。
AIVORY_API_IMPORT_MAX_CONVERSATIONSint1000单次导入请求可创建的会话数上限,超出则拒绝导入。
AIVORY_API_IMPORT_MAX_MESSAGES_PER_CONVint10000导入请求中单个会话允许的消息数上限,超出则拒绝导入。
AIVORY_API_IMPORT_MAX_CONTENT_BYTESint204800导入时单条消息正文的字节上限,超出部分按此字节数截断。
AIVORY_API_INLINE_THREAD_QUOTE_CAPint4000创建行内子话题时引用文本的最大字符(rune)长度,超出则截断。
AIVORY_API_GETCONVERSATION_ACTIVE_PATH_LIMITint200获取会话时活动路径分页 ?limit 参数的上限;超过则返回完整路径。
AIVORY_API_LIMIT_4int30消息列表接口未提供 ?limit 时的默认尾部窗口分页大小。
AIVORY_API_LISTMESSAGES_PAGE_LIMITint200消息列表接口 ?limit 参数可接受的最大值;超出则沿用默认分页大小。
AIVORY_API_RATE_LIMIT_USERint20每用户限流额度:每分钟允许的知识库文档上传次数上限,超出返回 429。
AIVORY_API_CONFIDENCEfloat0.95用户手动创建的记忆条目所存储的置信度分值(0-1 区间)。
AIVORY_API_MAX_GEN_DURATIONduration90m单次分离式生成回合的挂钟超时上限,超时后取消其上下文。
AIVORY_API_SSE_PING_HEARTBEAT_POSTduration15s发送消息流式接口上 SSE 保活 ping 的发送间隔。
AIVORY_API_SSE_PING_HEARTBEAT_REGENERATEduration15s重新生成消息流式接口上 SSE 保活 ping 的发送间隔。
AIVORY_API_SSE_PING_HEARTBEAT_STREAMduration15s流重连(attach)接口上 SSE 保活 ping 的发送间隔。
AIVORY_API_STREAM_STATUS_RECHECK_INTERVALduration5s流重连处理器重新轮询消息生成状态以检测终态的间隔。
AIVORY_API_STREAM_REPLAY_BATCH_SIZEint200重连 SSE 流回放/追赶时每批读取的缓冲流事件数量。
AIVORY_API_ONLINE_PRESENCE_TOUCH_THROTTLEduration1m用户在线状态 seen 触达之间的节流间隔,即 seen 缓存标记的 TTL。
AIVORY_API_CONCURRENT_GEN_SLOT_SAFETY_TTLduration30m每用户并发生成槽计数器的安全 TTL,使失效的占用槽自动过期。
AIVORY_API_REQUEST_SIGNATURE_REPLAY_WINDOW_FUTUREint64300请求签名防重放:X-Req-Ts 时间戳落后服务器时间的最大秒数,超出则视为过期拒绝。
AIVORY_API_REQUEST_SIGNATURE_REPLAY_WINDOW_PASTint6460请求签名防重放:X-Req-Ts 时间戳领先服务器时间的最大秒数(时钟偏移容忍),超出则拒绝。
AIVORY_API_CREDIT_MULTIPLIERfloat5.0将模型输入+输出合计价格换算为选择器中相对积分倍率的除数。
AIVORY_API_JSON_REQUEST_BODY_SIZE_CAPint644194304JSON 请求体可接受的最大字节数,超出由 MaxBytesReader 拒绝。
AIVORY_API_PROJECT_DETAIL_CONVERSATIONS_PAGE_SIZEint200项目详情响应中加载的活动会话数量(获取上限,偏移为 0)。
AIVORY_API_RATE_LIMIT_USER_2int20每用户限流额度:每分钟允许的项目文档上传次数上限,超出返回 429。
AIVORY_API_RATE_LIMIT_REGISTER_MAXint5POST /api/auth/register 的每 IP 限流额度:每个窗口内允许的最大注册尝试次数,超出返回 429。
AIVORY_API_RATE_LIMIT_REGISTER_WINDOWduration60sPOST /api/auth/register 每 IP 限流的滚动窗口时长。
AIVORY_API_RATE_LIMIT_LOGIN_MAXint10POST /api/auth/login 的每 IP 限流额度:每个窗口内允许的最大登录尝试次数,超出返回 429。
AIVORY_API_RATE_LIMIT_LOGIN_WINDOWduration60sPOST /api/auth/login 每 IP 限流的滚动窗口时长。
AIVORY_API_RATE_LIMIT_LOGIN_2FA_MAXint10POST /api/auth/login/2fa 的每 IP 限流额度:每个窗口内允许的最大两步验证尝试次数,超出返回 429。
AIVORY_API_RATE_LIMIT_LOGIN_2FA_WINDOWduration60sPOST /api/auth/login/2fa 每 IP 限流的滚动窗口时长。
AIVORY_API_RATE_LIMIT_LOGOUT_MAXint30POST /api/auth/logout 的每 IP 限流额度:每个窗口内允许的最大登出请求次数,超出返回 429。
AIVORY_API_RATE_LIMIT_LOGOUT_WINDOWduration60sPOST /api/auth/logout 每 IP 限流的滚动窗口时长。
AIVORY_API_RATE_LIMIT_REFRESH_MAXint30POST /api/auth/refresh 的每 IP 限流额度:每个窗口内允许的最大令牌刷新请求次数,超出返回 429。
AIVORY_API_RATE_LIMIT_REFRESH_WINDOWduration60sPOST /api/auth/refresh 每 IP 限流的滚动窗口时长。
AIVORY_API_RATE_LIMIT_VERIFY_EMAIL_MAXint10POST /api/auth/verify-email 的每 IP 限流额度:每个窗口内允许的最大邮箱验证尝试次数,超出返回 429。
AIVORY_API_RATE_LIMIT_VERIFY_EMAIL_WINDOWduration5mPOST /api/auth/verify-email 每 IP 限流的滚动窗口时长。
AIVORY_API_RATE_LIMIT_SEND_CODE_MAXint3每 IP 在窗口内对 POST /api/auth/send-code(发送登录/验证码邮件)接口的最大请求数。
AIVORY_API_RATE_LIMIT_SEND_CODE_WINDOWduration60s统计每 IP 对 /api/auth/send-code 发码接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_FORGOT_PASSWORD_MAXint5每 IP 在窗口内对 POST /api/auth/forgot-password(触发密码重置邮件)接口的最大请求数。
AIVORY_API_RATE_LIMIT_FORGOT_PASSWORD_WINDOWduration15m统计每 IP 对 /api/auth/forgot-password 接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_RESET_PASSWORD_MAXint5每 IP 在窗口内对 POST /api/auth/reset-password(凭码重置密码)接口的最大请求数。
AIVORY_API_RATE_LIMIT_RESET_PASSWORD_WINDOWduration60s统计每 IP 对 /api/auth/reset-password 接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_CAPTCHA_ISSUE_MAXint20每 IP 在窗口内对 GET /api/public/captcha(签发滑块验证码挑战)接口的最大请求数。
AIVORY_API_RATE_LIMIT_CAPTCHA_ISSUE_WINDOWduration60s统计每 IP 对 GET /api/public/captcha 挑战签发接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_CAPTCHA_VERIFY_MAXint20每 IP 在窗口内对 POST /api/public/captcha/verify(校验验证码答案)接口的最大请求数。
AIVORY_API_RATE_LIMIT_CAPTCHA_VERIFY_WINDOWduration60s统计每 IP 对 /api/public/captcha/verify 答案校验接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_FIRST_RUN_SETUP_MAXint10每 IP 在窗口内对 POST /api/setup(首次运行创建首个管理员)接口的最大请求数。
AIVORY_API_RATE_LIMIT_FIRST_RUN_SETUP_WINDOWduration60s统计每 IP 对 POST /api/setup 首次运行引导接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_PUBLIC_SHARED_CONVERSATION_MAXint60每 IP 在窗口内对 GET /api/public/shared/:token(免登录查看分享会话)接口的最大请求数。
AIVORY_API_RATE_LIMIT_PUBLIC_SHARED_CONVERSATION_WINDOWduration60s统计每 IP 对 /api/public/shared/:token 分享查看接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_SHARED_ASSETS_FILES_ARTIFACTS_MAXint240每 IP 在窗口内对分享会话的文件与产物(artifact)资源路由的最大请求数。
AIVORY_API_RATE_LIMIT_SHARED_ASSETS_FILES_ARTIFACTS_WINDOWduration60s统计每 IP 对分享会话文件/产物资源路由请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_OAUTH_START_CALLBACK_HANDOFF_MAXint20每 IP 在窗口内对 OAuth 发起、回调与跨域交接路由的最大请求数。
AIVORY_API_RATE_LIMIT_OAUTH_START_CALLBACK_HANDOFF_WINDOWduration60s统计每 IP 对 OAuth 发起/回调/交接路由请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_PASSWORD_CHANGE_SET_MAXint5每 IP 在窗口内对 /api/me/password 改密与 /api/me/password/set 设密接口的最大请求数。
AIVORY_API_RATE_LIMIT_PASSWORD_CHANGE_SET_WINDOWduration60s统计每 IP 对 /api/me/password 改密/设密接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_IDENTITY_LINK_START_MAXint20每 IP 在窗口内对 POST /api/me/identities/:id/link(发起 OAuth 账号关联)接口的最大请求数。
AIVORY_API_RATE_LIMIT_IDENTITY_LINK_START_WINDOWduration60s统计每 IP 对 OAuth 身份关联发起接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_2FA_SETUP_ENABLE_DISABLE_MAXint10每 IP 在窗口内对 /api/me/2fa 的 setup、enable、disable 各接口的最大请求数。
AIVORY_API_RATE_LIMIT_2FA_SETUP_ENABLE_DISABLE_WINDOWduration5m统计每 IP 对 2FA setup/enable/disable 接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_REDEEM_CODE_MAXint10每 IP 在窗口内对 POST /api/me/redeem(兑换码兑换)接口的最大请求数。
AIVORY_API_RATE_LIMIT_REDEEM_CODE_WINDOWduration60s统计每 IP 对 /api/me/redeem 兑换接口请求数的固定时间窗。
AIVORY_API_RATE_LIMIT_WORKSPACE_JOIN_MAXint30每 IP 在窗口内对 /api/workspaces/join/:token(邀请信息与加入)接口的最大请求数。
AIVORY_API_RATE_LIMIT_WORKSPACE_JOIN_WINDOWduration60s统计每 IP 对 /api/workspaces/join/:token 接口请求数的固定时间窗。
AIVORY_API_SELF_USAGE_LOOKBACK_WINDOWint30GET /api/me/usage 统计调用者自身消息数时回溯的天数。
AIVORY_API_LIMITint200管理端工作区列表接口在请求未带 ?limit 时返回的默认最大工作区数。
AIVORY_API_ADMIN_WORKSPACE_DETAIL_CONVERSATIONS_PAGE_SIZEint500管理端工作区详情(triage)视图加载的会话数量上限。
AIVORY_QUEUE_IN_PROCESS_WORKERSint8进程内后台任务池的并发 worker 协程数量。
AIVORY_QUEUE_PROCESS_JOB_BUFFERint256进程内任务通道的缓冲槽位数;缓冲满时 Enqueue 将新任务转入退避回退路径执行。
AIVORY_QUEUE_QUEUE_BACKPRESSURE_JOB_TIMEOUTduration30m进程内任务缓冲满时经退避回退协程执行的任务的上下文超时。
AIVORY_QUEUE_QUEUE_WORKER_JOB_TIMEOUTduration30m进程内队列 worker 执行每个任务时施加的上下文超时。

6. 认证 / 会话 / 验证码

令牌缓存、验证码有效期与尝试次数、TOTP 时窗、OAuth state TTL 等(不含约定俗成的格式常量,如验证码位数)。

环境变量类型默认值说明
AIVORY_API_MAX_CODE_ATTEMPTSint5对邮寄的验证/重置验证码允许的错误尝试次数,达到后即作废该码。
AIVORY_API_CODE_FAILURE_COUNTER_TTLduration10m按邮箱记录验证/重置码错误尝试次数的计数器的存活时长(TTL)。
AIVORY_API_MINIMUM_PASSWORD_LENGTHint8注册及修改密码时用户自选账户密码所需的最小字符长度。
AIVORY_API_EMAIL_VERIFICATION_CODE_TTLduration10m邮件发送的账户邮箱验证码的有效期。
AIVORY_API_PASSWORD_RESET_CODE_TTLduration10m邮件发送的密码重置验证码的有效期。
AIVORY_API_CAP_TOLfloat0.025滑块验证码通过时,提交的滑动比例与真实缺口比例之间允许的误差。
AIVORY_API_CAPTCHA_CHALLENGE_CACHE_TTLduration2m未解答的滑块拼图验证码挑战在缓存中保持有效的时长。
AIVORY_API_CAPTCHA_PASS_TTLduration10m证明近期已通过验证码的签名通行令牌的有效期。
AIVORY_API_OAUTH_2FA_HANDOFF_COOKIE_TTLduration300sOAuth 登录后将两步验证登录票据传给前端的短时 HttpOnly Cookie 的 Max-Age。
AIVORY_API_OAUTH_STATE_CACHE_TTLduration10m作为 CSRF 防护的 OAuth 授权流程 state 缓存条目的有效期。
AIVORY_API_OAUTH_TOKEN_EXCHANGE_CONTEXT_TIMEOUTduration40sOAuth 回调中授权码换取令牌(包括一次瞬时网络故障重试)及拉取用户信息的超时上限。
AIVORY_API_OAUTH_CROSS_DOMAIN_HANDOFF_TOKEN_TTLduration60s前端用以换取会话的一次性跨域 OAuth 交接令牌的有效期。
AIVORY_API_2FA_LOGIN_TICKET_BURN_THRESHOLDint645针对某个两步验证登录票据允许的错误 TOTP 验证码次数,达到即作废该票据。
AIVORY_API_ISSUE_TWOFA_TICKETduration5m密码正确后、待输入 TOTP 验证码期间所签发的两步验证登录票据的有效期。
AIVORY_OAUTH_APPLE_CLIENT_SECRET_JWT_EXPIRYduration30m生成的 Apple OAuth 客户端密钥 JWT 的有效期。

7. 上传 / 文件 / 分享

图片处理、存储清理周期、直传分片、分享令牌、下载缓存 TTL 等。

环境变量类型默认值说明
AIVORY_API_ADMIN_ICON_UPLOAD_SIZEint64262144管理员上传的模型图标图片所接受的最大字节数。
AIVORY_API_AUDIO_TRANSCRIPTION_UPSTREAM_HTTP_TIMEOUTduration120s将音频转发至上游转写 API 的 HTTP 请求的超时时间。
AIVORY_API_AUDIO_TRANSCRIPTION_USER_RATE_LIMITint20单个用户每分钟可发起的音频转写请求数上限。
AIVORY_API_TRANSCRIPTION_UPSTREAM_RESPONSE_READ_CAPint641048576读取上游转写响应到内存的字节上限。
AIVORY_API_AUDIO_STREAM_USER_RATE_LIMITint30单个用户每分钟可发起的实时语音流式(WebSocket)会话数上限。
AIVORY_API_AUDIO_STREAM_MAX_BYTESint6425165824单次实时语音流式会话允许中继的音频字节数上限,超出即断开连接。
AIVORY_API_AUDIO_STREAM_MAX_SESSIONduration15m单次实时语音流式会话(麦克风 → 火山 ASR 中继)的硬性时长上限。
AIVORY_ASR_DEBUGboolfalse记录每个解码后的火山 ASR 返回帧(消息码、末包标记、转写文本长度、原始 JSON 负载),用于排查实时转写问题。默认关闭——原始负载含用户语音内容,需显式开启。
AIVORY_API_UPLOAD_RATE_LIMIT_MAXint20上传限流窗口内单个用户可进行的文件上传次数上限。
AIVORY_API_UPLOAD_RATE_LIMIT_WINDOWduration1m对用户文件上传进行限流计数的时间窗口。
AIVORY_API_OBJECT_STORAGE_DELETE_TIMEOUT_CLEANUPduration30s存储清理时从对象存储删除单个孤立文件的超时时间。
AIVORY_STORAGE_S3_DIRECT_UPLOAD_MIN_CLIENT_TIMEOUTduration20m直传 S3/OSS 上传所需的最小 HTTP 客户端超时;复用的客户端低于此值时会新建一个。
AIVORY_STORAGE_DIRECT_S3_OSS_UPLOAD_HTTP_CLIENTduration20m复用客户端超时过短时,为直传 S3/OSS 上传新建的 HTTP 客户端的超时时间。
AIVORY_STORAGE_ALIYUN_OSS_CLIENT_CONNECT_READ_TIMEOUTS_CONNECTint6430直传所用阿里云 OSS 客户端的连接超时(秒)。
AIVORY_STORAGE_ALIYUN_OSS_CLIENT_CONNECT_READ_TIMEOUTS_RWint64300直传所用阿里云 OSS 客户端的读写超时(秒)。
AIVORY_STORAGE_PRESIGN_URL_TTLduration1h调用方未指定有效期时,为直传预签名 GET URL 应用的过期时间。
AIVORY_STORAGE_PRESIGN_URL_TTL_CLAMP_CEILINGduration24h钳制调用方请求的直传预签名 GET URL 有效期的上限。
AIVORY_STORAGE_SIDECAR_STORAGE_CLIENT_HTTP_TIMEOUTduration5m调用沙箱 sidecar 对象存储 put/delete 接口的 HTTP 往返超时。

8. 管理后台任务(备份 / 向量维护 / 兑换码)

备份大小上限与异步轮询、向量维护批量、兑换码上限等。

环境变量类型默认值说明
AIVORY_API_BACKUP_EXPORT_JOB_HISTORY_RETENTIONint20内存历史中保留的过往备份导出任务记录数量,超出后修剪最旧的记录。
AIVORY_API_BACKUP_EXPORT_JOB_RUNTIMEduration12h后台备份导出任务被取消前允许的最长实际运行时间。
AIVORY_API_CONFIG_IMPORT_MULTIPART_MEMORY_BUFFERint6416777216解析管理员配置导入 multipart 上传的内存缓冲区;超出部分溢写到临时文件。
AIVORY_API_BACKUP_IMPORT_MULTIPART_MEMORY_BUFFERint6433554432解析完整备份导入 multipart 上传的内存缓冲区;超出部分溢写到临时文件。
AIVORY_API_MAX_CONFIG_SIZEint64536870912导入管理员配置归档时接受的最大请求体大小。
AIVORY_API_QDRANT_ARCHIVE_REQUEST_TIMEOUTduration5m导出或导入备份归档时调用 Qdrant 的单次 HTTP 请求超时。
AIVORY_API_QDRANT_EXPORT_SCROLL_PAGE_SIZEint256导出 Qdrant 集合到归档时每个 /points/scroll 页拉取的点数。
AIVORY_API_QDRANT_IMPORT_UPSERT_FLUSH_BATCH_SIZEint128导入 Qdrant 集合时,每批累积到该点数即刷写一次 upsert。
AIVORY_API_ADMIN_USER_LIST_PAGE_SIZE_CAPint50管理员用户列表接口在请求未显式指定 limit 时的默认返回条数。
AIVORY_API_ADMIN_CREATED_USER_MIN_PASSWORD_LENGTHint8管理员创建用户账户时强制的最小密码长度。
AIVORY_API_ADMIN_PASSWORD_RESET_MIN_LENGTHint8管理员重置用户密码接口中新密码所需的最小字符长度。
AIVORY_API_ADMIN_USER_CONVERSATIONS_LISTING_CAPint500管理员查看单个用户会话(用于支持/滥用排查)时返回的最大会话数。
AIVORY_API_USAGE_REPORT_PAGE_SIZE_CAPint50管理员用量记录报表在请求的 page_size 缺失或超出 1-200 范围时采用的默认每页条数。
AIVORY_API_ANALYTICS_WINDOWint30管理员分析看板在未提供 days 查询参数时的默认回溯窗口(天)。
AIVORY_API_ANALYTICS_WINDOW_2int365管理员分析窗口 days 查询参数可接受的天数上限,超出范围的值将被忽略。
AIVORY_STORE_ADMIN_USAGE_RECORDS_LIMITint500AdminUsageRecords 接受的最大正数分页 limit;超过该值时回退到 AIVORY_STORE_ADMIN_USAGE_RECORDS_LIMIT_2,而不是钳制到上限。
AIVORY_STORE_ADMIN_USAGE_RECORDS_LIMIT_2int50AdminUsageRecords 收到 limit 小于等于 0 或超过 AIVORY_STORE_ADMIN_USAGE_RECORDS_LIMIT 时使用的回退分页大小。
AIVORY_STORE_USAGE_TREND_WINDOWint7仅当 days 小于等于 0 时 AdminUsageTrend 使用的默认回溯天数;调用 AdminUsageTrendBetween 时由调用方明确传入边界。
AIVORY_STORE_USAGE_TREND_HOURLY_BUCKET_THRESHOLDint2UsageBucketWidth 对小于等于该阈值的天数窗口按小时分桶;其余窗口中,超过 90 天按周分桶,剩余按天分桶。
AIVORY_STORE_USAGE_TOTALS_WINDOWint7仅当 days 小于等于 0 时 AdminUsageTotals 使用的默认回溯天数;调用 AdminUsageTotalsBetween 时由调用方明确传入边界。
AIVORY_STORE_USAGE_BREAKDOWN_TOP_Nint8仅当 limit 等于 0 时 AdminUsageBreakdownBetween 使用的默认返回条数;负数 limit 返回全部。当前主管理员分析路由传入 -1,因此绕过此上限。
AIVORY_STORE_USAGE_BREAKDOWN_WINDOWint7仅当 days 小于等于 0 时 AdminUsageBreakdown 使用的默认回溯天数;调用 AdminUsageBreakdownBetween 时由调用方明确传入边界。
AIVORY_STORE_USAGE_SERIES_WINDOWint7仅当 days 小于等于 0 时 AdminUsageSeries 使用的默认回溯天数;当前主管理员分析路由不调用这一旧时间序列包装函数。
AIVORY_API_BULK_REDEEM_CODE_GENERATION_QUANTITYint1000单次批量生成请求可铸造的最大兑换码数量。
AIVORY_API_MAX_SKILL_ASSET_BYTESint6420971520单个技能资源文件(模板/脚本/小型数据)上传的最大字节数。
AIVORY_API_VECTOR_MAINTENANCE_JOB_HISTORY_RETENTIONint20向量维护任务历史在内存中保留的最近任务数,更早的会被丢弃。
AIVORY_API_VECTOR_MAINTENANCE_JOB_RUNTIMEduration12h单次向量维护任务运行(索引审计或重建)在被取消前的上下文超时时间。

9. 服务器启动 / 配置加载

HTTP server 超时、优雅关闭、启动流程常量等。

环境变量类型默认值说明
VECTOR_BACKENDstring"auto"选择进程启动时使用的向量后端。auto 保持兼容行为:设置了 QDRANT_URL 就使用 Qdrant,否则关闭向量检索并使用全文上下文回退;qdrant 要求同时设置 QDRANT_URLsqlite 要求 DATABASE_URL 不是 PostgreSQL,并启用 SQLite 内嵌精确余弦检索;disabled 始终关闭向量检索。值或组合无效时会输出明确错误并拒绝启动。
AIVORY_CMD_ARCHIVE_GC_BOOT_SETTLE_DELAYduration2m服务器启动后到首次归档工作区 GC 清扫之间的延迟,避免冷启动时立即清扫。
AIVORY_CMD_RUN_PRUNEduration5m单次归档工作区 GC 清理(针对对象存储)运行的上下文超时时间。
AIVORY_CMD_ARCHIVE_GC_SWEEP_INTERVALduration6h归档工作区 GC 清扫之间的间隔,用于从对象存储删除过期的 /workspace 归档包。

当前版本补充变量

以下变量属于当前运行时支持范围,但不在早期调优表中。除网页抓取的 Jina 回退开关和地址在每次抓取时读取外,它们均在 app 启动时读取并在重启后生效。

环境变量类型默认值说明
AIVORY_API_EVENTS_HEARTBEATduration25s实时 SSE 连接发送保活注释的间隔;过长可能被代理断开,过短会增加连接开销。
AIVORY_API_EVENTS_MAX_CONNS_PER_USERint16单个用户可同时保留的实时事件连接数;达到上限时会淘汰最旧连接。
AIVORY_API_EVENTS_CONN_BUFFERint16每个实时事件连接的缓冲消息数;缓冲满时事件会丢弃,客户端会在下一次刷新或重连时补偿。
AIVORY_API_RATE_LIMIT_PAYMENT_CHECKOUT_MAXint15每 IP 在支付结算限流窗口内允许的最大请求数。
AIVORY_API_RATE_LIMIT_PAYMENT_CHECKOUT_WINDOWduration60s支付结算限流窗口。
AIVORY_API_RATE_LIMIT_PAYMENT_WEBHOOK_MAXint600每 IP 在支付 webhook 限流窗口内允许的最大请求数;应同时依赖服务商签名校验。
AIVORY_API_RATE_LIMIT_PAYMENT_WEBHOOK_WINDOWduration60s支付 webhook 限流窗口。
AIVORY_API_USER_DELETE_JOB_RUNTIMEduration2h异步删除用户任务的总运行上限。
AIVORY_API_USER_DELETE_FINAL_CLEANUP_TIMEOUTduration1h用户删除阶段对文件、对象和其他物理资源清理的独立时间预算。
AIVORY_API_USER_DELETE_CONV_BATCHint200异步删除用户时每批处理的会话数量;调大可提高吞吐,也会增加 SQLite/数据库锁定压力。
AIVORY_API_USER_DELETE_USAGE_BATCHint10000异步删除用户时每批清理的用量记录数量。
AIVORY_API_USER_DELETE_JOB_HISTORY_RETENTIONint20内存中保留的已完成用户删除任务记录数。
AIVORY_API_USER_DELETE_PROGRESS_EVERYint50用户删除任务更新进度的处理间隔。
AIVORY_LLM_PER_TURN_TOOL_LIMITS_FETCH_IMAGEint16普通模式下每条消息最多调用 fetch_image 的次数。
AIVORY_LLM_DEEP_RESEARCH_TOOL_LIMITS_FETCH_IMAGEint12深度研究模式下每条消息最多调用 fetch_image 的次数。
AIVORY_LLM_TOOL_TIMEOUTS_FETCH_IMAGEduration45s单次 fetch_image 工具调用的超时上限。
AIVORY_RAG_SPREADSHEET_INDEX_MAX_FILE_BYTESint6431457280进入知识库索引的 CSV/TSV/XLSX/XLSM 文件最大大小,默认 30 MiB。
AIVORY_RAG_SPREADSHEET_INDEX_MAX_ROWSint2000单个表格索引时最多读取的行数。
AIVORY_RAG_SPREADSHEET_INDEX_MAX_COLSint128单个表格索引时最多读取的列数。
AIVORY_RAG_SPREADSHEET_INDEX_MAX_SHEETSint32单个工作簿最多处理的工作表数。
AIVORY_RAG_SPREADSHEET_INDEX_MAX_TEXT_BYTESint4194304表格提取文本写入索引前的最大字节数,默认 4 MiB;超出部分会明确标记为截断。
AIVORY_TOOLS_WEB_FETCH_DIRECT_TIMEOUTduration12s网页抓取直连目标站点的单次尝试超时。
AIVORY_TOOLS_WEB_FETCH_JINA_FALLBACKbooltrue直连网页抓取失败时是否使用 Jina Reader 回退;关闭可减少向第三方发送 URL 的范围。
AIVORY_TOOLS_WEB_FETCH_JINA_BASEstringhttps://r.jina.aiJina Reader 回退服务基础地址;只应指向受控、可信的兼容服务。
AIVORY_TOOLS_WEB_FETCH_JINA_URL_MODEstringescaped目标 URL 追加到 Reader 基址的方式。Jina Reader 使用 escapedhttps://markdown.new 等兼容服务使用 raw;未知值按 escaped 处理。
AIVORY_PDF_INSPECTION_TEST_SLEEPstring未设置仅用于自动化测试中模拟 PDF 检查延迟;生产运行不应设置,也不会改善解析性能。