v4.15.0
bytedance/deer-flowv4.15.0Jun 30, 2026by c121914yu
AI Summary
A major version release introducing Agent V2, a rewritten plugin system, loop nodes in workflows, and significant UI/UX improvements including smoother streaming and LLM-generated titles.
Key Highlights
- Agent V2 loop logic rewritten for improved stability in multi-round tool calls and flow orchestration.
- Plugin system architecture completely rewritten with support for runtime config and local-pool execution.
- Chatbox UI rewritten with faster scrolling, model-generated titles, and smoother streaming effects.
- New loop node added to workflows, deprecating the old batch execution node.
- Knowledge base search now supports native multimodal embedding models, image search, and agent mode permission filtering.
Breaking Changes
- Chat API interface abstraction changed (no longer binds to a specific app).
- Removed built-in `temperature` and `max_tokens` from LLM requests to avoid compatibility issues.
- Deprecated the old batch execution node.
New Features
- Agent V2 supports binding static Skills to run.
- Sandbox supports custom npm and pip sources.
- Multimodal models now support audio and video input.
- Support for directory depth environment variables (`MAX_FOLDER_DEPTH`).
- S3 supports CDN configuration.
- Third-party knowledge base supports DingTalk integration.
- Support for LLM-generated conversation titles.
Full Release Notes
## 📦 升级指南 [点击查看升级指南](https://doc.fastgpt.io/zh-CN/self-host/upgrading/4-15/41500) ## 🚀 新增内容 1. 新增技能模块,Agent V2 可绑定静态 Skill 来运行。 2. 重写 Agent V2 loop 逻辑,提升多轮工具调用和流程编排的稳定性。 3. 沙盒支持自定义 npm 和 pip 源。 4. 插件系统架构重写,支持插件级 runtime config,系统工具运行迁移到 local-pool。 5. 商业版支持本地直连 FastGPT 调试插件。 6. 重写 chatbox UI,支持快速滚动到底部、模型生成对话标题和更流畅的流式输出动效。 7. 支持通过 LLM 生成对话标题。 8. 新增循环节点,弃用旧的批量执行。 9. 知识库搜索支持原生多模态 embedding 模型、图搜图和 Agent 模式权限过滤。 10. 多模态模型支持音视频输入。 11. API 密钥逻辑优化,统一 APIKey 管理并由请求显式传入应用上下文。 12. 生成 DevAPI 和 System OpenAPI 两套 API 文档。 13. 支持快速回复的输出语法。 14. 第三方知识库新增钉钉知识库接入。 15. 增加模型思考配置。 16. 工作流模板导出支持同时导出名称和介绍。 17. 全局变量输入框支持输入 object 类型数据。 18. 工具调用模式下,如果开启虚拟机功能,用户对话框上传的文件会直接注入到虚拟机中。 19. 增加文件解析、HTML 转 Markdown、文本切块 worker pool,避免并发太高导致资源耗尽。 20. 支持目录深度环境变量,避免无限嵌套目录。可配置环境变量 `MAX_FOLDER_DEPTH`。 21. S3 支持配置 CDN。 22. Rerank 支持配置 defaultConfig。 23. 分享链接/门户页支持语言切换,不再强制自动识别浏览器语言。 24. Chat API 增加 `dataId` 重复校验,避免脏数据进入工作流与流恢复合并逻辑。 25. HTTP 节点支持配置忽略 TLS 证书校验,并支持返回完整错误对象。 ## ⚙️ 优化 1. 插件运行入口支持从对象存储拉取,并缓存到本地文件目录。 2. 优化 OTEL 日志采集格式。 3. 禁用工作流无效连接模式。 4. 增加父子节点选中互斥功能,解决同时选中父子节点时移动节点抖动的问题。 5. 优化工作流节点名称、介绍输入和超长名称适配。 6. 工作流编辑页因登录失效跳出后,自动保存草稿用于恢复。 7. 工作流运行详情中,表单输入节点的文件字段以文件列表形式展示。 8. 工作流数组引用类型增强校验,避免与二维数据冲突。 9. 图片处理线程支持配置是否转化成 base64 发送给模型,`MULTIPLE_DATA_TO_BASE64=true` 变量。 10. HTML 输出后自动切换为预览,减少手动打开预览的操作。 11. 流恢复暂停和异常中断恢复体验优化,减少会话卡在「生成中」或停止态不准确的问题。 12. 切换应用时按应用恢复最近会话,切换团队时清除本地 chat 缓存。 13. 优化知识库搜索测试交互和知识库数据编辑弹窗。 14. 知识库被删除后,应用编排时优雅提示。 15. 知识库训练出现错误时优化提示,并支持一键全部重试。 16. 过滤掉无效的知识库引用角标。 17. PDF 解析将 PDFJs 替换为 `liteparse`,速度提高 3 倍。 18. xlsx 解析自动去除空行空列,并补充合并单元格。 19. 输入引导配置增加校验,避免错误配置自定义词库地址。 20. 加强第三方知识库请求、HTTP tool parse、IP 检测和 Code Sandbox AST 检查等安全防护。 21. 文件注入 messages 位置从 system 调整至 user,便于命中缓存。 22. reason hide 开关完善,确保 UI 不显示时,请求 LLM 仍可保留 reason。 23. chat2messages adapt 优化,避免出现独立的 reason。 24. 工具运行空响应时自动补充 `none`,避免部分模型报错。 25. 非管理员/访客触发余额不足时,优化提示。 26. 无创建权限时隐藏模板功能。 27. 应用、知识库、文件和文件夹等长名称展示优化:超出宽度时自动省略,hover 名称时展示完整内容。 28. 技能模块相关弹窗、编辑交互和列表接口性能优化。 29. 登录页 UI 优化。 30. 站点同步限流错误提示去重。 31. 应用/知识库增加虚拟列表渲染,优化大列表加载性能。 32. LLM 请求追踪记录增加团队隔离,避免 `requestId` 被跨团队用于读取请求体、知识库召回片段和模型响应。 ## 🐛 修复 1. 修复 Agent V2 模式下,模型响应报错会导致 step 重复执行。 2. 修复知识库源文件预览和下载时文本类型响应缺少 charset 的问题。 3. 修复工作流单节点调试存在异常默认值的问题。 4. 修复模型配置 `defaultConfig` 覆盖异常。 5. 修复 TTS 语音播放适配最新 OpenAI SDK 时的报错。 6. 修复知识库数据分块遇到代码块时可能出现超大分块的问题。 7. 修复模型获取多模态文件链接异常。 8. 修复 training 接口、HTTP tool parse 和 S3 私有对象 key 相关的潜在安全风险。 9. 修复交互节点后的工具调用展开 MCP 工具异常。 10. 修复工作流工具 array 和 object 类型工具调用参数 schema 异常。 11. 修复发布渠道 - 门户 UI 偏移。 12. 修复 v1/completions 接口 `nodeResponse` 中 `quoteList` 未返回 `q`、`a` 的问题。 13. 修复对话流恢复过程中的表单回填、文件列表恢复、节点响应保留、重复交互追加、临时历史标题和跨应用会话串显问题。 14. 停止会话提示改为与后端生成态同步,移除停止时的 warning toast。 15. v1/chat/completions 接口,返回 nodeResponse 时候,过滤掉了 q/a/index,该版本恢复返回。 ## 🛠️ 代码优化 1. 调整整体代码结构,升级 Next.js 并切换至 Turbopack 构建;容器默认 Node.js 升级至 24。 2. 统一 Agent tool 的声明和运行方式。 3. 插件服务从旧 `runtime` 结构调整为 pnpm workspace monorepo,拆分为 HTTP 服务入口、领域模型、用例、API adapter、基础设施、SDK 和 CLI。 4. app API 接口统一使用 zod schema 编写并生成文档。 5. 拆分 AI request、工作流运行详情和对话框相关代码,降低模块耦合。 6. 优化用户自定义密钥计费逻辑和 token 计算依赖。 7. 服务端 env 加载统一使用 `@t3-oss/env-core`,增加类型检查;其余服务也采用集中导出 env 的方式使用环境变量。 8. 升级工程化工具链,包括 ESLint、Prettier、textlint、lint-staged 和 TS6。 9. 优化单测性能,全量测试从 10 分钟降至 5 分钟。 10. GitHub Action 增强安全性。 11. 流恢复相关模块补充设计文档与单元测试。 12. volume manager 从 Bun 改为 Node.js 运行。 13. 及时处理 worker 内图片,不再存留 base64,降低内存消耗。 14. 增加系统处理字符串时的长度保护,如果长度过大会停止继续同步替换,避免高 CPU 负载。 15. 工作流运行的 nodeResponse 改为扁平化存储,避免大的嵌套工作流保存失败。 16. 移除所有内置 LLM 请求中的 `temperature` 和 `max_tokens`,避免部分模型不兼容。 17. 修复工作流节点配置中 `FlowNodeInputTypeEnum.*`、`FlowNodeOutputTypeEnum.*` 和 `WorkflowIOValueTypeEnum.*` 枚举表达式字符串脏数据导致输入渲染和 IO 类型判断异常的问题。 18. 工作流文本框,ctrl+c 复制文本内容时,会被节点复制抢占,导致无法复制文本。 19. chat 接口抽象,不再绑定 app, 改成平台级别通用。 ## What's Changed * perf: agent tool code by @c121914yu in https://github.com/labring/FastGPT/pull/6798 * perf: wechat channel by @c121914yu in https://github.com/labring/FastGPT/pull/6800 * perf: SSRF check by @c121914yu in https://github.com/labring/FastGPT/pull/6805 * fix(storage): swap reversed sourceKey/targetKey in OssStorageAdapter.copyObjectInSelfBucket by @octo-patch in https://github.com/labring/FastGPT/pull/6806 * fix(embedding): decode base64 embedding responses before vector processing by @octo-patch in https://github.com/labring/FastGPT/pull/6807 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/6810 * helper-error by @YYH211 in https://github.com/labring/FastGPT/pull/6802 * Update 41411.mdx by @c121914yu in https://github.com/labring/FastGPT/pull/6811 * perf: adapt reason text by @c121914yu in https://github.com/labring/FastGPT/pull/6812 * fix: messages adapt test by @c121914yu in https://github.com/labring/FastGPT/pull/6813 * feat(workflow): add loop run node with start/break sub-nodes by @DigHuang in https://github.com/labring/FastGPT/pull/6797 * feat: support multiple valueTypes for text input variables by @DigHuang in https://github.com/labring/FastGPT/pull/6801 * chore(workflow): deprecate loop node and add deprecation skill by @DigHuang in https://github.com/labring/FastGPT/pull/6815 * perf: stop loop by @c121914yu in https://github.com/labring/FastGPT/pull/6816 * chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /document by @dependabot[bot] in https://github.com/labring/FastGPT/pull/6814 * fix: adapt systemTool by @c121914yu in https://github.com/labring/FastGPT/pull/6817 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/6818 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/6819 * update doc by @c121914yu in https://github.com/labring/FastGPT/pull/6823 * Update sdk by @c121914yu in https://github.com/labring/FastGPT/pull/6824 * fix: template height by @c121914yu in https://github.com/labring/FastGPT/pull/6825 * fix(workflow): clarify multi-select tooltip copy by @amingbo in https://github.com/labring/FastGPT/pull/6827 * fix(drag): mutex selection between nested parent and child nodes by @DigHuang in https://github.com/labring/FastGPT/pull/6821 * api_dataset_error by @YYH211 in https://github.com/labring/FastGPT/pull/6828 * chore: bump pro submodule for hydration stability by @xqvvu in https://github.com/labring/FastGPT/pull/6808 * update shell by @c121914yu in https://github.com/labring/FastGPT/pull/6830 * fix: file-bug by @YYH211 in https://github.com/labring/FastGPT/pull/6799 * .codex by @c121914yu in https://github.com/labring/FastGPT/pull/6832 * chore: update actions workflow yamls by @xqvvu in https://github.com/labring/FastGPT/pull/6835 * fix: home chat file uploads by @xqvvu in https://github.com/labring/FastGPT/pull/6838 * [codex] chore: add skip file type check env by @xqvvu in https://github.com/labring/FastGPT/pull/6839 * fix: step-retry-error by @YYH211 in https://github.com/labring/FastGPT/pull/6829 * sandbox tool inject by @c121914yu in https://github.com/labring/FastGPT/pull/6836 * [security] fix(app): validate stored MCP tool URLs by @Hinotoi-agent in https://github.com/labring/FastGPT/pull/6826 * chore: update admin release workflow by @xqvvu in https://github.com/labring/FastGPT/pull/6842 * fix(share): show contact admin message and hide plan button for visitors on insufficient AI points by @DigHuang in https://github.com/labring/FastGPT/pull/6846 * Action by @c121914yu in https://github.com/labring/FastGPT/pull/6847 * perf: template permission by @c121914yu in https://github.com/labring/FastGPT/pull/6848 * perf: catch error toast by @c121914yu in https://github.com/labring/FastGPT/pull/6849 * perf: ssrf check by @c121914yu in https://github.com/labring/FastGPT/pull/6852 * perf: codex-sandbox check by @c121914yu in https://github.com/labring/FastGPT/pull/6851 * fix: skip allowed extensions by @xqvvu in https://github.com/labring/FastGPT/pull/6854 * fix: stt usage by @c121914yu in https://github.com/labring/FastGPT/pull/6855 * fix(workflow): relax variable update reference validation to ignore stale valueType by @DigHuang in https://github.com/labring/FastGPT/pull/6859 * feat(reason): configurable reasoning effort with tool-call propagation by @DigHuang in https://github.com/labring/FastGPT/pull/6837 * feat: dingding dataset by @YYH211 in https://github.com/labring/FastGPT/pull/6856 * feat(app): sync aiChatReasoningEffort in SimpleApp form and refine AI settings inputs by @DigHuang in https://github.com/labring/FastGPT/pull/6862 * fix: use upload control file config by @xqvvu in https://github.com/labring/FastGPT/pull/6858 * fix: scope chat resume to current app by @xqvvu in https://github.com/labring/FastGPT/pull/6860 * chore(deps): bump mongoose from 8.12.1 to 8.22.1 by @dependabot[bot] in https://github.com/labring/FastGPT/pull/6870 * chore(deps): bump axios from 1.13.6 to 1.15.2 by @dependabot[bot] in https://github.com/labring/FastGPT/pull/6871 * Pick by @c121914yu in https://github.com/labring/FastGPT/pull/6875 * Perf worker and env load by @c121914yu in https://github.com/labring/FastGPT/pull/6861 * perf: ip check by @c121914yu in https://github.com/labring/FastGPT/pull/6850 * Doc by @c121914yu in https://github.com/labring/FastGPT/pull/6880 * fix: doc by @c121914yu in https://github.com/labring/FastGPT/pull/6881 * redirect by @c121914yu in https://github.com/labring/FastGPT/pull/6884 * redirect by @c121914yu in https://github.com/labring/FastGPT/pull/6885 * redirect by @c121914yu in https://github.com/labring/FastGPT/pull/6886 * chore: bump and clean deps by @xqvvu in https://github.com/labring/FastGPT/pull/6878 * fix: redirect by @c121914yu in https://github.com/labring/FastGPT/pull/6887 * fix: ts by @c121914yu in https://github.com/labring/FastGPT/pull/6890 * rerank config by @YYH211 in https://github.com/labring/FastGPT/pull/6892 * docs: update ai settings guide by @DigHuang in https://github.com/labring/FastGPT/pull/6894 * fix: form input icon store by @c121914yu in https://github.com/labring/FastGPT/pull/6891 * support cdn in s3 by @c121914yu in https://github.com/labring/FastGPT/pull/6896 * chore: migrate eslint config by @xqvvu in https://github.com/labring/FastGPT/pull/6895 * fix: reduce base64 image payloads by @c121914yu in https://github.com/labring/FastGPT/pull/6897 * fix: support older browsers for share page by @c121914yu in https://github.com/labring/FastGPT/pull/6903 * fix: invalidate team vector count cache after vector changes by @c121914yu in https://github.com/labring/FastGPT/pull/6902 * chore: upgrade lint toolchain by @xqvvu in https://github.com/labring/FastGPT/pull/6901 * fix: share field filter by @c121914yu in https://github.com/labring/FastGPT/pull/6905 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/6906 * fix: detect v1 client abort explicitly by @c121914yu in https://github.com/labring/FastGPT/pull/6908 * fix: avoid client abort close false positives by @c121914yu in https://github.com/labring/FastGPT/pull/6910 * refactor: record message into otel body instead of attributes by @xqvvu in https://github.com/labring/FastGPT/pull/6911 * chore(deps): bump mermaid from 10.9.4 to 10.9.6 by @dependabot[bot] in https://github.com/labring/FastGPT/pull/6917 * fix: clear reference values in node debug by @c121914yu in https://github.com/labring/FastGPT/pull/6915 * fix: tool connection by @c121914yu in https://github.com/labring/FastGPT/pull/6919 * docs: add root password FAQ by @c121914yu in https://github.com/labring/FastGPT/pull/6921 * ci: preview sandbox proxy image by @DigHuang in https://github.com/labring/FastGPT/pull/6930 * fix: scroll chat resume to bottom by @xqvvu in https://github.com/labring/FastGPT/pull/6928 * fix(document): prevent path traversal in meta API route by @sebastiondev in https://github.com/labring/FastGPT/pull/6931 * style(input): horizontal padding to input field by @DigHuang in https://github.com/labring/FastGPT/pull/6937 * ci: move sandbox proxy to release workflow by @DigHuang in https://github.com/labring/FastGPT/pull/6934 * fix: defaultconfig by @c121914yu in https://github.com/labring/FastGPT/pull/6938 * chore: disable turbopack dev/build fs cache by @xqvvu in https://github.com/labring/FastGPT/pull/6939 * feat: add image dataset UI by @YYH211 in https://github.com/labring/FastGPT/pull/6932 * Agent loop by @c121914yu in https://github.com/labring/FastGPT/pull/6925 * perf: workflow v1 abort check by @c121914yu in https://github.com/labring/FastGPT/pull/6945 * feat: support image dataset search by @YYH211 in https://github.com/labring/FastGPT/pull/6942 * Update 41420.mdx by @c121914yu in https://github.com/labring/FastGPT/pull/6947 * fix: make file_url name optional by @c121914yu in https://github.com/labring/FastGPT/pull/6951 * fix(oss): use list() instead of getBucketInfo() in ensureBucket to avoid bundling issue by @octo-patch in https://github.com/labring/FastGPT/pull/6833 * fix: make external S3 endpoint check non-blocking during health check by @TheOne-Xin in https://github.com/labring/FastGPT/pull/6864 * fix(s3): use Buffer instead of string for health check body by @shikaiwei1 in https://github.com/labring/FastGPT/pull/6913 * fix: set charset for source file previews by @YYH211 in https://github.com/labring/FastGPT/pull/6916 * chore: suppress API input Zod error noise by @xqvvu in https://github.com/labring/FastGPT/pull/6952 * fix: docs by @xqvvu in https://github.com/labring/FastGPT/pull/6955 * fix: default model by @c121914yu in https://github.com/labring/FastGPT/pull/6957 * fix: clear chat cache when switching teams by @xqvvu in https://github.com/labring/FastGPT/pull/6956 * Support image embedding indexes for multimodal dataset search by @YYH211 in https://github.com/labring/FastGPT/pull/6948 * perf: adapt messages by @c121914yu in https://github.com/labring/FastGPT/pull/6959 * fix: reason by @c121914yu in https://github.com/labring/FastGPT/pull/6963 * fix: chatitem animation by @c121914yu in https://github.com/labring/FastGPT/pull/6965 * Merge tmp-chat into main by @xqvvu in https://github.com/labring/FastGPT/pull/6958 * feat(skill): edit-debug iframe via standalone sandbox-proxy by @DigHuang in https://github.com/labring/FastGPT/pull/6879 * fix: volumn manager by @c121914yu in https://github.com/labring/FastGPT/pull/6971 * perf: deploy by @c121914yu in https://github.com/labring/FastGPT/pull/6972 * Package by @c121914yu in https://github.com/labring/FastGPT/pull/6973 * Fix deploy yml by @c121914yu in https://github.com/labring/FastGPT/pull/6974 * perf: yml proxy by @c121914yu in https://github.com/labring/FastGPT/pull/6975 * perf: quote code by @c121914yu in https://github.com/labring/FastGPT/pull/6977 * Perf code by @c121914yu in https://github.com/labring/FastGPT/pull/6978 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/6981 * chore: remove logger package by @xqvvu in https://github.com/labring/FastGPT/pull/6979 * feat: support multimodal LLM inputs by @YYH211 in https://github.com/labring/FastGPT/pull/6967 * feat(app): introduce resource reference index and optimize skill appCount query performance by @DigHuang in https://github.com/labring/FastGPT/pull/6980 * test: parallelize Mongo-backed Vitest suites by @c121914yu in https://github.com/labring/FastGPT/pull/6984 * fix(service): convert web readable stream to node stream in text2Speech by @DigHuang in https://github.com/labring/FastGPT/pull/6985 * refactor(chat): split ChatBox into hooks, utils and UI modules by @xqvvu in https://github.com/labring/FastGPT/pull/6966 * upgrade ts6 by @c121914yu in https://github.com/labring/FastGPT/pull/6986 * fix(chat): isolate share chat cache keys by @xqvvu in https://github.com/labring/FastGPT/pull/6988 * refactor(web): upgrade v2 MyModal padding layout and migrate skill workspace modals by @DigHuang in https://github.com/labring/FastGPT/pull/6987 * feat: persist share chat language preference by @YYH211 in https://github.com/labring/FastGPT/pull/6982 * feat(app): implement workflow node inline edit and spacing updates by @DigHuang in https://github.com/labring/FastGPT/pull/6989 * chore: harden GitHub Actions workflows by @c121914yu in https://github.com/labring/FastGPT/pull/6991 * fix: clarify MCP key runtime authorization snapshot by @c121914yu in https://github.com/labring/FastGPT/pull/6992 * Fix chat login by @c121914yu in https://github.com/labring/FastGPT/pull/6993 * chore: require OpenSandbox credentials by @c121914yu in https://github.com/labring/FastGPT/pull/6994 * fix: harden code sandbox resource limits by @c121914yu in https://github.com/labring/FastGPT/pull/6997 * refactor(skill): remove duplicate name constraint for skills and folders by @DigHuang in https://github.com/labring/FastGPT/pull/6995 * fix(app): restrict nodrag class to active editing state in InlineEdit by @DigHuang in https://github.com/labring/FastGPT/pull/7000 * style(app): optimize non-active hover effect in InlineEdit by @DigHuang in https://github.com/labring/FastGPT/pull/7002 * fix: isolate Agent V2 chat preview state by @xqvvu in https://github.com/labring/FastGPT/pull/7005 * fix: dataset code block splitting by @YYH211 in https://github.com/labring/FastGPT/pull/6998 * refactor(skill): offload skill package decompression to sandbox container by @DigHuang in https://github.com/labring/FastGPT/pull/7004 * Add local workflow draft cache and restore flow by @FinleyGe in https://github.com/labring/FastGPT/pull/6923 * feat(code-sandbox): add queueId concurrency limit by @c121914yu in https://github.com/labring/FastGPT/pull/7008 * fix: login ui by @shortlight5980 in https://github.com/labring/FastGPT/pull/7009 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/7011 * fix: workflow by @c121914yu in https://github.com/labring/FastGPT/pull/7012 * perf: remove concat by @c121914yu in https://github.com/labring/FastGPT/pull/7013 * fix: network by @c121914yu in https://github.com/labring/FastGPT/pull/7014 * feat: add context compression benchmark adapter by @YYH211 in https://github.com/labring/FastGPT/pull/7015 * feat: add browser sandbox image packaging by @c121914yu in https://github.com/labring/FastGPT/pull/7017 * fix: avoid disallowed browser sandbox workflow action by @c121914yu in https://github.com/labring/FastGPT/pull/7018 * fix: repair browser sandbox image workflow by @c121914yu in https://github.com/labring/FastGPT/pull/7019 * feat: add domestic browser sandbox search providers by @c121914yu in https://github.com/labring/FastGPT/pull/7022 * fix: build browser sandbox SDK dependency in image workflow by @c121914yu in https://github.com/labring/FastGPT/pull/7023 * perf: openapi doc by @c121914yu in https://github.com/labring/FastGPT/pull/7025 * revert: rollback openapi app docs to previous version by @c121914yu with @Copilot in https://github.com/labring/FastGPT/pull/7026 * fix: team getTeamStandPlan mongo query lean by @FinleyGe in https://github.com/labring/FastGPT/pull/7029 * fix: align dataset index modal layout by @YYH211 in https://github.com/labring/FastGPT/pull/7032 * feat(app): Implement local virtual pagination for dashboard app lists by @shortlight5980 in https://github.com/labring/FastGPT/pull/7021 * fix: input guide by @c121914yu in https://github.com/labring/FastGPT/pull/7033 * app openapi by @c121914yu in https://github.com/labring/FastGPT/pull/7031 * Update SSO service image version to v4.14.16 by @Deepturn in https://github.com/labring/FastGPT/pull/7036 * feat: upgrade MiniMax default model to M3 by @octo-patch in https://github.com/labring/FastGPT/pull/7046 * doc action by @c121914yu in https://github.com/labring/FastGPT/pull/7048 * debug: workflow create knowledge base error by @shortlight5980 in https://github.com/labring/FastGPT/pull/7050 * refactor: plugin by @FinleyGe in https://github.com/labring/FastGPT/pull/7049 * fix: preserve two-column table workflow inputs by @YYH211 in https://github.com/labring/FastGPT/pull/7051 * fix: stabilize agent sandbox mentions by @YYH211 in https://github.com/labring/FastGPT/pull/7027 * perf: node type adapt by @c121914yu in https://github.com/labring/FastGPT/pull/7054 * chore: plugin by @FinleyGe in https://github.com/labring/FastGPT/pull/7056 * fix: app detail rewrite workaround by @FinleyGe in https://github.com/labring/FastGPT/pull/7058 * perf: tool invoke log by @FinleyGe in https://github.com/labring/FastGPT/pull/7061 * fix: file url in model by @c121914yu in https://github.com/labring/FastGPT/pull/7060 * Deleted show by @shortlight5980 in https://github.com/labring/FastGPT/pull/7043 * fix: filter workflow debug inputs by @YYH211 in https://github.com/labring/FastGPT/pull/7062 * Refactor chat UI by @xqvvu in https://github.com/labring/FastGPT/pull/7024 * feat(app): 支持导入导出应用名称与介绍 by @shortlight5980 in https://github.com/labring/FastGPT/pull/7041 * [ImgBot] Optimize images by @imgbot[bot] in https://github.com/labring/FastGPT/pull/7065 * chore: polish chat UI behavior by @xqvvu in https://github.com/labring/FastGPT/pull/7068 * Doc by @c121914yu in https://github.com/labring/FastGPT/pull/7063 * feat: add liteparse by @c121914yu in https://github.com/labring/FastGPT/pull/7069 * perf: chatui by @c121914yu in https://github.com/labring/FastGPT/pull/7070 * fix: bind dataset training operations to collection ownership by @c121914yu in https://github.com/labring/FastGPT/pull/7071 * fix: guard OpenAPI schema refs during HTTP tool import by @c121914yu in https://github.com/labring/FastGPT/pull/7073 * feat: upload parsed docx images from read file worker by @c121914yu in https://github.com/labring/FastGPT/pull/7072 * feat: new tool node get the latest version rather than keep latest by @FinleyGe in https://github.com/labring/FastGPT/pull/7064 * fix: polish chat UI interactions by @xqvvu in https://github.com/labring/FastGPT/pull/7076 * fix: load agent runtime tool schemas by @c121914yu in https://github.com/labring/FastGPT/pull/7077 * docs(plugin): docs for plugin intro and development by @FinleyGe in https://github.com/labring/FastGPT/pull/7079 * chore: render tool readmes in v2 modals & fix multiselect schema in agent by @FinleyGe in https://github.com/labring/FastGPT/pull/7082 * fix: move index action i18n to common by @YYH211 in https://github.com/labring/FastGPT/pull/7088 * fix: preserve xlsx merged cells in read file worker by @YYH211 in https://github.com/labring/FastGPT/pull/7083 * perf: virtualize plugin grid rendering & agent tool select modal by @FinleyGe in https://github.com/labring/FastGPT/pull/7089 * perf: rewrite node response storage by @c121914yu in https://github.com/labring/FastGPT/pull/7040 * fix: optimize chat ui behavior by @xqvvu in https://github.com/labring/FastGPT/pull/7086 * Update marketplace by @c121914yu in https://github.com/labring/FastGPT/pull/7093 * fix: svg by @c121914yu in https://github.com/labring/FastGPT/pull/7094 * Update marketplace by @c121914yu in https://github.com/labring/FastGPT/pull/7097 * fix: optimize top agent prompt by @YYH211 in https://github.com/labring/FastGPT/pull/7095 * feat: improve code block rendering by @siiigure in https://github.com/labring/FastGPT/pull/7066 * fix: align mobile chat headers by @xqvvu in https://github.com/labring/FastGPT/pull/7100 * Codex/siigure http https by @siiigure in https://github.com/labring/FastGPT/pull/7085 * debug: import compatibility issue by @shortlight5980 in https://github.com/labring/FastGPT/pull/7099 * docs(workflow): loop run node user documentation by @DigHuang in https://github.com/labring/FastGPT/pull/7098 * Add client IP proxy troubleshooting notes by @xqvvu in https://github.com/labring/FastGPT/pull/7102 * feat: tooltip by @siiigure in https://github.com/labring/FastGPT/pull/7087 * Fix login language synchronization by @YYH211 in https://github.com/labring/FastGPT/pull/7101 * fix: optimize agent v2 tool labels by @YYH211 in https://github.com/labring/FastGPT/pull/7096 * fix: bind S3 object keys to authorized resources by @c121914yu in https://github.com/labring/FastGPT/pull/7104 * fix: normalize uploaded file extension to lowercase (#6996) by @DadaVinqi in https://github.com/labring/FastGPT/pull/7105 * [codex] remove duplicate chat log error detail by @c121914yu in https://github.com/labring/FastGPT/pull/7109 * perf: reduce workflow variable replacement CPU cost by @c121914yu in https://github.com/labring/FastGPT/pull/7108 * Chat UI improvement by @xqvvu in https://github.com/labring/FastGPT/pull/7118 * Use JSON extraction for content extract node by @YYH211 in https://github.com/labring/FastGPT/pull/7117 * folder-depth-limit by @siiigure in https://github.com/labring/FastGPT/pull/7103 * perf: node store by @c121914yu in https://github.com/labring/FastGPT/pull/7112 * fix: include query extension selection time by @YYH211 in https://github.com/labring/FastGPT/pull/7119 * feat: dataset error list by @shortlight5980 in https://github.com/labring/FastGPT/pull/7084 * fix: update pro modal titles in multiple languages for consistency by @siiigure in https://github.com/labring/FastGPT/pull/7107 * Fix/bug1 by @siiigure in https://github.com/labring/FastGPT/pull/7115 * feat(sandbox): migrate to standalone Rust proxy and implement stateless WSS gateway with dynamic file sync by @DigHuang in https://github.com/labring/FastGPT/pull/7034 * refactor(fastgpt): update default fastgpt-ide-agent image to ghcr.io by @DigHuang in https://github.com/labring/FastGPT/pull/7124 * fix: 数据集更新接口不支持 API Key 鉴权 (#7006) by @DadaVinqi in https://github.com/labring/FastGPT/pull/7123 * feat: chat title generate by @c121914yu in https://github.com/labring/FastGPT/pull/7120 * refactor(app): optimize tool selector UI/UX by @FinleyGe in https://github.com/labring/FastGPT/pull/7127 * fix: action by @c121914yu in https://github.com/labring/FastGPT/pull/7128 * fix(sandbox): resolve inotify infinite loops & proxy loopback connection by @DigHuang in https://github.com/labring/FastGPT/pull/7129 * fix: slider title by @c121914yu in https://github.com/labring/FastGPT/pull/7130 * Fix chat by @c121914yu in https://github.com/labring/FastGPT/pull/7131 * fix: make whisper config fields optional by @FinleyGe in https://github.com/labring/FastGPT/pull/7133 * Fix/http nodes by @siiigure in https://github.com/labring/FastGPT/pull/7111 * refactor: align system tool JSON schema codec by @FinleyGe in https://github.com/labring/FastGPT/pull/7116 * feat(app): filter unavailable tools in system tool selector by @FinleyGe in https://github.com/labring/FastGPT/pull/7138 * feat(openapi): refine API key auth proxy and app isolation by @FinleyGe in https://github.com/labring/FastGPT/pull/7126 * refactor(skill): optimize publish flow & upgrade sandbox images by @DigHuang in https://github.com/labring/FastGPT/pull/7132 * feat: route helper bot generation through pro by @YYH211 in https://github.com/labring/FastGPT/pull/7137 * fix: strip admin plugin IO schemas by @FinleyGe in https://github.com/labring/FastGPT/pull/7141 * perf: invalid quote filter by @c121914yu in https://github.com/labring/FastGPT/pull/7139 * fix(agent): pass uploaded file urls to tools by @FinleyGe in https://github.com/labring/FastGPT/pull/7091 * fix: 短代码块跟随代码长度显示 by @siiigure in https://github.com/labring/FastGPT/pull/7142 * feat: add agent dataset auth entry by @FinleyGe in https://github.com/labring/FastGPT/pull/7140 * fix: update private list permission count by @FinleyGe in https://github.com/labring/FastGPT/pull/7143 * Fix/playground-visibility-config-layout by @siiigure in https://github.com/labring/FastGPT/pull/7135 * perf(app): optimize tool selector performance by @FinleyGe in https://github.com/labring/FastGPT/pull/7148 * fix(permission): optimize private resource check and deduplicate collaborators by @FinleyGe in https://github.com/labring/FastGPT/pull/7147 * fix(skill): resolve debug chat state mismatch & simplify test container by @DigHuang in https://github.com/labring/FastGPT/pull/7146 * fix: preserve system tool child icons by @FinleyGe in https://github.com/labring/FastGPT/pull/7144 * fix(mcp): only fall back to legacy SSE transport on a 4xx Streamable HTTP error by @serhiizghama in https://github.com/labring/FastGPT/pull/7154 * perf: http repalce by @c121914yu in https://github.com/labring/FastGPT/pull/7156 * feat: optimize context compression algorithm by @YYH211 in https://github.com/labring/FastGPT/pull/7052 * adapt old version config by @c121914yu in https://github.com/labring/FastGPT/pull/7158 * feat(markdown): add quick replies feature and related styling by @siiigure in https://github.com/labring/FastGPT/pull/7136 * extract log by @c121914yu in https://github.com/labring/FastGPT/pull/7161 * feat(chat): improve chat feedback interactions by @xqvvu in https://github.com/labring/FastGPT/pull/7160 * feat: gate app api keys by auth option by @FinleyGe in https://github.com/labring/FastGPT/pull/7162 * debug: training count error by @shortlight5980 in https://github.com/labring/FastGPT/pull/7169 * Handle Agent V2 helper Pro modal by @YYH211 in https://github.com/labring/FastGPT/pull/7168 * fix(agent): normalize empty tool responses by @YYH211 in https://github.com/labring/FastGPT/pull/7171 * feat: refine chat log feedback actions by @xqvvu in https://github.com/labring/FastGPT/pull/7172 * fix: require invoke token secret configuration by @FinleyGe in https://github.com/labring/FastGPT/pull/7170 * feat(sandbox): support sandbox and skill version entrypoint scripts by @DigHuang in https://github.com/labring/FastGPT/pull/7145 * [codex] secure code sandbox secret isolation by @c121914yu in https://github.com/labring/FastGPT/pull/7173 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/7174 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/7175 * deploy doc by @c121914yu in https://github.com/labring/FastGPT/pull/7178 * Fix test by @c121914yu in https://github.com/labring/FastGPT/pull/7179 * feat: integrate Skill assisted generation by @YYH211 in https://github.com/labring/FastGPT/pull/7166 * fix: agent v2 plan select expand/fold animation by @xqvvu in https://github.com/labring/FastGPT/pull/7181 * feat(app): persist skill debug sessions and optimize playground UI by @DigHuang in https://github.com/labring/FastGPT/pull/7180 * fix: translations by @xqvvu in https://github.com/labring/FastGPT/pull/7182 * refactor(sandbox): unify runtime preparation flow and support package mirrors by @DigHuang in https://github.com/labring/FastGPT/pull/7184 * feat(ide-agent): add filesystem exec and path operations support by @DigHuang in https://github.com/labring/FastGPT/pull/7191 * feat: support source typed skill edit chat by @c121914yu in https://github.com/labring/FastGPT/pull/7185 * feat: add skill context for agent helper generation by @YYH211 in https://github.com/labring/FastGPT/pull/7187 * Docs updates and fix portal chat tool call issue by @YYH211 in https://github.com/labring/FastGPT/pull/7194 * fix(chat): align share chat history controls by @xqvvu in https://github.com/labring/FastGPT/pull/7195 * feat(sandbox): support runtime upgrade and advanced file/command operations by @DigHuang in https://github.com/labring/FastGPT/pull/7189 * feat(plugin): support local plugin debug channel by @FinleyGe in https://github.com/labring/FastGPT/pull/7176 * Change fastgpt-agent-sandbox-proxy tag to v0.2.0-beta2 by @Deepturn in https://github.com/labring/FastGPT/pull/7196 * fix: title generation and fix chat api parase by @c121914yu in https://github.com/labring/FastGPT/pull/7192 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/7201 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/7202 * feat(docs): add mermaid diagram support by @FinleyGe in https://github.com/labring/FastGPT/pull/7203 * fix: constrain update_plan schema by action by @YYH211 in https://github.com/labring/FastGPT/pull/7204 * feat(sandbox): support dynamic WS limits, multipart upload and migrate conflict detection in rust agent by @DigHuang in https://github.com/labring/FastGPT/pull/7206 * feat(sandbox): support dynamic WS limits and multipart upload by @DigHuang in https://github.com/labring/FastGPT/pull/7205 * fix: sanitize private tool schema fields by @FinleyGe in https://github.com/labring/FastGPT/pull/7207 * feat(sandbox): support ReadableStream upload and auto refresh workspace by @DigHuang in https://github.com/labring/FastGPT/pull/7209 * fix: preserve Agent V2 MCP runtime schemas by @FinleyGe in https://github.com/labring/FastGPT/pull/7208 * perf: init workflow by @c121914yu in https://github.com/labring/FastGPT/pull/7210 * doc by @c121914yu in https://github.com/labring/FastGPT/pull/7211 * refactor: migrate community config to env vars by @xqvvu in https://github.com/labring/FastGPT/pull/7200 * perf: dispatch chat;perf env by @c121914yu in https://github.com/labring/FastGPT/pull/7213 * feat(sandbox): require AGENT_SANDBOX_SEALOS_IMAGE for sealosdevbox by @DigHuang in https://github.com/labring/FastGPT/pull/7214 * mobile voice input by @c121914yu in https://github.com/labring/FastGPT/pull/7215 * chore(deps): update @fastgpt-plugin/sdk-client to 0.0.1 by @FinleyGe in https://github.com/labring/FastGPT/pull/7212 * fix: use proxy download links for files by @xqvvu in https://github.com/labring/FastGPT/pull/7217 * build(marketplace): add @fastgpt-sdk/sandbox-adapter to build filter by @FinleyGe in https://github.com/labring/FastGPT/pull/7218 * Doc by @c121914yu in https://github.com/labring/FastGPT/pull/7219 * refactor(account-team): extract permission table header label by @FinleyGe in https://github.com/labring/FastGPT/pull/7221 * feat: add duplicate chat cleanup API by @xqvvu in https://github.com/labring/FastGPT/pull/7223 * build(marketplace): include benchmark vitest config by @FinleyGe in https://github.com/labring/FastGPT/pull/7222 * refactor(sandbox): enforce sandbox validation and sync parallel variables by @DigHuang in https://github.com/labring/FastGPT/pull/7220 * fix: plugin detail by @c121914yu in https://github.com/labring/FastGPT/pull/7224 * docs: update 4.15.0 upgrade migrations by @xqvvu in https://github.com/labring/FastGPT/pull/7163 ## New Contributors * @amingbo made their first contribution in https://github.com/labring/FastGPT/pull/6827 * @Hinotoi-agent made their first contribution in https://github.com/labring/FastGPT/pull/6826 * @sebastiondev made their first contribution in https://github.com/labring/FastGPT/pull/6931 * @shortlight5980 made their first contribution in https://github.com/labring/FastGPT/pull/7009 * @siiigure made their first contribution in https://github.com/labring/FastGPT/pull/7066 * @DadaVinqi made their first contribution in https://github.com/labring/FastGPT/pull/7105 * @serhiizghama made their first contribution in https://github.com/labring/FastGPT/pull/7154 **Full Changelog**: https://github.com/labring/FastGPT/compare/v4.14.13...v4.15.0