Skip to main content
所有配置都通过 .env 完成。复制 example.env 并填入你的值:

配置级别

每个集成都有一个配置级别,表示其重要性:
注意:管理员配置的模型(管理员 → 模型页面)可以替代 LLM 环境变量。健康检查会考虑两个来源。

前端(仅本地开发)

前端有一个仅用于本地开发的独立环境文件:frontend/.env.local
此文件在 Docker 中不使用。 在 Docker 容器内,Next.js 在内部将 /api/* 代理到 Python 后端(端口 8000 是容器内部的),因此不需要前端环境文件。
对于本地开发,默认设置开箱即用 — 除非你的后端运行在非默认端口,否则不需要创建 frontend/.env.local 如果需要覆盖,请手动创建 frontend/.env.local
构建时注意NEXT_PUBLIC_* 变量在 pnpm build 时被烘焙到 JS 包中。在运行时更改它们(例如通过根目录 .env)无效 — 这就是为什么它们仅存在于本地开发的 frontend/.env.local 中。

LLM(必需)

解析顺序:用户偏好 → 管理员模型(数据库)→ ENV 回退。如果在管理员 → 模型中配置了角色为”通用”的管理员模型,这些 ENV 变量仅作为回退。健康检查考虑两个来源。

MarkItDown OCR 分辨率

convert_to_markdown 内置工具和 RAG 摄取管道都使用 Microsoft 的 MarkItDown + 官方 markitdown-ocr 插件从文档中提取文本 — 包括在有支持视觉的 LLM 可用时对嵌入图像和扫描 PDF 页面进行 OCR。 视觉 LLM 分辨率顺序(首次匹配获胜): 推理模型永远不会被优先选择用于 OCR。 推理层级(o1o3-miniDeepSeek-R1)历来缺乏视觉支持,本身也不是 OCR 的合适工具 — OCR 是一项感知任务,而非推理任务。如果工作区仅有一个支持视觉的推理模型(supports_vision=True),它仍会通过主要 LLM 路径被选中,但解析器不会主动将其排名高于快速/通用模型。 零回归备选方案:当在任何级别都找不到支持视觉的模型时,OCR 会被静默禁用,MarkItDown 以纯文本模式运行。Word/PowerPoint/Excel 嵌入图像 OCR 变为不可用(与此功能发布前相同),但所有其他文本提取(标题、表格、段落文本)继续正常工作。不存在添加此功能使提取效果比之前行为更差的情况。 非 OpenAI 提供商(Anthropic、Google Gemini 等) 得到透明支持:解析的 LLM 被包装在 LiteLLMOpenAIShim 中,该 shim 将 chat.completions.create(...) 调用路由通过 litellm.completion(),后者处理提供商特定的消息格式转换(例如 Anthropic 的 source.type="base64" 图像块)。一个 shim 覆盖 LiteLLM 支持的每个提供商 — 添加新提供商在 FIM One 中零代码更改成本。

扩展思维(推理)

当设置 LLM_REASONING_EFFORT 时,FIM One 启用模型的扩展思维能力,使内部思维链在 UI 的”思维”步骤中显示。FIM One 使用 LiteLLM 自动将推理努力参数转换为每个提供商的原生格式。

支持的提供商

哪些提供商接受思考、如何启用每个提供商、它采用哪些effort值,以及推理文本最终出现在哪里,这些信息都记录在提供商能力矩阵的表C中,并带有代码锚点。该表是权威列表;本页面仅记录变量。 FIM One从LLM_BASE_URL解析提供商(加上配置时的显式提供商字段),并将请求映射到正确的API格式。未知的URL被视为OpenAI兼容。

重要注意事项

第三方代理 / 自定义端点不保证兼容。 如果您的 LLM_BASE_URL 指向第三方 API 代理(例如 OpenRouter、one-api、自定义网关),LiteLLM 将尝试根据 URL 正确路由。但是,如果您的代理需要非标准格式,推理可能无法按预期工作。请查阅代理的文档以了解其预期的参数格式。

推理时的温度约束

某些提供商在启用推理时会限制temperature这些限制都会自动强制执行;请根据您的工作负载需求设置LLM_TEMPERATURE
  • Anthropic:启用扩展思考时需要temperature=1。请求构建器会在Anthropic路由上固定该值,因此您配置的温度会被这些调用覆盖,而不是被拒绝。
  • Anthropic、严格模型(Opus 4.7和4.8、Fable 5、Mythos 5):无论是否启用思考,都会直接拒绝temperaturetop_ptop_k。FIM One会从这些模型的请求中移除temperature
  • OpenAI GPT-5.x:仅支持temperature=1。LiteLLM的drop_params过滤会移除不支持的值。
手动设置LLM_TEMPERATURE=1来满足Anthropic的要求是不必要的,这样做会让您无法在每个非思考调用上运行更低的温度。

LLM_REASONING_BUDGET_TOKENS 的工作原理

此变量仅在旧版 Anthropic 思考路径上有意义(Claude 4.5 及更早版本,路由为 anthropic/)。在该路径上,它会覆盖自动计算的预算,并作为 budget_tokensthinking 参数内发送。自适应思考模型(Opus 4.6 及更新版本、Sonnet 4.6、Fable 5、Mythos 5)采用努力级别而非预算,完全忽略此变量。未设置时,预算从 LLM_MAX_OUTPUT_TOKENS × 努力比率推导: 最小预算为 1,024 tokens(Anthropic 的硬性最低值)。 对于 OpenAI 和 Gemini,提供商根据 reasoning_effort 级别在内部处理令牌分配——LLM_REASONING_BUDGET_TOKENS 无效。

智能体执行

ReAct 智能体

DAG 规划器

领域分类

控制独立的基于LLM的领域检测层,在ReAct和DAG执行之前运行。当查询被分类为专家领域时,系统激活领域感知功能:升级到推理模型、领域特定的SOP指令和引用验证(仅DAG)。

上下文守卫

控制自动上下文窗口管理,防止对话超过模型的限制。

内容护栏

逗号分隔的护栏名称,用于检查内容的输入或输出。独立于工具权限闸门(core/hooks/*)和安全层(core/security/*)。详见内容护栏

智能体工作区

System


Web 工具(可选)

快速开始提示:仅设置 JINA_API_KEY 即可启用默认 Web 搜索堆栈、Web 获取、嵌入和重排序——一个密钥,四项服务。通过 WEB_SEARCH_PROVIDER 和匹配的 API 密钥将搜索切换到 Tavily、Brave 或 Exa。

RAG 与知识库(推荐)

嵌入

嵌入将文本转换为向量以进行知识库搜索。FIM One 使用标准的 OpenAI 兼容 /v1/embeddings 端点,因此它适用于任何公开此接口的提供商 — 不仅仅是 Jina。 提供商示例 — 只需设置这三个变量即可切换:
更改嵌入模型或维度会使所有现有知识库向量失效。 旧向量是在不同的嵌入空间中计算的 — 检索准确性将无声地降低。切换后,您必须重建所有知识库索引

检索

重排器

重排器对检索到的文档重新评分以提高相关性。支持三个提供商 — 通过 RERANKER_PROVIDER 选择或让系统从可用的 API 密钥自动检测。
Jina 使用 JINA_API_KEY(来自上面的 Web 工具)。OpenAI 复用 LLM_API_KEY / LLM_BASE_URL — 无需额外密钥。Cohere 需要其自己的 COHERE_API_KEY
重排器是可选的 — 知识库搜索可以在不使用它的情况下使用融合评分。对于知识库功能,推荐使用嵌入。

向量存储


代码执行

安全性local 模式直接在主机上运行 AI 生成的代码。对于面向互联网或多用户部署,始终设置 CODE_EXEC_BACKEND=docker

工具制品

工具执行(代码执行、模板渲染、图像生成)产生的文件的大小限制。

文档处理(可选)

控制上传的 PDF/DOCX 文件如何被处理以供 LLM 使用。具有视觉能力的模型(GPT-4o、Claude 3/4、Gemini)可以接收渲染后的 PDF 页面作为图像,以获得更高的保真度。
注意:每个模型的视觉支持通过管理员 → 模型中的 supports_vision 开关进行配置。未明确设置时,系统会从模型名称自动检测视觉能力。

图像生成(可选)


电子邮件(SMTP)(推荐)

当设置了 SMTP_HOSTSMTP_USERSMTP_PASS 时,自动注册 email_send 内置工具。

连接器


平台

多工作进程检查清单WORKERS>1):
  • 停止(中止流式传输)——始终有效,无需额外配置(信号在同一TCP连接上传输)。
  • 注入(中流后续)——需要REDIS_URL。没有Redis,注入请求可能落在不同的工作进程上,该进程不知道正在运行的执行,导致无声失败。
  • 生产环境:使用PostgreSQL(DATABASE_URL)。SQLite的单写入器锁在并发写入下可能导致争用。
  • 本地开发:SQLite+多工作进程在轻使用下可以接受;如果使用注入功能,只需添加REDIS_URL

工作流运行保留

自动清理旧工作流运行的后台任务。按工作流的覆盖设置(在工作流设置UI中配置)优先于这些全局默认值。

通道确认请求过期

后台清理程序,将陈旧的待审批请求(由通道钩子如 FeishuGateHook 或审批演练场产生)标记为已过期。确保稍后点击被遗忘的卡片不会翻转已被拆除的智能体状态。

OAuth(可选)

当为提供商同时设置 CLIENT_IDCLIENT_SECRET 时,登录页面会自动显示相应的 OAuth 按钮。
生产环境 = 本地可选(使用默认值),但对于任何面向互联网的部署都必需

需要向每个提供商注册的 OAuth 回调 URL

后端构造回调 URL 为:{API_BASE_URL}/api/auth/oauth/{provider}/callback

Cloudflare Tunnel(可选)

通过 Cloudflare 的网络路由所有流量,而不是直接暴露端口。无需 Nginx、SSL 证书和开放防火墙规则。有关设置说明,请参阅生产部署部分。
中国大陆用户:Cloudflare Free/Pro/Business 计划在中国大陆没有 PoP。流量被路由到海外边缘节点,导致频繁出现 502 错误。除非您拥有带有中国网络的 Cloudflare Enterprise,否则如果您的主要用户在中国大陆,请勿使用此功能。

分析(可选)

所有分析提供商都是可选的。设置任意组合——所有活跃的提供商同时加载。全部留空可禁用分析(建议用于本地开发)。
所有 NEXT_PUBLIC_* 分析变量都是构建时的——更改需要前端重新构建才能生效。

Stripe 计费(可选)

Stripe 为 Pro 订阅提供支持。将所有三个变量留空可禁用计费——FIM One 的其余部分保持不变。必须同时设置 STRIPE_SECRET_KEY STRIPE_WEBHOOK_SECRET;部分配置会在首次使用时引发错误。