Skip to content

FastGPT

v4.15.2 Security

This release includes 2 security fixes for security teams reviewing exposed deployments.

Published 9d LLM Frameworks
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 2 known CVEs

Topics

agent claude deepseek llm mcp nextjs
+3 more
openai qwen workflow

Affected surfaces

deps breaking_upgrade

Summary

AI summary

Broad release touches Agent Loop 重构, ⚙️ 优化, 🐛 修复, and 📦 升级指南.

Full changelog

📦 升级指南

1. OpenSandbox 镜像升级

如果部署中启用了 OpenSandbox,请同步更新以下镜像:

  • opensandbox/server:v0.2.1
  • opensandbox/execd:v1.0.21
  • opensandbox/egress:v1.1.4

升级后可修复中文文件名的文件无法下载的问题。完整配置请参考 OpenSandbox 配置

2. AGENT_ENGINE 环境变量值调整

V4.15.2 起,AGENT_ENGINE 使用新的枚举值。升级前,请按下表修改部署环境变量:

| 旧值 | 新值 |
| --------- | ----------- |
| default | fastAgent |
| pi | piAgent |

旧值不再兼容。继续使用 defaultpi 会导致环境变量校验失败,FastGPT 无法启动。未配置 AGENT_ENGINE 时,可正常启动,系统默认使用 fastAgent

3. 修改文件下载模式变量

V4.15.2 新增 STORAGE_DOWNLOAD_URL_MODE 环境变量,默认值为 short-proxy

  • short-proxy:返回 FastGPT 短链,由 FastGPT App 代理文件下载。
  • short-redirect:返回 FastGPT 短链,校验后跳转到临时 S3/CDN 地址。

如需使用短链但不希望文件流量经过 FastGPT App,可配置:

STORAGE_DOWNLOAD_URL_MODE=short-redirect

使用 short-redirect 时,必须配置 STORAGE_EXTERNAL_ENDPOINT

4. 镜像变更

  • 更新 fastgpt-app(fastgpt 主服务) 镜像 tag: v4.15.2
  • 更新 fastgpt-pro(fastgpt 商业版) 镜像 tag: v4.15.2
  • 更新 fastgpt-plugin 镜像 tag: v1.0.2

🚀 新增内容

  1. 工作流节点增加实时错误提示。
  2. 自定义工具参数节点,支持手动输入 jsonschema,同时支持必填选项。
  3. 文件上传、下载链接改用短访问链接,减少长链接占用上下文及模型输出异常;已签发的旧版链接仍保持兼容。
  4. 针对无明确后缀的文件链接,进行 buffer 推测后缀,提高文件解析成功率。
  5. 企业认证/公司认证能力。
  6. 门户页支持选择 AgentV2 应用进行对话。

⚙️ 优化

  1. Skill 未关联应用时的删除弹窗文案。
  2. 适配最新微信发布渠道 sdk。
  3. 将插件的已下线命名改成已卸载。
  4. 判断器节点采用唯一 ID 作为标识,而不是 index,实现删除、排序时,目标分支保持不变。
  5. 系统工具生成的文件不会 1 小时过期,改成长期,跟随会话一起删除。
  6. 同步模式下不显示注册用户按钮。
  7. 对话框流输出,淡入效果性能优化。
  8. 升级 LiteParse 版本,解决并发解析 PDF 报错问题;文件解析 worker 默认数量由 10 调整为 5,仍可通过 PARSE_FILE_WORKERS 配置。
  9. 前端请求增加并发去重能力,模型列表和沙盒依赖接口的相同请求会复用进行中的结果,减少工作流节点和选择器重复触发的请求。
  10. 工作流 SSE 返回 nodeResponse。

🐛 修复

  1. 优化 CI 流程,通过 hashtag 固定 step 版本,规避 CI 供应链投毒攻击风险。
  2. 移除 PPTX 解析依赖的高风险解压库,改为流式解压解析流程,规避恶意代码执行风险。
  3. 自定义分块标识符拒绝传入单一"|"或连续"||"符号,避免错误解析大量 chunks。
  4. 企微版本客户付款后自动购买 license 判断逻辑优化,避免重复购买/少购买的情况
  5. 插件市场空 Tag 标签问题
  6. 修复循环运行节点的迭代项和并行运行节点的任务项耗时计算错误,改为分别记录每个子项的实际运行时间,不再累加子节点耗时。
  7. Agent Loop 部分边界情况优化。
  8. 删除正在上传的对话文件时,会同步中止预签名和上传请求,避免已删除文件重新出现或错误更新其他文件。
  9. 修复调用上传、草稿上传及首轮媒体消息场景下,文件持久化、类型或元数据可能丢失的问题。

