跳转到主要内容
本项目的所有重要变更均记录于此。 格式遵循 Keep a Changelog。版本与路线图中的里程碑相对应。

[未发布]

新增

  • Docker Compose 部署:单镜像 (API + Frontend) 、用于数据持久化的命名卷,以及独立模式的 Next.js 输出模式
  • 管理后台:登录历史记录:认证端点现在会将每次登录尝试 (IP 地址、User-Agent、成功/失败及原因) 记录到 LoginHistory 表中,用于安全审计
  • 管理后台:文件浏览器:新增管理后台文件浏览器端点,用于列出和下载用户上传的文件,并支持分页
  • 管理后台:增强的智能体/知识库视图:管理后台智能体列表和知识库视图现已提供 model_nametoolskb_idsembedding_model 字段,提升可见性
  • 聊天:敏感词拦截:ReAct 和 inject_message 聊天端点现在都会执行敏感词过滤,拦截包含已配置敏感词的消息
  • SSE:结构化错误处理useSSE hook 中的 onError 回调已从普通字符串升级为 ApiError 对象,以提供更丰富的错误上下文 (错误代码、参数)
  • UI:formatTokens 工具:新增用于显示令牌计数的格式化辅助工具,支持基于区域设置的数字格式化
  • UI:CheckboxFadeIn 组件:新增 shadcn 风格的复选框组件和淡入动画包装组件

变更

  • 文档:ASCII → Mermaid 图表:所有使用框线字符绘制的 ASCII 图均已转换为原生 Mermaid 图表 (共 12 张,分布在 6 个页面) ,以获得更好的渲染效果和交互性
  • 文档:深色模式主题:优化了 Mintlify 的颜色配置——深色模式下采用暖琥珀色强调色、渐变背景装饰,以及与项目主题一致的背景颜色

已修复

  • Docker i18n 失效:将 messages/ 目录复制到独立输出中,并添加 outputFileTracingIncludes,以便 next-intl 在运行时发现 locale JSON 文件
  • Docker 启动竞态条件:在启动 Next.js 之前,于 entrypoint 中添加 API 就绪等待循环 (Python socket 轮询) ,避免出现 e.map is not a function SSR 错误
  • 工件:按会话 created_at 排序:按会话创建时间而不是文件 mtime 对工件进行排序 (mtime 在 Docker 卷上不可靠)
  • OAuth:根据 window.location 端口自动检测生产环境 API URL:浏览器自动检测现在可在生产环境中正确处理自定义端口 (不再仅限于 3000)

[v0.7.3] - 2026-02-28

新增

  • 全局 MCP 服务器:由管理员预配置,并加载到所有聊天会话中 (而非按用户/智能体分别加载) ;查询逻辑:or_(is_global==True, user_id==current_user.id)
  • 向后兼容模式:如果未设置 registration_mode,管理平台会读取旧版布尔值 registration_enabled (并自动迁移为“open”模式)
  • 结构化审计日志write_audit() 辅助函数统一处理审计日志写入 (admin_id、target_type、target_id、detail 字段) ;替代零散的 AuditLog() 调用

变更

  • 审计日志结构:从原始 meta 字典迁移到结构化的 admin_id / target_type / target_id / detail 列,以更好地满足合规要求
  • OAuth 回调 URL 构造{API_BASE_URL}/api/auth/oauth/{provider}/callback (由后端自动构造,无需硬编码)

已修复

  • 邀请码向后兼容:在未显式设置 registration_mode 时,可正确解析其配置值 (从 registration_enabled 读取)
  • 多用户场景:全局 MCP 服务器不再与用户级工具发生冲突

[v0.7.2] - 2026-02-21

新增

  • 仅限邀请注册模式:新增支持三种模式 (开放/邀请/禁用) 的注册系统,以及邀请码 CRUD
  • 存储管理:按用户计算磁盘用量、清除命令、孤立文件清理
  • 按用户强制登出:管理员可撤销所有令牌并强制重新认证
  • 会话审核:管理员可列出并删除所有用户会话

变更

  • 管理面板:拆分为管理列表 (用户、API 密钥、智能体等) ,并统一采用下拉菜单操作模式

已修复

  • 管理后台列表分页:管理后台中的所有数据列表现已支持分页和搜索

[v0.7.1] - 2026-02-14

新增

  • API 健康仪表板:系统统计数据 (用户、会话、令牌、模型使用图表、按智能体划分的令牌明细) ,连接器调用指标 (成功率、延迟)
  • JWT 认证:基于令牌的 SSE 认证、会话所有权、按用户隔离资源
  • Admin API:智能体管理、按用户执行令牌配额限制 (超出时返回 429)

已修复

  • 令牌配额强制执行:ReAct 和 DAG 端点现在会在执行前检查每用户令牌配额

[v0.7] - 2026-02-07

新增

  • 管理平台 v0.7:提供支持搜索/分页的用户管理、角色切换、密码重置、账户启用/禁用、仅限邀请注册、按用户配额、会话审核和存储管理
  • 首次运行设置向导:首次启动时,门户会引导完成管理员账户创建 (用户名、密码、电子邮箱)
  • 个人中心:为每位用户提供适用于所有会话的全局系统指令
  • 语言偏好:按用户设置语言 (auto/en/zh) ,使所有 LLM 响应都使用所选语言

变更

  • 多租户认证:JWT 令牌强制执行会话所有权;智能体继承用户上下文

已修复

  • OAuth 账户绑定:已修正所有提供商在关联/登录流程中的电子邮箱匹配逻辑

[v0.6.5] - 2026-01-31

