目标:构建面向全球×中国企业的一体化智能体平台——通过三种渐进式模式交付:独立版(门户助手)、副驾驶版(嵌入宿主系统)、中枢版(跨系统中央编排)。 原则:提供商无关(无供应商锁定)、最小抽象、协议优先、连接器优先(集成是核心价值)。
产品愿景
FIM One是一个一体化智能体平台,提供三种渐进式交付模式:已知问题
可在生产环境中复现但尚未修复的跟踪缺陷。每个条目说明症状、怀疑的影响范围和解决方案(如有)。一旦修复范围确定并计划,项目将移至版本部分。- 演练场停止并重试显示暂时性视觉伪影,页面刷新总能清除。 三个并发渲染源——
activeConversation.messages(数据库快照)、SSEmessages流和乐观的pendingQuery占位符——未折叠为单一派生状态,因此在点击”重试”和配对的助手响应到达之间,UI 可能会(a)在流前窗口中短暂渲染相同查询两次,(b)在hasLiveMessages为真且快照重新加载前从重试历史中删除先前的孤立用户气泡,以及(c)在 SSE”完成”事件和下一个selectConversation刷新之间的狭窄窗口中闪烁。数据永不丢失——每条用户消息(包括中止的重试)都持久化在conversation.messages中,通过normalize_alternating_messages传入下一个 LLM 调用,并在48ba08c6渲染修复中引入的HistoryTurn.orphanUserContents刷新后正确渲染。作为背景,Claude 自身的网页 UI 表现出类似的缺陷类——停止中途响应并立即发送后续查询有时会将后续分叉为第一个查询的同级编辑分支,而不是将其作为新轮次追加——因此这是乐观 UI + SSE + 持久化历史设计中的已知难题,不是 FIM One 特有的缺陷。正确的修复需要将三个渲染源折叠为单一派生状态;延迟至更广泛的演练场状态机重构。
Backlog (Low Priority)
延期的加固——不阻塞;仅在匹配场景出现时才处理。- DAG evidence gets its own truncation budget, decoupled from
DAG_ANALYZER_TRUNCATION, so source evidence isn’t re-clipped by the summary budget before the analyzer/synthesis verify against it. - Structure-aware evidence truncation (head+tail / keep lists & tables) so long enumerations survive the cap instead of silently losing their tail.
- Port the source-fidelity guideline into the ReAct fallback synthesis prompt so total/severity mislabels are caught in ReAct too, not only in DAG.
已发布的版本
v0.1 (2026-02-22) — MVP:ReAct + DAG 规划器
- ReActAgent 配备工具(计算器、python_exec、网络搜索)
- DAG 规划器(LLM 生成依赖图)
- 门户 UI 支持流式传输 + KaTeX
v0.2 (2026-02-24) — Multi-Model + Memory
- 重试 / 速率限制 / 使用情况追踪
- 原生函数调用(无JSON仅解析)
- 多模型支持(快速 + 主LLM)
- 内存:WindowMemory、SummaryMemory
- FastAPI后端,支持SSE流式传输
v0.3 (2026-02-25) — Web 工具 + MCP
- Web 工具(web_search、web_fetch)通过 Jina/Tavily/Brave
- 文件操作工具
- MCP 客户端(标准工具集成)
- 工具自动发现 + 分类
- DAG 可视化与点击滚动
- Docker 中的代码执行(
--network=none)
v0.4(2026-02-25)——多轮对话 + 智能体
- 多轮对话(DbMemory)
- 工具步骤折叠UI
- HTTP请求 + shell执行工具
- 智能体管理(创建、配置、发布)
- JWT身份验证
- 按智能体执行模式 + 温度控制
v0.5 (2026-02-28) — 完整 RAG + 基础生成
- 完整 RAG 管道(嵌入 + 向量存储 + FTS + RRF + 重排器)
- 基础生成(引用、置信度分数)
- 知识库文档管理(CRUD、搜索、重试、模式迁移)
- ContextGuard + 固定消息(令牌预算管理器)
- DbMemory 持久化 + LLM Compact
- DAG 重新规划(最多 3 轮)
v0.6 (2026-03-01) — 连接器平台
- 连接器CRUD:创建、读取、更新、删除
- ConnectorToolAdapter:将连接器转换为BaseTool
- 按用户凭证:AES-GCM加密
- 确认闸门:写入操作审批
- 审计日志:所有工具调用已记录
- 断路器:故障时优雅降级
- 实用工具:email_send、json_transform、template_render、text_utils
- 嵌入选项:Jina、OpenAI、自定义提供商
v0.7 (2026-03-06) — 管理平台 + 多租户
- 管理平台:用户管理、角色切换、密码重置、账户启用/禁用
- 邀请制注册:三种模式(开放/邀请/禁用)+ 邀请码 CRUD
- 存储管理:按用户磁盘使用量、清理、孤立文件清理
- 对话审核:管理员列表/删除所有对话
- 按用户强制登出:撤销所有令牌
- API 健康仪表板:系统统计、连接器指标
- 首次运行设置向导:引导式管理员账户创建
- 个人中心:按用户全局指令、语言偏好
- JWT 认证:基于令牌的 SSE 认证、对话所有权
- 全局 MCP 服务器:管理员配置、在所有会话中加载
- 向后兼容:registration_enabled → registration_mode 自动迁移
v0.7.x (2026-03-07 至 2026-03-12) — 稳定性 + 优化
- 邀请码管理
- 按用户配额(429 强制执行)
- 结构化审计日志
- 敏感词过滤
- 管理员登录历史
- 管理员文件浏览器
- 增强的管理员视图(model_name、tools、kb_ids 字段)
- Docker Compose 部署(单镜像、命名卷)
- OAuth 自动检测(来自 window.location)
- 扩展思考/推理支持(
LLM_REASONING_EFFORT、LLM_REASONING_BUDGET_TOKENS)用于 OpenAI o 系列、Gemini 2.5+、Claude - 管理员按工具启用/禁用(禁用的工具在运行时从聊天中排除)
- MCP 服务器管理移至连接器页面
- 双数据库支持:SQLite(零配置默认)+ PostgreSQL(生产环境);Docker Compose 自动配置 PostgreSQL
- 模型配置文档页面,包含每个提供商的扩展思考设置
- SSE 协议 v2:实时答案流式传输,包含
delta_reasoning、usage字段,以及分离的done/suggestions/title/end事件;SQLite 连接池大小 5 -> 20 - AI Builder 扩展:7 个新的构建工具(GetSettings、TestConnection、ImportOpenAPI 用于连接器;ListConnectors、AddConnector、RemoveConnector、SetModel 用于智能体),智能体上的
is_builder标志,构建工具提示词自动刷新,SSRF 防护 - SSE v2 前端:流式点脉冲光标,DAG 重新规划轮快照作为可折叠卡片,DAG 布局与步骤状态解耦
- AI Builder 概念文档页面,包含连接器和智能体构建工具指南
- 组织系统:完整的 CRUD 操作,基于角色的成员管理(所有者/管理员/成员),管理员管理 UI
- 三层资源可见性(个人/组织/全局)用于智能体、连接器、知识库、MCP 服务器
- 所有资源类型的发布/取消发布 API;已发布智能体的所有者委派
- 管理员设置可见性端点(替代克隆到全局);统一的
build_visibility_filter()查询助手 - 数据库连接器(第 1-3 阶段):直接 SQL 访问 PG/MySQL/Oracle/SQL Server + 中文遗留数据库;模式内省、AI 注释、只读查询执行、加密凭证、每个连接器 3 个工具(
list_tables、describe_table、query) - 评估中心:定量智能体质量基准测试——测试数据集 CRUD(提示词 + 预期行为 + 断言),评估运行(并行执行 + LLM 评分器 + 每个案例的通过/失败/延迟/令牌结果),结果查看器,带自动轮询;迁移
r8t0v2x4z567 - 三种模型角色(通用/快速/推理),每层环境配置隔离;快速模型不再继承主模型设置
StepOutput数据类替代纯字符串步骤结果,用于结构化数据和工件传递- DAG 执行的工具缓存——每次运行中相同的工具调用缓存,带异步锁防止雷鸣羊群效应(
DAG_TOOL_CACHE) - 每步 LLM 验证,失败时重试 1 次(
DAG_STEP_VERIFICATION) - 自动路由:快速 LLM 将查询分类为 ReAct 或 DAG;
/api/auto端点;前端 3 路模式切换(AUTO_ROUTING) -
影子市场组织 + 资源订阅:内置市场组织(影子、无自动加入)替代平台组织;通过市场浏览发现资源并显式订阅(拉取模型);用于订阅共享资源的市场 API;发布到市场始终需要审核;资源订阅表;基于组织的资源共享替代全局可见性 -
智能体自动发现和子智能体绑定:智能体上的discoverable标志;sub_agent_ids白名单;CallAgentTool 用于委派任务给专家智能体 -
MCP 服务器凭证 + 按用户覆盖:mcp_server_credentials表;PUT /api/mcp-servers/{id}/my-credentials端点;凭证回退行为的allow_fallback标志 -
连接器/知识库切换:POST /api/connectors/{id}/toggle和POST /api/knowledge-bases/{id}/toggle用于暂停/恢复资源 -
独立知识库对话:对话上的kb_ids字段,用于直接知识库聊天,无需智能体绑定
v0.8 (2026-03-20) — 连接器声明式配置 + 渐进式信息披露
- 数据库连接器:直接SQL访问(PostgreSQL、MySQL、Oracle)(已在v0.7.x中发布——第1-3阶段)
- RBAC:按用户/角色的连接器访问控制 (已在v0.7.x中发布——组织系统 + 三层可见性)
- 连接器凭证加密 + 按用户覆盖:
connector_credentials表、通过CREDENTIAL_ENCRYPTION_KEY的Fernet加密、allow_fallback标志、GET/PUT/DELETE /my-credentials端点、聊天工具加载中的按用户凭证解析 - 发布审查UI:组织级发布审查系统——按组织的审查切换、带有批准/拒绝工作流的ReviewsSheet、资源卡上的状态徽章、发布对话框中的审查通知、被拒绝资源的重新提交
- 连接器渐进式信息披露(第1-2阶段):单个
ConnectorMetaTool替代按操作的工具;系统提示仅接收轻量级存根(名称 + 1行描述,约30个令牌/连接器 vs 约250个令牌/操作);智能体调用discover(connector)按需加载完整操作模式——模式仅在模型选择连接器时加载,保持提示前缀稳定以便缓存。遵循现代智能体框架中常见的延迟工具加载模式。execute子命令;向后兼容的功能标志。 - 智能体技能系统 + 紧凑指令:智能体指令的按需技能加载——
Skill模型(名称、内容/SOP、可选脚本)附加到智能体;在系统提示中仅按名称引用(约10个令牌/技能);智能体调用read_skill(name)按需加载完整内容。将每次对话指令令牌成本降低约80%,同时允许更丰富的SOP库。与ConnectorMetaTool的渐进式信息披露在指令级别的对应物。启用”指令 + 工具 + 技能”差异化故事。还向Agent模型添加compact_instructions字段——按智能体压缩优先级列表注入到ContextGuard中进行压缩(例如,“保留订单ID和金额,删除原始API响应”),替代当前的静态通用提示。遵循现代智能体框架中广泛采用的紧凑指令约定。 - 连接器导入/导出:共享连接器模板
- 连接器分叉:克隆 + 自定义现有连接器
- 工作流第2阶段节点:迭代器、循环、变量聚合器、参数提取器、列表操作、转换、文档提取器、问题理解、人工干预——9种高级节点类型,具有完整的前端 + 后端 + 150个新测试(总计275个)。节点重试带指数退避、安全表达式评估。带成功率条的统计面板。12个内置模板。窗格上下文菜单(粘贴、全选、适应视图、自动布局)。
- 工作流第3阶段节点:子工作流 + ENV——2种新节点类型(总计25个节点)、14个新测试(总计306个)、14个内置模板。子工作流:完整的数据库支持的嵌套工作流执行器,具有目标工作流选择、变量映射和可配置的深度限制以防止无限递归。ENV:使用密钥选择器和回退默认值读取加密的环境变量。完整的前端(节点组件、配置面板、调色板条目、小地图颜色)。按节点执行统计面板(成功率、持续时间、按最坏优先排序的失败计数)。
getNodeStatsAPI客户端 +NodeStatEntry类型。键盘快捷键对话框(?键)。 - 工作流计划触发器:按工作流的cron配置,带时区、默认输入和下次运行时间计算。预设cron按钮、30个触发器测试。
- 工作流API触发器:公共按工作流API密钥(
wf_前缀)用于外部执行,无需用户身份验证,带速率限制。API密钥管理对话框,带生成/重新生成/撤销、触发URL和cURL/JS示例。 - 工作流批量执行:
POST /batch-run,最多100个输入集、可配置的并行性(1-10)、可折叠的按项目结果、JSON导出。14个批量执行测试。 - 工作流执行日志查看器:运行面板中的实时按时间顺序SSE事件流,带时间戳、颜色编码的徽章和事件类型过滤切换。
- 工作流运行统计:后端通过GROUP BY子查询批量获取运行计数和成功率;前端在工作流卡上显示统计信息,带颜色编码的成功率指示器。
- 工作流调度程序守护进程:后台异步服务每60秒轮询一次到期的基于cron的工作流。Croniter时区支持、信号量并发、
last_scheduled_at跟踪、webhook传递。14个测试。 - 工作流导入冲突解析器:在导入期间检测未解析的智能体/连接器/知识库/MCP引用。批量数据库查询,带可见性过滤、前端toast警告。17个测试。
- 工作流测试节点执行:使用模拟变量的隔离单节点测试,集成到编辑器中(配置面板测试按钮 + 上下文菜单)。23个测试。
- 工作流版本差异:并排蓝图比较,带节点/边变化检测、颜色编码的指示器(添加/删除/修改)。
- 工作流运行管理:删除单个运行(
DELETE /runs/{run_id})和清除所有已完成的运行(DELETE /runs),带前端确认对话框。 - 工作流运行重放叠加层:运行历史中的”在画布上查看”按钮,用于在画布上叠加过去的执行结果,显示按节点状态和输出,无需重新执行。
- 工作流收藏/固定:将工作流星标/固定到列表顶部,带localStorage持久化。
- 工作流运行历史导出:将运行历史导出为JSON文件下载,带完整的运行元数据和按节点结果。
- 管理员工作流管理:管理员面板选项卡,用于管理所有用户的工作流——列表、切换活跃/非活跃、带确认的删除。用于删除、切换和发布的批量端点,带审计日志。
- 工作流模板系统:
WorkflowTemplateORM模型,带管理员CRUD、公共列表/克隆API和5个种子模板,在首次启动时自动插入。 - 工作流内联验证徽章:画布上的实时按节点
ValidationBadge,带错误/警告工具提示,用于编辑期间的即时视觉反馈。 - 工作流执行跟踪查看器:基于时间线的跟踪查看器Sheet,带引擎
trace_level参数和按节点变量快照,用于逐步调试。 - 工作流速率限制和超时:按用户
WorkflowRateLimiter(滑动窗口10次运行/分钟、3个并发)和默认10分钟全局运行超时。 - 工作流蓝图系统:用于设计和执行多步自动化蓝图的可视工作流编辑器——
Workflow/WorkflowRunORM模型、完整CRUD + SSE执行API、导入/导出、复制、蓝图验证端点、WorkflowEngine,带拓扑排序 + 基于信号量的并发 + 条件分支和12种节点类型(开始、结束、LLM、条件分支、问题分类器、智能体、知识检索、连接器、HTTP请求、变量赋值、模板转换、代码执行)、VariableStore,带{{node_id.output}}插值和env.*命名空间、按节点的错误策略(STOP_WORKFLOW / CONTINUE / FAIL_BRANCH),带按节点超时和高级配置UI、React Flow v12可视编辑器,带拖放调色板 + 节点配置面板 + 变量选择器组合框 + 边上添加节点 + 自动布局(ELK.js)+ 运行历史sheet、Dify风格的紧凑节点设计,带基于环的运行状态样式和动画边转换、4个内置启动模板(简单LLM链、条件路由器、知识增强QA、HTTP API管道),带模板选择器对话框和GET /templates+POST /from-templateAPI、统计端点、?run=trueURL参数自动打开、基于子进程的代码执行安全性、105测试套件(模板、eval命名空间展平、蓝图验证警告、节点/边删除、导入/导出/复制、死锁检测、多条件分支) - 操作审计:详细记录谁做了什么——添加了管理员审查日志审计选项卡(按组织/资源的发布审查跟踪)
- 语义模式注解:使用
semantic_tag、description和pii标志扩展连接器模式字段;注解在LLM工具描述中显示,以便智能体理解字段意图,无需从列名猜测
v0.8.1 (2026-03-29) — 渐进式信息披露成熟度 + ReAct 强化
- 数据库连接器(
DatabaseMetaTool)、MCP 服务器(MCPServerMetaTool)和按需工具加载(request_tools元工具)的渐进式信息披露 - DAG 质量全面改进(5 项改进:模型升级、技能自动发现、引用验证器、结构化内容保留、领域感知路由)
- ReAct 中的领域模型升级(专业领域自动升级到推理模型)
- 按模型原生函数调用切换(
tool_choice_enabled) - ReAct 循环检测(确定性重复工具调用防止)
- ReAct 完成清单(使用工具时的答案前验证)
- 资源分叉第一阶段(MCP 服务器 + 技能分叉端点,带有血统追踪)
- 工作流连接依赖自动订阅(递归子工作流依赖解析)
- 预构建解决方案模板(首次注册时向市场植入 8 个垂直解决方案)
- 管理员通知改进(时区感知、主开关、SMTP 回复地址)
- 按轮次令牌预算断路器(
REACT_MAX_TURN_TOKENS) - 集中式工具截断、动态系统提示预算
- 文件附件下载、重复消息提交修复
v0.8.2 (2026-04-10) — 智能体核心强化 + 视觉文档处理
- 智能体核心第0阶段 — 紧凑提示词升级为9段结构化格式;空工具结果保护(使用描述性消息而非
(no output));反循环提示词 + 循环检测阈值降低至2;域分类器 + 预检DB配置解析并行化(每个请求节省400–1100毫秒);SSEend事件在答案后立即发送,标题/建议移至后台任务 - 智能体核心第1阶段(上下文防膨胀) —
MicroCompact基于规则的旧工具结果清理(保留最后6条);REACT_TOOL_RESULT_BUDGET=40000聚合上限;上下文溢出时反应式压缩(自动压缩至50%预算并重试,而非崩溃) - 智能体核心第2阶段(速度优化) — 基于关键词的工具预选(在明显匹配时跳过LLM调用,节省200–500毫秒);
SharedHttpClientLLM连接池;答案>200个token时跳过完成度检查;FallbackLLM包装主模型+快速模型,在429/503/529/连接错误时自动故障转移 - 智能文档处理(视觉感知) — 自适应文档处理:PDF页面通过PyMuPDF渲染为图像供视觉能力模型使用(GPT-4o、Claude 3/4、Gemini),文本专用回退通过pdfplumber。按模型
supports_vision标志。通过DOCUMENT_PROCESSING_MODE、DOCUMENT_VISION_DPI、DOCUMENT_VISION_MAX_PAGES配置模式。DOCX/PPTX嵌入图像提取。多轮对话中的视觉持久化。智能PDF处理(文本丰富页面提取文本+图像;扫描页面渲染为全页PNG)。预构建沙箱镜像(Dockerfile.sandbox),包含常见数据科学包用于--network=none代码执行 - 资源分支完成 — 添加智能体/连接器/工作流分支端点,完成五类系谱跟踪(KB分支已移除——本质上是用户本地的)
- 文件完整性护栏 — 系统提示词规则防止智能体在目标文件不可读时替换无关文件内容;上传的文件现在在消息上下文中包含
file_id,用于直接read_uploaded_file访问
v0.8.3 (2026-04-16) — 通用文档转换 + 智能体核心第3阶段
- 通用文档转换(
convert_to_markdown+ OCR) — 内置智能体工具,包装Microsoft MarkItDown;将PDF、Word、Excel、PowerPoint、HTML、JSON、CSV、XML、ZIP、EPUB、Outlook .msg、图像、音频、YouTube URL转换为Markdown。LiteLLMOpenAIShim通过任何支持视觉的LLM(Claude、Gemini、Bedrock、Azure)启用OCR。支持视觉的RAG摄取,具有零回归的纯文本降级方案。LLM_SUPPORTS_VISION环境变量用于选择退出 - 智能体核心第3阶段(运行时不变量强化) — 对话恢复(悬挂
tool_use自动修复);结构化紧凑工作卡(WorkCard类型化跨压缩轮次合并);轮级分析器(REACT_TURN_PROFILE_ENABLED);每用户速率限制(LLM_RATE_LIMIT_PER_USER);带有tool_calls的空内容助手消息不再被丢弃
v0.8.4 (2026-04-17) — 提示词缓存 + 推理正确性
- 系统提示词部分注册表与缓存断点 — 记忆化的
PromptRegistry将系统提示词分割为稳定前缀 + 动态后缀;支持缓存的提供商(Claude、Bedrock Anthropic、Vertex Claude)在前缀上接收cache_control: {"type": "ephemeral"},实现约 60-80% 的单轮输入令牌节省。不支持缓存的提供商获得单个连接的消息(零行为变化) - 提示词缓存可观测性 —
cache_read_input_tokens和cache_creation_input_tokens通过UsageSummary→TurnProfiler→done_payload.cache字段追踪;每轮生成结构化的turn_cache日志行。同时用作中继缓存诚实性探针 - 对话恢复 MVP — 合成
tool_result行在中断轮次后持久化;POST /chat/resume从单调游标重放缓存的 SSE 事件;前端useSseResume钩子使用指数退避(300ms → 1s → 3s,最多 3 次尝试)自动重新连接,并显示”重新连接中…”指示器 - 推理块持久化与签名 —
reasoning_content+ Anthropicsignature持久化在metadata_["thinking"]中并在后续轮次重放;修复 Claude 4 多轮对话中的 HTTP 400 签名不匹配问题 - 提供商感知推理重放策略 —
core/prompt/reasoning.py中的集中式reasoning_replay_policy()按提供商系列控制序列化:Claude 重放带签名的推理块;DeepSeek-R1/Qwen-QwQ/Gemini-thinking/o-series 在出站时丢弃reasoning_content(之前泄露,破坏提供商 KV 缓存并违反 API 文档)
v0.8.5 (2026-04-23) — 通道集成 + 钩子系统 + 贡献者国际化
- Feishu 通道(第一阶段子集) — 组织范围的
Channel资源,支持 Fernet 加密凭证;FeishuChannel支持交互式卡片发送 + 回调(签名验证 + URL 挑战);设置 → 通道管理 UI(列表、创建/编辑含脏状态保护、详情含可复制回调 URL、测试发送);CRUD API(/api/channels)和事件回调端点(/api/channels/{id}/callback)。为 2026-04-24 路演提前发布 - 智能体钩子系统(在 ReAct + DAG 运行时中实时运行) —
PreToolUseHook/PostToolUseHook抽象位于src/fim_one/core/hooks/;声明hooks.class_hooks在model_config_json中的智能体会在每个聊天会话中实例化并注册钩子。首个消费者FeishuGateHook在智能体调用requires_confirmation=True工具时向关联的 Feishu 群组发送审批/拒绝卡片,阻止执行,并根据裁定恢复或中止 - 可配置的确认闸门(内联或通道) — 每个智能体都有审批部分,包含三种路由模式(自动 / 仅内联 / 仅通道)、审批人范围选择器(发起人 / 所有者 / 组织内任何人)、按工具覆盖和显式审批通道选择器。自动模式在未链接通道时优雅地回退到内联审批卡片。
POST /api/confirmations/{id}/respond与 Feishu webhook 共享单一决策记录路径 - 按智能体任务完成通知 — 长时间运行的 ReAct 或 DAG 智能体可在任务完成时向组织通道推送摘要卡片。通用出站通知模式的首个消费者
- 钩子审批演练场 — 通道详情表有”测试审批流程”操作,执行完整生产路径(真实
ConfirmationRequest行、真实 Feishu 回调、状态转换)——与生产钩子使用的代码路径相同 - 贡献者友好的国际化 CI 回退 —
.github/workflows/i18n-sync.yml在 PR 合并后在 master 上将 EN → ZH/JA/KO/DE/FR 翻译并使用[skip ci]自动提交;贡献者不再需要本地LLM_API_KEY。提交前语言环境编辑守卫拒绝手动编辑生成的语言环境文件(ALLOW_LOCALE_EDIT=1覆盖用于合法翻译修复)。通过烟雾测试推送端到端验证 - Exa 集成文档 — 专用集成部分,包含一流的 Exa 页面,涵盖完整 Exa 搜索表面(神经 / 快速 / 深度推理 / 即时)、过滤、内容检索和三个调优预设
- 信创数据库支持 — 数据库连接器现在列出 KingbaseES(人大金仓)、HighGo(瀚高)和 DM8(达梦)以及 PostgreSQL/MySQL。PG 兼容驱动重用
asyncpg;DM8 使用dmPython。scripts/test_xinchuang_dbs.py从 CLI 验证实时连接 - 通道 + 钩子系统架构文档 —
docs/architecture/hook-system.mdx解释三个钩子点并端到端演示 FeishuGateHook;现有架构页面交叉链接;README 将消息通道列为一流功能 - 加固 — 重复 Feishu 回调点击产生替换卡片而不是双重决策;并发回调点击通过条件
UPDATE ... WHERE status='pending'行计数检查解决;待处理审批在CHANNEL_CONFIRMATION_TTL_MINUTES(默认 24h)后通过后台清理器自动过期;设置 → 通道尊重组织角色(成员看到只读 UI);并行工具调用聚合器处理为每个 delta 重用index=0的提供商;会话过期重定向保留查询字符串
v0.8.6 (2026-05-08) — Stripe 计费 + 优化
- Stripe 计费 MVP — 免费版 + 专业版;结账、客户门户、webhook 生命周期;
/settings?tab=billing;管理员套餐/订阅 CRUD;配额强制执行遵守每个用户的套餐 - 管理员控制的计费功能开关 —
system_settings.billing_enabled控制整个 Stripe 管道,使没有 Stripe 凭证的私有部署永远不会显示非功能性的支付 UX - 按用户无限配额 — 空值继承全局默认值,
0授予无限制;之前两者都折叠为同一状态 - 翻译词汇表作为单一信息源 —
scripts/translation-glossary.md整合每个语言环境的规则;提交前钩子无条件拒绝对生成的语言环境文件的手动编辑 - 许可证 + 管辖法律迁移至 FIM Labs Pte. Ltd.(新加坡);SIAC 仲裁以英文进行;新的顶级
NOTICE文件 - 演练场后续建议已恢复,按智能体选择加入
- 稳定性修复 — 严格交替提供商历史、并行工具调用边界检测、无界智能体确认流、通道角色门控、重试重复抑制、拒绝后无释义
v0.8.7 (2026-06-10) — 安全加固 + 护栏 v0 + 账单准确性
- JWT 令牌类型隔离——修复了一个 2FA 绕过漏洞,其中任何同签名的令牌(临时/刷新/票证)都可以认证 API 和 SSE 端点
- OAuth 加固——电子邮件自动链接需要提供商验证的电子邮件(账户接管修复);OAuth 刷新令牌以哈希形式存储,以便会话轮换正常工作
- 内容护栏 v0——输入/输出触发层(
core/agent/guardrail);包含越狱检测器 + 最大长度输出护栏,通过环境变量配置 -
file_ops.apply_patch——V4A 差异补丁,具有模糊空格匹配,补充find_replace - 账单周期准确性——配额在订阅周年日重置(而非日历月);续订通过权威 Stripe 查询推进周期;使用情况显示与执行窗口对齐
- 可靠性修复——伪协议工具调用泄漏从答案中移除;可调 HTTP keep-alive 结束
APIConnectionError突发;API 密钥使用统计在只读请求上持久化 - 账单选项卡视觉改进——全宽度,与其他”设置”选项卡一致
v0.8.8 (2026-06-22) — SSRF 加固 + 可靠性与推理修复
- SSRF 加固——阻止列表解包 IPv4 映射的 IPv6(
::ffff:实例元数据绕过);MCP SSE/Streamable-HTTP 服务器 URL 在创建和连接时进行 SSRF 验证 - LLM 可靠性——共享 HTTP 连接池在 LiteLLM 客户端缓存驱逐关闭后自我修复;聊天立即发送流(历史记录在后台折叠,无需完整重新加载)
- Anthropic 自适应思考协议用于 Opus 4.6+/Sonnet 4.6/Fable 5——扩展思考在旧的固定预算参数在 4.7/4.8 上返回 400 时工作;在 OpenAI 代理误路由时发出警告
- 推理细节端到端保留——真实最终答案逐字流式传输;在压缩、上下文重建和子智能体步骤中保留(无有损重新合成)
- PreToolUse 执行钩子在错误时故障关闭——崩溃的确认闸门不再默认允许调用;非执行钩子通过
fail_open保持故障开放 - 强制登出时间戳比较通过转换为 UTC 进行规范化 + Docker Compose
POSTGRES_*凭证覆盖(无附带的fim:fim默认值)
v0.8.9 (2026-07-08) — 模块精简 + 共享收敛 + 审批强化
- 技能与工作流通过管理员模块标志软隐藏(默认关闭)——仅核心启动;无任何删除,可从管理员 → 设置 → 模块恢复
- 共享收敛——移除知识库共享(知识库仅通过共享智能体到达他人),数据库连接器不可共享 + 原始SQL仅所有者可用,工作流构建器精简至9个仅参考节点
- Feishu审批强化——卡片点击强制审批人身份验证,回调签名失败关闭 + 加密信封解密,审批绝不路由至无关聊天
- 使用时访问重新检查——共享MCP服务器和绑定知识库每次运行时重新验证;离开组织立即撤销订阅和保存的凭证
- 智能体循环强化——计划板、后台工具、增量DAG重新规划 + 检查点恢复、压缩保持工具配对、截断继续、529/504重试
-
run_workflow智能体工具 + 工作流正确性——智能体节点运行完整智能体,确认闸门失败关闭,连接器调用访问检查和审计日志 - 账户删除统一——管理员和自助服务通过一个清除例程,覆盖每条记录和磁盘文件;组织所有者必须先转移所有权
- 所有者凭证回退现为可选(破坏性变更)——连接器/MCP服务器默认
allow_fallback关闭,现有行已翻转;缺少凭证的无回退资源从工具集中隐藏 - Webhook/cron工作流运行按所有者令牌配额计量——无计量免费LLM触发路径已关闭
- 资源绑定统一于可见性——已订阅连接器/知识库/MCP服务器可绑定至智能体;工作流连接器步骤强制运行者访问权限
- 对话工作区接入聊天——
workspace://卸载超大工具结果、预算截断救援、预压缩记录快照
计划版本
重新规划于2026-07-08:FIM One是一个智能体运行时——一个内核(ReAct引擎、凭证、确认闸门、审计、多租户组织)支持多个交付界面:Web UI、API、JS嵌入、MCP输出。每个界面都复用同一个程序集层来处理身份验证、凭证、审批和计量:更多前端,永不增加逻辑。近期方向是聚焦于数据问答(ChatBI)切片,销售场景而非平台。v0.9 — 连接器围栏 + 场景入门
目标:后期化简资产组装成完整的数据问答产品——只读数据库连接器 + 围栏 + 审批闸门 + IM入口。一级围栏将安全债务转化为产品特性。DB Connector Fences — Tier 1, three PRs
- PII 列脱敏(
ConnectorScopeGuardPreToolUse 钩子) - 模式可见性——表/列允许拒绝 + 动词阻止(只读强制执行)
- Fence 可审计性——
ConnectorCallLog中的caller_user_id、effective_credential_source、scope_rules_applied - 每个钩子配置传递(
{"name", "config"}模式)——ScopeGuard 规则的载体 - 审批闸门在委托中保持——
call_agent和工作流AGENT节点运行智能体自己的钩子而不是无
场景入门
- 首次运行从场景模板(solution_seeds)开始,而不是从空工作台开始
- 文档登陆页面以三个垂直场景故事开头,而不是模块参考
- 每个已交付的参与项目提炼一个场景模板——竞争优势在于场景资产×交付速度
v0.10 — Two Mouths: JS Embed + IM Inbound
目标:两个最具商业价值的交付表面,都基于同一内核和装配层。- JS 气泡 / iframe 嵌入——一个代码片段集成到宿主系统;匿名访客身份 + 计费归属在构建前确定
- Feishu 入站 @mention——智能体存在于群组中:查询数据、文件审批、追踪流程
- 出站模式:故障告警、预算警告、定时摘要、升级、审计收据
- WeCom / DingTalk 通道跟进 Feishu
暂停中——信号门控
不要在没有触发器的情况下启动这些功能(见重新规划 §3):MCP 网关等待 ≥2 个主动的”在我的智能体中挂载你的工具”请求;通道化等待实现者询问许可问题;IdP/OrgSync 等待客户拉取;其余的等待需要它们的已交付参与。- MCP 网关输出——反向暴露连接器发现/执行为下游智能体的 MCP 工具
- 通道化/白标启用——商业许可路径已就位
- 身份提供商模块 + 通道精简——Feishu SSO、组织图同步
- 连接器授权第 2 层(要求按用户凭证、密钥绑定健康检查)+ 第 3 层(登录票据交换)
- 公开 API 第 2 阶段——按密钥速率限制/配额、版本控制、SDK、开发者门户
- 可观测性——智能体追踪层(追踪/跨度模型、时间线查看器、OTel 导出)+ 指标仪表板
- 智能体工作区剩余部分——交接笔记、文件浏览器 UI、跨会话回忆、压缩段(智能体读回的可搜索磁盘摘要)
- 护栏 v1——离题过滤、PII 编辑输出护栏、按智能体护栏配置 UI
- 钩子系统扩展——内置钩子、
SessionStart+ 用户 YAML 钩子 - 连接器平台深度——渐进式披露第 3-4 阶段、YAML/JSON 连接器配置、数据库连接器第 4 阶段(Oracle / SQL Server / GBase)、MCP 连接池
- 提示词缓存后续——Gemini 上下文缓存适配器、按智能体
cache_ttl - 热中流 DAG 恢复——SSE 重连重新附加到运行中的轮次(冷重试-恢复已发布)
- 生态系统——定时/事件触发的智能体、工作流触发身份可观测性、按工作流
credential_policy、数据库架构高级构建器、沙箱加固 v2
从pre-replan v0.9计划中已交付
-
Auth & security: JWT token-type confinement + OAuth fixes (v0.8.7); PG tz-aware timestamps (v0.8.6); force-logout UTC +POSTGRES_*override + SSRF IPv6-mapped fix (v0.8.8); owner-fallback opt-in + visibility-unified binding + webhook/cron metering (v0.8.9) -
Provider compat: Anthropic adaptive thinking + shared LLM pool self-heal (v0.8.8) -
Content guardrails v0: tripwire layer + jailbreak detector (v0.8.7) -
Hook system: skeleton + FeishuGateHook + Approval Playground + ReAct/DAG runtime (v0.8.5); PreToolUse enforcement fail-closed (v0.8.8) -
Feishu channel Phase 1 + task completion notification (v0.8.5) -
run_workflowagent tool (v0.8.9); reasoning detail preserved end-to-end (v0.8.8); workspace tool-output offloading wired into chat (v0.8.9) -
Agent loop hardening: plan board, LLM-call resilience, background tools, incremental DAG replan + checkpoint resume, compaction tool-pairing (v0.8.9) -
Circuit breaker, Workflow run retention cleanup, Workflow version diff summaries(v0.8 / v0.8.1) -
DAG quality overhaul, Domain model escalation, Per-model NFC toggle(v0.8.1) -
DatabaseMetaTool, MCPServerMetaTool, On-demand(v0.8.1)request_tools -
Workflow Connection Dep Auto-Subscribe, Workflow real executors(v0.8.1) -
ReAct Cycle Detection, Completion Checklist(v0.8.1) -
Prebuilt Solution Templates (8 vertical bundles), Resource Fork (MCP/Skill/Agent/Connector/Workflow)(v0.8.1) -
Vision document processing (PDF / DOCX / PPTX), MarkItDown OCR(v0.8.2 / v0.8.3) -
Smart File Content Injection +(v0.8)read_uploaded_file -
Agent Core Phase 3: Conversation Recovery MVP, Compact Work Card, Turn Profiler, Per-user Rate Limiting(v0.8.3) -
Conversation resume MVP, System prompt registry + cache, Thinking-block persistence, Reasoning replay policy, Cache observability(v0.8.4)
v1.0 — 热插拔 + 可嵌入
目标:零重启连接器添加、套餐生态系统和嵌入式交付。-
连接器渐进式披露(第5阶段):语义引导工具选择(从查询中提取实体 → 本体注册表查找 → 连接器集合缩减;50+连接器部署时减少90%+令牌);批处理/ETL连接器的规模模式;CLI风格的通用
connector <name> <action> <params>接口 - 跨连接器实体对齐(本体注册表) — 2026-04-21降级:按需自定义交付,不是核心功能:定义共享实体类型(Customer、Order、Asset),具有跨连接器的字段映射;DAGPlanner自动解析跨系统JOIN键;启用跨连接器查询(例如”在Salesforce中订购过Shopify的客户”),无需硬编码字段名称
- 热插拔连接器:上传OpenAPI规范,AI生成配置,5分钟内上线(无需重启)
-
市场重新设计第1阶段 — 解决方案+组件:两层市场模型(解决方案:Agent/Skill/Workflow;组件:Connector/MCP Server);范围选择器(全球市场/组织);统一订阅模型(组织自动出现已移除);KB从市场范围移除;数据迁移为现有组织成员回填订阅 -
市场套餐系统:市场的可分发资源包 — 用统一打包层替换按类型的”市场”。
fim-package.yaml清单声明:元数据(名称、版本、描述、作者、许可证、标签、min_fim_version)、入口点(主要Skill或Agent)、资源列表(agents、skills、connectors、KBs、MCP servers、workflows)及配置引用、包间依赖关系(semver范围)、所需凭证(映射到连接器引用以进行安装时收集)和用户可配置变量及默认值。两种消费模式:(1)install — 批量创建所有资源+通过ID替换自动连接内部引用;安装链接到源以获取版本更新通知;POST /api/market/packages/{id}/install;(2)fork — 克隆为用户拥有的可编辑副本,无更新链接(这就是模板模式);POST /api/market/packages/{id}/fork。其他端点:发布(POST /api/market/packages带审查工作流)、卸载(DELETE /packages/{id}/uninstall带依赖检查+修改资源确认)、版本历史(GET /packages/{id}/versions)、升级(POST /packages/{id}/upgrade带按资源差异预览)。嵌套包需求的依赖解析器,具有冲突检测。PackageInstallation表跟踪每个用户安装的包,带资源ID映射以进行卸载/升级。与单个资源发布共存 — 套餐是组合层,不是替换;单个Connector仍可独立发布。示例依赖树:Package: contract-review→Skill: contract-review(入口点)→Agent: contract-analyst+Agent: risk-scorer→KB: legal-clauses+Connector: docusign-api+MCP: pdf-extractor+Workflow: contract-approval-flow - 创作者计划:市场货币化层 — 创作者档案及作品集页面、按套餐分析(安装、分叉、活跃用户、评分/评论)、当套餐推动新订阅时的联盟佣金跟踪。付费套餐层级,具有定价、购买流程和审批工作流。创作者仪表板,具有安装趋势、收入报告和用户反馈。用于程序化套餐发布的公共创作者API(套餐作者的CI/CD)。社区功能:套餐评论、问答、每个版本的更新日志
-
可嵌入小部件:
<script src="fim-one.js">注入到主机页面 - 页面上下文注入:小部件读取主机页面上下文(当前ID、URL、DOM选择器)
- 高级触发器:Webhook入站事件;计划作业增强(多时区、日历感知)
- 批量执行:通过DAG处理1000+项
- 企业安全:IP白名单、静态加密、SSO
- KB高级编辑器:为管理大型知识库的高级用户提供的Builder模式智能体 — 批量URL摄取、重复检测、差距分析、文档生命周期管理;使用ReAct工具循环扩展现有KB AI聊天
-
Stripe计费(v1 MVP — Pro订阅):免费+Pro两层订阅,具有月度令牌配额。Stripe Checkout(托管)+客户门户(自助)+webhook驱动的生命周期(
checkout.session.completed/customer.subscription.updated|deleted/invoice.payment_succeeded|failed)。在配额耗尽时软上限(HTTP 402+升级提示)— v1中无超额费用。仅按用户计费;组织/团队订阅推迟到v3。先决条件:-
数据模型+SDK基础工作(P1)—(在v0.8.6中发布)billing_plans/subscriptions/stripe_webhook_events表、ORM模型、Stripe SDK单例、Free+Pro种子 -
后端API+webhook处理程序(P2)—(在v0.8.6中发布)/api/billing/*+/api/webhooks/stripe带签名验证+幂等性;计划感知配额;每小时生命周期扫描 -
前端计费标签+402升级对话框(P3)—(在v0.8.6中发布)/settings?tab=billing配额显示、升级CTA、past_due横幅、中流402对话框 -
管理员计划管理(P4)—(在v0.8.6中发布)admin/billing/{plans,subscriptions}CRUD -
管理员控制的计费功能标志(P5)—(在v0.8.6中发布)system_settings.billing_enabled控制Stripe管道;幂等激活种子Free+Pro、设置默认计划指针、回填用户;激活后的切换/关闭是纯标志翻转 - 协调+e2e+上线(P6)— 每晚
subscriptions↔stripe.Subscription.list()协调脚本以恢复错过的webhook;完整堆栈快乐路径/取消中期/逾期回归测试;从测试模式stripe_price_id切换到实时price_id;使用真实卡对暂存进行烟雾测试。
-
-
团队计划(Stripe座位) — 通过
stripe.Subscription.quantity的按座位定价,与组织成员资格集成。让公司订阅一个具有N个座位的团队范围计划;配额和功能标志通过座位组而不是单个用户解析。建立在v1.0 Stripe MVP和现有组织模型之上。 -
非计费部署的组级令牌配额 — 没有Stripe的企业/私有部署配置组织级令牌预算。配额链扩展到
override > group > plan > default;组解析使用max(user_quota, group_quota),以便单个VIP不受团队上限的约束。与团队计划一起发布,以便相同的原语为计费和自托管拓扑提供服务。
冻结功能(已发布,仅维护)
根据正交性策略,这些功能已发布并正常运行,但不会获得新功能(仅修复错误):考虑中(无限期延后)
根据正交性策略,以下功能实施成本高且存在吸收风险:版本如何与模式对齐
资源分配(v0.8–v1.0)
正交性策略指导工作重点分配:指标驱动的里程碑
成功通过以下指标衡量:未决问题 / 待定事项
- 市场审核:如何验证社区包和个人资源?针对包配置中的凭证泄露进行自动扫描?(v1.0)
- 代币经济学:如何为多用户、多智能体场景定价?(v1.0)
- 包版本管理:已安装包中的破坏性变更——使用迁移脚本自动升级,还是每次更新都需要手动批准?依赖钻石问题解决方案?(v1.0)
- 包定价:免费与付费层级、Creator Program 佣金率、支付提供商集成?(v1.0)
- 包凭证用户体验:安装时凭证收集——向导式逐步操作还是延迟设置?跨使用相同连接器类型的包共享凭证?(v1.0)
- 遥测选择退出:如何尊重隐私偏好?(v0.8)
- 连接器版本管理:如何管理连接器 API 中的破坏性变更?(v0.8)
- 速率限制:已发布按用户工作流速率限制(滑动窗口 10 次运行/分钟、3 个并发)。按连接器和按智能体速率限制待定 (v0.9)
- 连接器授权层级选择:管理员如何发现哪个层级适用于给定的上游系统?自动探测(尝试按用户 API 密钥 → 回退到登录票证 → 回退到共享数据库)还是在连接器规范中显式声明?我们如何在 UI 中表达”此连接器支持第 2 层但管理员选择在第 1 层运行”而不会让非技术管理员感到困惑?(v0.9)
- 集成与连接器二元性:当 Feishu 绑定同时是 SSO 提供商和 API 调用表面时,我们如何在”设置”中呈现它?一个对象配三个切换开关,还是三个共享凭证的独立绑定?对卸载语义的影响(撤销 SSO 是否会杀死连接器?)(v0.9)