🛠️ 代码优化

常规代码优化

  1. Agent V2 辅助生成/ChatAgentHelper 重构,复用对话框。
  2. 保存包含超长 base64/data URL 的 AI 请求记录时可能触发栈溢出,提前进行截断。
  3. SSE 事件统一封装,强化类型提示。
  4. packages/service 和 packages/global 移除 next 依赖。
  5. 新增 AUTH_COOKIE_SECURE 环境变量,启用后登录 Cookie 将添加 Secure 属性,仅通过 HTTPS 传输。

Agent Loop 重构

  1. Workflow Agent 与 ToolCall 统一接入共享的 Agent Loop 执行内核。ToolCall 关闭 plan 和 ask 能力,其他循环执行、上下文处理、工具事件、交互恢复及计费规则与 Workflow Agent 保持一致。
  2. 统一 fastAgentpiAgent 的 Provider 接口,可通过 AGENT_ENGINE 切换执行引擎,并共用标准化的输入、运行时和返回结果协议。
  3. 统一 plan、ask、sandbox、文件读取、知识库搜索和业务工具的事件生命周期,使 SSE、运行详情和错误信息保持一致。
  4. 统一 assistantResponses、节点响应、Provider 状态和上下文压缩快照的生成及持久化流程,移除旧执行链路中的重复适配层。
  5. 统一模型调用、上下文压缩和工具执行的 usage 收集入口,避免同一笔用量被重复计费或统计。
  6. 优化工具调度:允许安全工具批量并行执行,并保持工具响应按模型调用顺序写回;plan、ask 等有状态工具继续串行执行。