新增

  • 实用工具email_sendjson_transformtemplate_rendertext_utils
  • 连接器响应过滤CONNECTOR_RESPONSE_MAX_CHARSCONNECTOR_RESPONSE_MAX_ITEMS 限制
  • 嵌入模型选项:支持 Jina、OpenAI 和自定义嵌入提供商

已修复

  • RAG 流水线稳定性:改进了分块操作失败时的错误处理

[v0.6] - 2026-01-10

新增

  • 连接器平台 (核心功能)
    • 连接器 CRUD (创建、读取、更新、删除)
    • ConnectorToolAdapter 将连接器转换为工具注册表中的 BaseTool
    • 使用 AES-GCM 加密的用户级凭据
    • 用于写入操作的确认门
    • 用于连接失败场景的熔断机制
    • 操作分类 (读取/写入/管理)
    • 所有工具调用的审计日志
  • MCP 集成:通过 MCP 协议自动发现工具,并实现进程隔离
  • 连接器数据流示例:查询 → 治理 → MCP → 遗留系统

变更

  • 工具架构:统一的工具注册表支持内置工具、MCP 和连接器工具

已修复

  • 工具分类:所有内置工具均已正确标注分类

[v0.5] - 2025-12-20

新增

  • 完整 RAG 流水线:Jina 嵌入 + LanceDB 向量存储 + FTS + 倒数排名融合混合检索 + 重排器
  • 基于依据的生成:以证据为基础的 RAG,支持 [N] 引用、冲突检测和可解释的置信度评分
  • 知识库文档管理:分块级 CRUD、文本搜索、失败文档重试、向量存储模式自动迁移
  • 上下文保护器 + 置顶消息:令牌预算管理器;置顶消息受保护,不会被压缩整理

变更

  • 多轮记忆:位于 core/memory/db.py 的 DbMemory,以及位于 core/memory/compact.py 的 CompactUtils
  • LLM 压缩CompactUtils.llm_compact() 通过快速 LLM 对旧轮次进行总结
  • DAG 重新规划:最多循环至 MAX_REPLAN_ROUNDS=3;当 analysis.achieved=Falseconfidence < 0.5 时触发重新规划

已修复

  • 令牌溢出处理:由 LLM 驱动的自动摘要会遵守令牌预算限制

[v0.4] - 2025-11-15

新增

  • 多轮对话:数据库记忆可持久化会话历史;智能截断可处理长会话
  • 工具步骤折叠:UI 可折叠/展开工具调用步骤,以提升可读性
  • HTTP 请求工具:支持自定义请求头、认证和请求方法选择
  • Shell exec 工具:支持带超时控制的安全命令执行
  • 智能体管理:可创建、配置和发布绑定模型、工具及指令的智能体
  • 按智能体区分的执行模式:支持 Standard/Planner 模式切换和温度控制
  • JWT 认证:用于 API 调用的无状态令牌认证

变更

  • 记忆架构:ReAct 已完全接入数据库记忆;DAG 将历史记录作为增强后的查询前缀注入
  • 管理后台健康检查:同时监控通过 ENV 配置和在管理后台配置的模型

已修复

  • 多用户隔离:会话按用户隔离;智能体按用户限定作用域

[v0.3] - 2025-10-20

新增

  • 网页工具: web_search (Jina/Tavily/Brave) 、web_fetch,提供方可配置
  • 文件操作工具: 支持读取、写入、列出、删除,并带路径校验
  • MCP 客户端: 以协议为先的工具集成,支持进程隔离
  • 工具自动发现: builtin/__init__.py 中的 discover_builtin_tools()
  • 工具类别: computation、web、filesystem、knowledge、mcp、connector、general
  • DAG 可视化: 交互式流程图,支持实时状态、依赖边、点击滚动定位
  • Python/Node.js 执行: 在 Docker 中执行代码以实现隔离 (CODE_EXEC_BACKEND=docker)
  • 沙箱加固: --network=none--memory=256m、超时强制终止

变更

  • 工具接口:现已将所有工具分类;注册表支持筛选
  • 执行模型:DAG 执行器通过 asyncio 并发执行各步骤

已修复

  • 工具发现的稳健性:能够妥善处理缺失的可选依赖项

[v0.2] - 2025-09-15

新增

  • 重试与速率限制:针对临时性故障的自动指数退避
  • 使用情况跟踪:按请求统计令牌用量和成本
  • 原生函数调用:模型原生支持工具选择 (无需仅依赖 JSON 解析)
  • 多模型支持FAST_LLM_MODEL 用于以更低成本执行 DAG 步骤
  • 记忆系统:窗口记忆 (最近 N 轮) 、摘要记忆 (LLM 生成摘要) 、数据库记忆 (持久化)
  • FastAPI 后端/api/execute (ReAct) 、/api/stream (SSE 流式传输)

变更

  • LLM 抽象层:BaseLLM → OpenAICompatibleLLM,统一接口
  • ModelRegistry:集中式配置,自动选择提供方

已修复

  • 错误恢复:发生临时性 API 错误时自动重试

[v0.1] - 2025-08-01

新增

  • ReAct 代理:带工具的 Reason → Act → Observe 循环
  • DAGPlanner:由 LLM 生成依赖图,DAGExecutor 用于并发执行,计划分析器用于结果验证
  • BaseTool 框架:所有工具的统一接口
  • 计算器工具:算术表达式与公式求值
  • Python exec 工具:在隔离环境中执行代码
  • KaTeX 渲染:流式输出中的数学公式显示
  • JSON 模式解析:可靠的结构化输出处理
  • Portal UI:基于 Next.js 的 Web 界面,支持实时流式输出和深色/浅色/跟随系统主题
  • 初始文档:涵盖理念、架构和路线图的 Wiki 页面

已修复

  • 流式传输稳定性:完善了 SSE 错误处理和连接清理