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 自动将推理努力参数转换为每个提供商的原生格式。

支持的提供商

LiteLLM 从 LLM_BASE_URL 自动检测提供商,并将其映射到正确的 API 格式。未知 URL 被视为 OpenAI 兼容。

重要注意事项

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

推理时的温度约束

某些提供商在启用推理时会施加温度限制:
  • Anthropic: 启用扩展思考时需要 temperature=1。如果使用 Anthropic 的扩展思考功能,你必须设置 LLM_TEMPERATURE=1 — 当启用思考时,Anthropic 会拒绝其他值。
  • OpenAI GPT-5.x: 始终仅支持 temperature=1。LiteLLM 的 drop_params 过滤会自动处理此问题 — 不支持的温度值会被静默丢弃。对于 GPT-5.x,无需用户采取任何操作。

LLM_REASONING_BUDGET_TOKENS 的工作原理

此变量主要对 Anthropic 路径有意义。设置时,它会覆盖自动计算的预算,并通过 LiteLLM 作为 thinking 参数中的 budget_tokens 发送。未设置时,预算从 LLM_MAX_OUTPUT_TOKENS x 努力比率派生: 最小预算为 1,024 tokens(Anthropic 的硬性最小值)。 对于 OpenAI 和 Gemini,提供商根据 reasoning_effort 级别在内部处理 token 分配 — LLM_REASONING_BUDGET_TOKENS 无效。

智能体执行

ReAct 智能体

DAG 规划器

领域分类

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

上下文守卫

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

内容护栏

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

智能体工作区

系统


Web 工具(可选)

快速开始提示:仅设置 JINA_API_KEY 即可同时启用网页搜索、网页获取、嵌入和重排序——一个密钥,四项服务。您可以使用下面的变量单独覆盖每项服务。

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;部分配置会在首次使用时引发错误。