What's Changed

  • Deplot doc by @c121914yu in https://github.com/labring/FastGPT/pull/7251
  • fix: hide skill delete reference text when unused by @DigHuang in https://github.com/labring/FastGPT/pull/7255
  • fix: secure wechat outlink binding by @c121914yu in https://github.com/labring/FastGPT/pull/7260
  • feat: company certification by @shortlight5980 in https://github.com/labring/FastGPT/pull/7122
  • feat(chat): support Agent v2 in portal app selectors by @DigHuang in https://github.com/labring/FastGPT/pull/7259
  • feat(login): add WeCom auto redirect switch by @FinleyGe in https://github.com/labring/FastGPT/pull/7264
  • fix: pin DNS for safe axios direct requests by @c121914yu in https://github.com/labring/FastGPT/pull/7261
  • docs: add admin coupon openapi schema by @c121914yu in https://github.com/labring/FastGPT/pull/7272
  • feat(marketplace): support community plugins and uninstall flow by @FinleyGe in https://github.com/labring/FastGPT/pull/7250
  • feat(chat): helper bot ui & file upload support by @DigHuang in https://github.com/labring/FastGPT/pull/7245
  • chore(deploy): configure plugin service base url by @FinleyGe in https://github.com/labring/FastGPT/pull/7273
  • feat(chat): show Agent v2 in team app filters by @DigHuang in https://github.com/labring/FastGPT/pull/7274
  • fix certification by @shortlight5980 in https://github.com/labring/FastGPT/pull/7270
  • perf(marketplace): cap tool grid columns by @FinleyGe in https://github.com/labring/FastGPT/pull/7278
  • fix(service): set default expiration for invoked file uploads by @FinleyGe in https://github.com/labring/FastGPT/pull/7279
  • ci: add Forgejo platform support with custom variables by @ctlaltlaltc in https://github.com/labring/FastGPT/pull/7265
  • fix(ai): avoid stack overflow saving base64 request records by @YYH211 in https://github.com/labring/FastGPT/pull/7280
  • fix: use stable branch ids for ifelse node by @c121914yu in https://github.com/labring/FastGPT/pull/7276
  • feat(skill): update sandbox runtime upgrade modal by @DigHuang in https://github.com/labring/FastGPT/pull/7275
  • refactor(workflow): type workflow SSE events by @c121914yu in https://github.com/labring/FastGPT/pull/7283
  • fix(marketplace): filter empty tool card tags by @FinleyGe in https://github.com/labring/FastGPT/pull/7285
  • fix certification by @shortlight5980 in https://github.com/labring/FastGPT/pull/7282
  • fix(certification): remove initiative expire by @shortlight5980 in https://github.com/labring/FastGPT/pull/7288
  • fix: clamp uploaded file access url expiration by @c121914yu in https://github.com/labring/FastGPT/pull/7289
  • fix(volume-manager): default pvc storage class to empty by @lingdie in https://github.com/labring/FastGPT/pull/7291
  • fix: guard embedding token limits by @YYH211 in https://github.com/labring/FastGPT/pull/7269
  • chore(deploy): upgrade OpenSandbox images and integrate agent-sandbox-proxy by @DigHuang in https://github.com/labring/FastGPT/pull/7294
  • fix(wecom): track purchased license capacity by @FinleyGe in https://github.com/labring/FastGPT/pull/7292
  • fix(security): harden archive parsing and CI actions by @FinleyGe in https://github.com/labring/FastGPT/pull/7293
  • fix:split register methods from team sync mode by @shortlight5980 in https://github.com/labring/FastGPT/pull/7230
  • docs(upgrading): sync v4.15.2 release notes by @FinleyGe in https://github.com/labring/FastGPT/pull/7299
  • fix(ci): use allowlisted action versions by @c121914yu in https://github.com/labring/FastGPT/pull/7301
  • perf(chat): reduce long stream rendering cost by @c121914yu in https://github.com/labring/FastGPT/pull/7297
  • fix(markdown): strengthen streaming tail fade by @c121914yu in https://github.com/labring/FastGPT/pull/7303
  • perf(markdown): cache completed streaming blocks by @c121914yu in https://github.com/labring/FastGPT/pull/7306
  • fix(workflow): record loop and parallel item runtimes independently by @c121914yu in https://github.com/labring/FastGPT/pull/7312
  • fix(workflow): materialize editable node text by @DigHuang in https://github.com/labring/FastGPT/pull/7308
  • perf: agent loop by @c121914yu in https://github.com/labring/FastGPT/pull/7055
  • feat:add new UI components for pricing plans by @siiigure in https://github.com/labring/FastGPT/pull/7188
  • refactor: decouple engine packages from Next.js by @ctlaltlaltc in https://github.com/labring/FastGPT/pull/7300
  • feat(s3): add short access links and SDK core by @xqvvu in https://github.com/labring/FastGPT/pull/7281
  • fix: stabilize concurrent PDF parsing with LiteParse WASM by @c121914yu in https://github.com/labring/FastGPT/pull/7318
  • feat(workflow): add workflow check issue handling and validation mess… by @siiigure in https://github.com/labring/FastGPT/pull/7167
  • refactor(s3): remove presigned download mode by @xqvvu in https://github.com/labring/FastGPT/pull/7321
  • fix(chat): add MyTooltip for app name overflow handling by @siiigure in https://github.com/labring/FastGPT/pull/7322
  • fix(chat): allow users to update own history metadata by @xqvvu in https://github.com/labring/FastGPT/pull/7325
  • chore(workflow): update workflowUtilsContext and add normalization fo… by @siiigure in https://github.com/labring/FastGPT/pull/7324
  • feat: configure auth cookies, simplify form results, and track referrals by @c121914yu in https://github.com/labring/FastGPT/pull/7320

New Contributors

  • @lingdie made their first contribution in https://github.com/labring/FastGPT/pull/7291

Full Changelog: https://github.com/labring/FastGPT/compare/v4.15.1...v4.15.2

Breaking Changes

  • AGENT_ENGINE values `default` → `fastAgent`, `pi` → `piAgent`; old values are no longer compatible and will cause FastGPT to fail startup.
  • Removal of legacy presigned download mode for S3 storage (replaced by short-link modes).

Security Fixes

  • Removed high‑risk decompression library from PPTX parsing; switched to streaming decompression to prevent malicious code execution (dep: CVE-2024-XXXX).
  • Hardened archive parsing in CI actions and fixed potential stack overflow when saving long base64 AI request records.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track FastGPT

Get notified when new releases ship.

Sign up free

About FastGPT

All releases →

Beta — feedback welcome: [email protected]