Commit cfad2651 by Archer Committed by GitHub

update doc (#6823)

parent 746f83a2
......@@ -11,7 +11,7 @@ assignees: ''
[//]: # '方框内填 x 表示打钩'
- [ ] 我已确认目前没有类似 issue
- [ ] 我已完整查看过项目 README,以及[项目文档](https://doc.fastgpt.io/docs/introduction/)
- [ ] 我已完整查看过项目 README,以及[项目文档](https://doc.fastgpt.io/introduction/)
- [ ] 我使用了自己的 key,并确认我的 key 是可正常使用的
- [ ] 我理解并愿意跟进此 issue,协助测试和提供反馈
- [x] 我理解并认可上述内容,并理解项目维护者精力有限,**不遵循规则的 issue 可能会被无视或直接关闭**
......
......@@ -8,7 +8,7 @@ module.exports = {
jsxSingleQuote: false,
trailingComma: 'none',
bracketSpacing: true,
jsxBracketSameLine: false,
bracketSameLine: false,
arrowParens: 'always',
rangeStart: 0,
rangeEnd: Infinity,
......
......@@ -21,10 +21,10 @@ FastGPT 是一个 AI Agent 构建平台,提供开箱即用的数据处理、
<a href="https://fastgpt.io/">
<img height="21" src="https://img.shields.io/badge/在线使用-d4eaf7?style=flat-square&logo=spoj&logoColor=7d09f1" alt="cloud">
</a>
<a href="https://doc.fastgpt.io/docs/introduction">
<a href="https://doc.fastgpt.io/introduction">
<img height="21" src="https://img.shields.io/badge/相关文档-7d09f1?style=flat-square" alt="document">
</a>
<a href="https://doc.fastgpt.io/docs/self-host/dev">
<a href="https://doc.fastgpt.io/self-host/dev">
<img height="21" src="https://img.shields.io/badge/本地开发-%23d4eaf7?style=flat-square&logo=xcode&logoColor=7d09f1" alt="development">
</a>
<a href="/#-%E7%9B%B8%E5%85%B3%E9%A1%B9%E7%9B%AE">
......@@ -47,7 +47,7 @@ docker compose up -d
完全启动后,可通过`http://localhost:3000`访问 FastGPT,默认账号为`root`,密码为`1234`
如果你遇到问题,可以[查看完整 Docker 部署教程](https://doc.fastgpt.io/docs/self-host/deploy/docker)
如果你遇到问题,可以[查看完整 Docker 部署教程](https://doc.fastgpt.io/self-host/deploy/docker)
## 🛸 使用方式
......@@ -55,10 +55,10 @@ docker compose up -d
如果你不需要私有化部署,可以直接使用我们提供的云服务版本,地址为:[fastgpt.io](https://fastgpt.io/)
- **社区自托管版本**
可以使用[Docker](https://doc.fastgpt.io/docs/self-host/deploy/docker)快速部署,也可以使用[Sealos Cloud](https://doc.fastgpt.io/docs/self-host/deploy/sealos) 来一键部署FastGPT。
可以使用[Docker](https://doc.fastgpt.io/self-host/deploy/docker)快速部署,也可以使用[Sealos Cloud](https://doc.fastgpt.io/self-host/deploy/sealos) 来一键部署FastGPT。
- **商业版**
如果你需要更完整的功能,或深度的服务支持,可以选择我们的[商业版](https://doc.fastgpt.io/docs/introduction/commercial)。我们除了提供完整的软件外,还提供相应的场景落地辅导,具体可提交[商业咨询](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)
如果你需要更完整的功能,或深度的服务支持,可以选择我们的[商业版](https://doc.fastgpt.io/introduction/commercial)。我们除了提供完整的软件外,还提供相应的场景落地辅导,具体可提交[商业咨询](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)
## 💡 核心功能
......@@ -115,8 +115,8 @@ docker compose up -d
## 💪 我们的项目 & 链接
- [快速开始本地开发](https://doc.fastgpt.io/docs/self-host/dev/)
- [OpenAPI 文档](https://doc.fastgpt.io/docs/openapi/intro)
- [快速开始本地开发](https://doc.fastgpt.io/self-host/dev/)
- [OpenAPI 文档](https://doc.fastgpt.io/openapi/intro)
- [FastGPT-plugin](https://github.com/labring/fastgpt-plugin)
- [AI Proxy: 模型聚合负载均衡服务](https://github.com/labring/aiproxy)
- [Laf:3 分钟快速接入三方应用](https://github.com/labring/laf)
......@@ -203,4 +203,4 @@ docker compose up -d
1. 允许作为后台服务直接商用,但不允许提供 SaaS 服务。
2. 未经商业授权,任何形式的商用服务均需保留相关版权信息。
3. 完整请查看 [FastGPT Open Source License](./LICENSE)
4. 联系方式:Dennis@sealos.io,[点击查看商业版定价策略](https://doc.fastgpt.io/docs/introduction/commercial/)
4. 联系方式:Dennis@sealos.io,[点击查看商业版定价策略](https://doc.fastgpt.io/introduction/commercial/)
......@@ -21,10 +21,10 @@ FastGPT is an AI Agent building platform that provides out-of-the-box capabiliti
<a href="https://fastgpt.io/">
<img height="21" src="https://img.shields.io/badge/Online_Usage-d4eaf7?style=flat-square&logo=spoj&logoColor=7d09f1" alt="cloud">
</a>
<a href="https://doc.fastgpt.io/docs/introduction">
<a href="https://doc.fastgpt.io/introduction">
<img height="21" src="https://img.shields.io/badge/Documentation-7d09f1?style=flat-square" alt="document">
</a>
<a href="https://doc.fastgpt.io/docs/self-host/dev">
<a href="https://doc.fastgpt.io/self-host/dev">
<img height="21" src="https://img.shields.io/badge/Local_Development-%23d4eaf7?style=flat-square&logo=xcode&logoColor=7d09f1" alt="development">
</a>
<a href="#-our-projects--links">
......@@ -47,7 +47,7 @@ docker compose up -d
After fully started, you can access FastGPT at `http://localhost:3000`. The default account is `root` and the password is `1234`.
If you encounter any issues, you can [view the complete Docker deployment tutorial](https://doc.fastgpt.io/docs/self-host/deploy/docker)
If you encounter any issues, you can [view the complete Docker deployment tutorial](https://doc.fastgpt.io/self-host/deploy/docker)
## 🛸 Usage
......@@ -55,10 +55,10 @@ If you encounter any issues, you can [view the complete Docker deployment tutori
If you don't need private deployment, you can directly use our cloud service at: [fastgpt.io](https://fastgpt.io/)
- **Community Self-Hosted Version**
You can quickly deploy using [Docker](https://doc.fastgpt.io/docs/self-host/deploy/docker) or use [Sealos Cloud](https://doc.fastgpt.io/docs/self-host/deploy/sealos) to deploy FastGPT with one click.
You can quickly deploy using [Docker](https://doc.fastgpt.io/self-host/deploy/docker) or use [Sealos Cloud](https://doc.fastgpt.io/self-host/deploy/sealos) to deploy FastGPT with one click.
- **Commercial Version**
If you need more complete features or in-depth service support, you can choose our [Commercial Version](https://doc.fastgpt.io/docs/introduction/commercial). In addition to providing complete software, we also offer implementation guidance for specific scenarios. You can submit a [commercial consultation](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc).
If you need more complete features or in-depth service support, you can choose our [Commercial Version](https://doc.fastgpt.io/introduction/commercial). In addition to providing complete software, we also offer implementation guidance for specific scenarios. You can submit a [commercial consultation](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc).
## 💡 Core Features
......@@ -115,8 +115,8 @@ If you encounter any issues, you can [view the complete Docker deployment tutori
## 💪 Our Projects & Links
- [Quick Start Local Development](https://doc.fastgpt.io/docs/self-host/dev/)
- [OpenAPI Documentation](https://doc.fastgpt.io/docs/openapi/intro)
- [Quick Start Local Development](https://doc.fastgpt.io/self-host/dev/)
- [OpenAPI Documentation](https://doc.fastgpt.io/openapi/intro)
- [FastGPT-plugin](https://github.com/labring/fastgpt-plugin)
- [AI Proxy: Model Aggregation Load Balancing Service](https://github.com/labring/aiproxy)
- [Laf: Quick 3-Minute Access to Third-Party Applications](https://github.com/labring/laf)
......@@ -203,4 +203,4 @@ This repository follows the [FastGPT Open Source License](./LICENSE).
1. Commercial use as backend services is allowed, but SaaS services are not permitted.
2. Any commercial services without commercial authorization must retain the relevant copyright information.
3. Please see [FastGPT Open Source License](./LICENSE) for full details.
4. Contact: Dennis@sealos.io, [View Commercial Pricing](https://doc.fastgpt.io/docs/introduction/commercial/)
4. Contact: Dennis@sealos.io, [View Commercial Pricing](https://doc.fastgpt.io/introduction/commercial/)
......@@ -21,10 +21,10 @@ FastGPT adalah platform pembangunan AI Agent yang menyediakan kemampuan siap pak
<a href="https://fastgpt.io/">
<img height="21" src="https://img.shields.io/badge/Penggunaan_Online-d4eaf7?style=flat-square&logo=spoj&logoColor=7d09f1" alt="cloud">
</a>
<a href="https://doc.fastgpt.io/docs/introduction">
<a href="https://doc.fastgpt.io/introduction">
<img height="21" src="https://img.shields.io/badge/Dokumentasi-7d09f1?style=flat-square" alt="document">
</a>
<a href="https://doc.fastgpt.io/docs/self-host/dev">
<a href="https://doc.fastgpt.io/self-host/dev">
<img height="21" src="https://img.shields.io/badge/Pengembangan_Lokal-%23d4eaf7?style=flat-square&logo=xcode&logoColor=7d09f1" alt="development">
</a>
<a href="#-proyek--tautan-kami">
......@@ -47,7 +47,7 @@ docker compose up -d
Setelah sepenuhnya aktif, Anda dapat mengakses FastGPT di `http://localhost:3000`. Akun default adalah `root` dan kata sandinya adalah `1234`.
Jika Anda menghadapi masalah, Anda dapat [melihat tutorial penyebaran Docker lengkap](https://doc.fastgpt.io/docs/self-host/deploy/docker)
Jika Anda menghadapi masalah, Anda dapat [melihat tutorial penyebaran Docker lengkap](https://doc.fastgpt.io/self-host/deploy/docker)
## 🛸 Cara Penggunaan
......@@ -55,10 +55,10 @@ Jika Anda menghadapi masalah, Anda dapat [melihat tutorial penyebaran Docker len
Jika Anda tidak memerlukan penyebaran privat, Anda dapat langsung menggunakan layanan cloud kami di: [fastgpt.io](https://fastgpt.io/)
- **Versi Self-Hosted Komunitas**
Anda dapat menyebarkan dengan cepat menggunakan [Docker](https://doc.fastgpt.io/docs/self-host/deploy/docker) atau menggunakan [Sealos Cloud](https://doc.fastgpt.io/docs/self-host/deploy/sealos) untuk menyebarkan FastGPT dengan satu klik.
Anda dapat menyebarkan dengan cepat menggunakan [Docker](https://doc.fastgpt.io/self-host/deploy/docker) atau menggunakan [Sealos Cloud](https://doc.fastgpt.io/self-host/deploy/sealos) untuk menyebarkan FastGPT dengan satu klik.
- **Versi Komersial**
Jika Anda membutuhkan fitur yang lebih lengkap atau dukungan layanan mendalam, Anda dapat memilih [Versi Komersial](https://doc.fastgpt.io/docs/introduction/commercial). Selain menyediakan perangkat lunak lengkap, kami juga menyediakan panduan implementasi untuk skenario tertentu. Anda dapat mengirimkan [konsultasi komersial](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc).
Jika Anda membutuhkan fitur yang lebih lengkap atau dukungan layanan mendalam, Anda dapat memilih [Versi Komersial](https://doc.fastgpt.io/introduction/commercial). Selain menyediakan perangkat lunak lengkap, kami juga menyediakan panduan implementasi untuk skenario tertentu. Anda dapat mengirimkan [konsultasi komersial](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc).
## 💡 Fitur Inti
......@@ -115,8 +115,8 @@ Jika Anda menghadapi masalah, Anda dapat [melihat tutorial penyebaran Docker len
## 💪 Proyek & Tautan Kami
- [Mulai Cepat Pengembangan Lokal](https://doc.fastgpt.io/docs/self-host/dev/)
- [Dokumentasi OpenAPI](https://doc.fastgpt.io/docs/openapi/intro)
- [Mulai Cepat Pengembangan Lokal](https://doc.fastgpt.io/self-host/dev/)
- [Dokumentasi OpenAPI](https://doc.fastgpt.io/openapi/intro)
- [FastGPT-plugin](https://github.com/labring/fastgpt-plugin)
- [AI Proxy: Layanan Load Balancing Agregasi Model](https://github.com/labring/aiproxy)
- [Laf: Akses Cepat 3 Menit ke Aplikasi Pihak Ketiga](https://github.com/labring/laf)
......@@ -203,4 +203,4 @@ Repositori ini mengikuti [FastGPT Open Source License](./LICENSE).
1. Penggunaan komersial sebagai layanan backend diperbolehkan, tetapi layanan SaaS tidak diperbolehkan.
2. Setiap layanan komersial tanpa otorisasi komersial harus mempertahankan informasi hak cipta yang relevan.
3. Silakan lihat [FastGPT Open Source License](./LICENSE) untuk detail lengkap.
4. Kontak: Dennis@sealos.io, [Lihat Harga Komersial](https://doc.fastgpt.io/docs/introduction/commercial/)
4. Kontak: Dennis@sealos.io, [Lihat Harga Komersial](https://doc.fastgpt.io/introduction/commercial/)
......@@ -21,10 +21,10 @@ FastGPT 縺ッ AI Agent 讒狗ッ峨繝ゥ繝ヨ繝輔か繝シ繝縺ァ縺ゅj縲√☆縺舌↓菴ソ縺医
<a href="https://fastgpt.io/">
<img height="21" src="https://img.shields.io/badge/オンライン利用-d4eaf7?style=flat-square&logo=spoj&logoColor=7d09f1" alt="cloud">
</a>
<a href="https://doc.fastgpt.io/docs/introduction">
<a href="https://doc.fastgpt.io/introduction">
<img height="21" src="https://img.shields.io/badge/ドキュメント-7d09f1?style=flat-square" alt="document">
</a>
<a href="https://doc.fastgpt.io/docs/self-host/dev">
<a href="https://doc.fastgpt.io/self-host/dev">
<img height="21" src="https://img.shields.io/badge/ローカル開発-%23d4eaf7?style=flat-square&logo=xcode&logoColor=7d09f1" alt="development">
</a>
<a href="#-プロジェクトとリンク">
......@@ -47,7 +47,7 @@ docker compose up -d
完全に起動した後、`http://localhost:3000` で FastGPT にアクセスできます。デフォルトのアカウントは `root`、パスワードは `1234` です。
問題が発生した場合は、[Docker デプロイの完全チュートリアル](https://doc.fastgpt.io/docs/self-host/deploy/docker)をご覧ください。
問題が発生した場合は、[Docker デプロイの完全チュートリアル](https://doc.fastgpt.io/self-host/deploy/docker)をご覧ください。
## 🛸 利用方法
......@@ -55,10 +55,10 @@ docker compose up -d
プライベートデプロイが不要な場合は、クラウドサービスを直接ご利用いただけます:[fastgpt.io](https://fastgpt.io/)
- **コミュニティセルフホスト版**
[Docker](https://doc.fastgpt.io/docs/self-host/deploy/docker) で素早くデプロイするか、[Sealos Cloud](https://doc.fastgpt.io/docs/self-host/deploy/sealos) でワンクリックデプロイが可能です。
[Docker](https://doc.fastgpt.io/self-host/deploy/docker) で素早くデプロイするか、[Sealos Cloud](https://doc.fastgpt.io/self-host/deploy/sealos) でワンクリックデプロイが可能です。
- **商用版**
より完全な機能や深いサービスサポートが必要な場合は、[商用版](https://doc.fastgpt.io/docs/introduction/commercial)をお選びいただけます。完全なソフトウェアの提供に加え、シナリオに応じた導入ガイダンスも提供しています。[商用相談](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)からお問い合わせください。
より完全な機能や深いサービスサポートが必要な場合は、[商用版](https://doc.fastgpt.io/introduction/commercial)をお選びいただけます。完全なソフトウェアの提供に加え、シナリオに応じた導入ガイダンスも提供しています。[商用相談](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)からお問い合わせください。
## 💡 コア機能
......@@ -115,8 +115,8 @@ docker compose up -d
## 💪 プロジェクトとリンク
- [クイックスタート ローカル開発](https://doc.fastgpt.io/docs/self-host/dev/)
- [OpenAPI ドキュメント](https://doc.fastgpt.io/docs/openapi/intro)
- [クイックスタート ローカル開発](https://doc.fastgpt.io/self-host/dev/)
- [OpenAPI ドキュメント](https://doc.fastgpt.io/openapi/intro)
- [FastGPT-plugin](https://github.com/labring/fastgpt-plugin)
- [AI Proxy: モデル集約ロードバランシングサービス](https://github.com/labring/aiproxy)
- [Laf: 3分でサードパーティアプリケーションに接続](https://github.com/labring/laf)
......@@ -203,4 +203,4 @@ Feishu 繧ー繝ォ繝シ繝励↓蜿ょ刈
1. バックエンドサービスとしての商用利用は許可されていますが、SaaS サービスの提供は許可されていません。
2. 商用ライセンスなしの商用サービスは、関連する著作権情報を保持する必要があります。
3. 詳細は [FastGPT Open Source License](./LICENSE) をご覧ください。
4. お問い合わせ:Dennis@sealos.io、[商用版の価格を見る](https://doc.fastgpt.io/docs/introduction/commercial/)
4. お問い合わせ:Dennis@sealos.io、[商用版の価格を見る](https://doc.fastgpt.io/introduction/commercial/)
......@@ -21,10 +21,10 @@ FastGPT เป็นแพลตฟอร์มสำหรับสร้าง
<a href="https://fastgpt.io/">
<img height="21" src="https://img.shields.io/badge/ใช้งานออนไลน์-d4eaf7?style=flat-square&logo=spoj&logoColor=7d09f1" alt="cloud">
</a>
<a href="https://doc.fastgpt.io/docs/introduction">
<a href="https://doc.fastgpt.io/introduction">
<img height="21" src="https://img.shields.io/badge/เอกสาร-7d09f1?style=flat-square" alt="document">
</a>
<a href="https://doc.fastgpt.io/docs/self-host/dev">
<a href="https://doc.fastgpt.io/self-host/dev">
<img height="21" src="https://img.shields.io/badge/พัฒนาในเครื่อง-%23d4eaf7?style=flat-square&logo=xcode&logoColor=7d09f1" alt="development">
</a>
<a href="#-โปรเจกต์และลิงก์ของเรา">
......@@ -47,7 +47,7 @@ docker compose up -d
เมื่อเริ่มต้นสมบูรณ์แล้ว คุณสามารถเข้าถึง FastGPT ที่ `http://localhost:3000` บัญชีเริ่มต้นคือ `root` และรหัสผ่านคือ `1234`
หากคุณพบปัญหา คุณสามารถ [ดูบทแนะนำการติดตั้ง Docker ฉบับสมบูรณ์](https://doc.fastgpt.io/docs/self-host/deploy/docker)
หากคุณพบปัญหา คุณสามารถ [ดูบทแนะนำการติดตั้ง Docker ฉบับสมบูรณ์](https://doc.fastgpt.io/self-host/deploy/docker)
## 🛸 วิธีการใช้งาน
......@@ -55,10 +55,10 @@ docker compose up -d
หากคุณไม่ต้องการติดตั้งแบบส่วนตัว คุณสามารถใช้บริการคลาวด์ของเราได้โดยตรงที่: [fastgpt.io](https://fastgpt.io/)
- **เวอร์ชันโฮสต์ตัวเองของชุมชน**
คุณสามารถติดตั้งได้อย่างรวดเร็วโดยใช้ [Docker](https://doc.fastgpt.io/docs/self-host/deploy/docker) หรือใช้ [Sealos Cloud](https://doc.fastgpt.io/docs/self-host/deploy/sealos) เพื่อติดตั้ง FastGPT ด้วยคลิกเดียว
คุณสามารถติดตั้งได้อย่างรวดเร็วโดยใช้ [Docker](https://doc.fastgpt.io/self-host/deploy/docker) หรือใช้ [Sealos Cloud](https://doc.fastgpt.io/self-host/deploy/sealos) เพื่อติดตั้ง FastGPT ด้วยคลิกเดียว
- **เวอร์ชันพาณิชย์**
หากคุณต้องการคุณสมบัติที่สมบูรณ์มากขึ้นหรือการสนับสนุนบริการเชิงลึก คุณสามารถเลือก [เวอร์ชันพาณิชย์](https://doc.fastgpt.io/docs/introduction/commercial) นอกจากการให้ซอฟต์แวร์ที่สมบูรณ์ เรายังให้คำแนะนำการนำไปใช้สำหรับสถานการณ์เฉพาะ คุณสามารถส่ง[ปรึกษาธุรกิจ](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)
หากคุณต้องการคุณสมบัติที่สมบูรณ์มากขึ้นหรือการสนับสนุนบริการเชิงลึก คุณสามารถเลือก [เวอร์ชันพาณิชย์](https://doc.fastgpt.io/introduction/commercial) นอกจากการให้ซอฟต์แวร์ที่สมบูรณ์ เรายังให้คำแนะนำการนำไปใช้สำหรับสถานการณ์เฉพาะ คุณสามารถส่ง[ปรึกษาธุรกิจ](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)
## 💡 คุณสมบัติหลัก
......@@ -115,8 +115,8 @@ docker compose up -d
## 💪 โปรเจกต์และลิงก์ของเรา
- [เริ่มต้นพัฒนาในเครื่อง](https://doc.fastgpt.io/docs/self-host/dev/)
- [เอกสาร OpenAPI](https://doc.fastgpt.io/docs/openapi/intro)
- [เริ่มต้นพัฒนาในเครื่อง](https://doc.fastgpt.io/self-host/dev/)
- [เอกสาร OpenAPI](https://doc.fastgpt.io/openapi/intro)
- [FastGPT-plugin](https://github.com/labring/fastgpt-plugin)
- [AI Proxy: บริการ Load Balancing การรวมโมเดล](https://github.com/labring/aiproxy)
- [Laf: เข้าถึงแอปพลิเคชันของบุคคลที่สามใน 3 นาที](https://github.com/labring/laf)
......@@ -203,4 +203,4 @@ docker compose up -d
1. อนุญาตให้ใช้เชิงพาณิชย์เป็นบริการแบ็กเอนด์ แต่ไม่อนุญาตให้ให้บริการ SaaS
2. บริการเชิงพาณิชย์ใดๆ ที่ไม่มีการอนุญาตเชิงพาณิชย์ต้องเก็บข้อมูลลิขสิทธิ์ที่เกี่ยวข้องไว้
3. โปรดดู [FastGPT Open Source License](./LICENSE) สำหรับรายละเอียดฉบับเต็ม
4. ติดต่อ: Dennis@sealos.io, [ดูราคาพาณิชย์](https://doc.fastgpt.io/docs/introduction/commercial/)
4. ติดต่อ: Dennis@sealos.io, [ดูราคาพาณิชย์](https://doc.fastgpt.io/introduction/commercial/)
......@@ -21,10 +21,10 @@ FastGPT là nền tảng xây dựng AI Agent cung cấp khả năng sẵn sàng
<a href="https://fastgpt.io/">
<img height="21" src="https://img.shields.io/badge/Sử_Dụng_Online-d4eaf7?style=flat-square&logo=spoj&logoColor=7d09f1" alt="cloud">
</a>
<a href="https://doc.fastgpt.io/docs/introduction">
<a href="https://doc.fastgpt.io/introduction">
<img height="21" src="https://img.shields.io/badge/Tài_Liệu-7d09f1?style=flat-square" alt="document">
</a>
<a href="https://doc.fastgpt.io/docs/self-host/dev">
<a href="https://doc.fastgpt.io/self-host/dev">
<img height="21" src="https://img.shields.io/badge/Phát_Triển_Local-%23d4eaf7?style=flat-square&logo=xcode&logoColor=7d09f1" alt="development">
</a>
<a href="#-dự-án--liên-kết-của-chúng-tôi">
......@@ -47,7 +47,7 @@ docker compose up -d
Sau khi khởi động hoàn tất, bạn có thể truy cập FastGPT tại `http://localhost:3000`. Tài khoản mặc định là `root` và mật khẩu là `1234`.
Nếu bạn gặp vấn đề, bạn có thể [xem hướng dẫn triển khai Docker đầy đủ](https://doc.fastgpt.io/docs/self-host/deploy/docker)
Nếu bạn gặp vấn đề, bạn có thể [xem hướng dẫn triển khai Docker đầy đủ](https://doc.fastgpt.io/self-host/deploy/docker)
## 🛸 Cách Sử Dụng
......@@ -55,10 +55,10 @@ Nếu bạn gặp vấn đề, bạn có thể [xem hướng dẫn triển khai
Nếu bạn không cần triển khai riêng, bạn có thể sử dụng trực tiếp dịch vụ đám mây của chúng tôi tại: [fastgpt.io](https://fastgpt.io/)
- **Phiên Bản Tự Host Cộng Đồng**
Bạn có thể triển khai nhanh chóng bằng [Docker](https://doc.fastgpt.io/docs/self-host/deploy/docker) hoặc sử dụng [Sealos Cloud](https://doc.fastgpt.io/docs/self-host/deploy/sealos) để triển khai FastGPT bằng một cú nhấp chuột.
Bạn có thể triển khai nhanh chóng bằng [Docker](https://doc.fastgpt.io/self-host/deploy/docker) hoặc sử dụng [Sealos Cloud](https://doc.fastgpt.io/self-host/deploy/sealos) để triển khai FastGPT bằng một cú nhấp chuột.
- **Phiên Bản Thương Mại**
Nếu bạn cần các tính năng đầy đủ hơn hoặc hỗ trợ dịch vụ chuyên sâu, bạn có thể chọn [Phiên Bản Thương Mại](https://doc.fastgpt.io/docs/introduction/commercial). Ngoài việc cung cấp phần mềm đầy đủ, chúng tôi còn cung cấp hướng dẫn triển khai cho các kịch bản cụ thể. Bạn có thể gửi [tư vấn thương mại](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc).
Nếu bạn cần các tính năng đầy đủ hơn hoặc hỗ trợ dịch vụ chuyên sâu, bạn có thể chọn [Phiên Bản Thương Mại](https://doc.fastgpt.io/introduction/commercial). Ngoài việc cung cấp phần mềm đầy đủ, chúng tôi còn cung cấp hướng dẫn triển khai cho các kịch bản cụ thể. Bạn có thể gửi [tư vấn thương mại](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc).
## 💡 Tính Năng Cốt Lõi
......@@ -115,8 +115,8 @@ Nếu bạn gặp vấn đề, bạn có thể [xem hướng dẫn triển khai
## 💪 Dự Án & Liên Kết Của Chúng Tôi
- [Bắt Đầu Phát Triển Địa Phương](https://doc.fastgpt.io/docs/self-host/dev/)
- [Tài Liệu OpenAPI](https://doc.fastgpt.io/docs/openapi/intro)
- [Bắt Đầu Phát Triển Địa Phương](https://doc.fastgpt.io/self-host/dev/)
- [Tài Liệu OpenAPI](https://doc.fastgpt.io/openapi/intro)
- [FastGPT-plugin](https://github.com/labring/fastgpt-plugin)
- [AI Proxy: Dịch Vụ Cân Bằng Tải Tổng Hợp Mô Hình](https://github.com/labring/aiproxy)
- [Laf: Truy Cập Nhanh 3 Phút vào Ứng Dụng Bên Thứ Ba](https://github.com/labring/laf)
......@@ -203,4 +203,4 @@ Kho này tuân thủ [FastGPT Open Source License](./LICENSE).
1. Cho phép sử dụng thương mại như dịch vụ backend, nhưng không cho phép cung cấp dịch vụ SaaS.
2. Bất kỳ dịch vụ thương mại nào không có giấy phép thương mại phải giữ lại thông tin bản quyền liên quan.
3. Xem [FastGPT Open Source License](./LICENSE) để biết đầy đủ chi tiết.
4. Liên hệ: Dennis@sealos.io, [Xem Giá Thương Mại](https://doc.fastgpt.io/docs/introduction/commercial/)
4. Liên hệ: Dennis@sealos.io, [Xem Giá Thương Mại](https://doc.fastgpt.io/introduction/commercial/)
......@@ -29,7 +29,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......
......@@ -29,7 +29,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -43,7 +43,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config
MILVUS_ADDRESS: http://fastgpt-vector:19530
MILVUS_TOKEN: none
services:
# Vector DB
......@@ -118,7 +117,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -192,7 +203,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -287,7 +298,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -332,12 +343,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -547,4 +559,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -43,11 +43,10 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services:
# Vector DB
fastgpt-vector:
image: oceanbase/oceanbase-ce:4.3.5-lts
image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob
restart: always
# ports: # 生产环境建议不要暴露
......@@ -75,8 +74,8 @@ services:
# obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;"
test:
[
"CMD-SHELL",
'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"',
'CMD-SHELL',
'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"'
]
interval: 30s
timeout: 10s
......@@ -96,7 +95,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -170,7 +181,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -265,7 +276,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -310,12 +321,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -529,4 +541,3 @@ configs:
name: init_sql
content: |
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -54,9 +54,9 @@ services:
- data
environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户
- GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位
- GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例
- GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户
- GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位
- GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例
volumes:
- ./opengauss/data:/var/lib/opengauss
healthcheck:
......@@ -78,7 +78,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -152,7 +164,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -247,7 +259,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -292,12 +304,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -507,4 +520,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -77,7 +77,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -151,7 +163,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -246,7 +258,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -291,12 +303,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -506,4 +519,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -43,11 +43,10 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services:
# Vector DB
fastgpt-vector:
image: oceanbase/seekdb:1.0.1.0-100000392025122619
image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb
restart: always
# ports: # 生产环境建议不要暴露
......@@ -83,7 +82,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -157,7 +168,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -252,7 +263,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -297,12 +308,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -512,4 +524,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -60,7 +60,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -134,7 +146,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -229,7 +241,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -274,12 +286,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -489,4 +502,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -43,7 +43,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config
MILVUS_ADDRESS: http://fastgpt-vector:19530
MILVUS_TOKEN: none
services:
# Vector DB
......@@ -118,7 +117,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -192,7 +203,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15
image: ghcr.io/labring/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -287,7 +298,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -332,12 +343,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -547,4 +559,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -43,11 +43,10 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services:
# Vector DB
fastgpt-vector:
image: oceanbase/oceanbase-ce:4.3.5-lts
image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob
restart: always
# ports: # 生产环境建议不要暴露
......@@ -75,8 +74,8 @@ services:
# obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;"
test:
[
"CMD-SHELL",
'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"',
'CMD-SHELL',
'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"'
]
interval: 30s
timeout: 10s
......@@ -96,7 +95,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -170,7 +181,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15
image: ghcr.io/labring/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -265,7 +276,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -310,12 +321,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -529,4 +541,3 @@ configs:
name: init_sql
content: |
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -54,9 +54,9 @@ services:
- data
environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户
- GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位
- GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例
- GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户
- GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位
- GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例
volumes:
- ./opengauss/data:/var/lib/opengauss
healthcheck:
......@@ -78,7 +78,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -152,7 +164,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15
image: ghcr.io/labring/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -247,7 +259,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -292,12 +304,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -507,4 +520,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -77,7 +77,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -151,7 +163,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15
image: ghcr.io/labring/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -246,7 +258,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -291,12 +303,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -506,4 +519,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -43,11 +43,10 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services:
# Vector DB
fastgpt-vector:
image: oceanbase/seekdb:1.0.1.0-100000392025122619
image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb
restart: always
# ports: # 生产环境建议不要暴露
......@@ -83,7 +82,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -157,7 +168,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15
image: ghcr.io/labring/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -252,7 +263,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -297,12 +308,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -512,4 +524,3 @@ configs:
[ingress]
mode = "direct"
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......@@ -60,7 +60,19 @@ services:
volumes:
- fastgpt-mongo:/data/db
healthcheck:
test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
test:
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s
timeout: 5s
retries: 5
......@@ -134,7 +146,7 @@ services:
fastgpt-app:
container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15
image: ghcr.io/labring/fastgpt:v4.14.15
ports:
- 3000:3000
networks:
......@@ -229,7 +241,7 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS:
ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000
volumes:
......@@ -274,12 +286,13 @@ services:
# Python allowed modules whitelist (comma-separated)
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck:
test: [
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 30s
timeout: 20s
retries: 3
......@@ -489,4 +502,3 @@ configs:
[ingress]
mode = "direct"
......@@ -29,7 +29,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......
......@@ -20,7 +20,7 @@ x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@fastgpt-mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@fastgpt-redis:6379
# @see https://doc.fastgpt.cn/docs/self-host/config/object-storage
# @see https://doc.fastgpt.cn/self-host/config/object-storage
STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss
STORAGE_REGION: us-east-1
STORAGE_ACCESS_KEY_ID: minioadmin
......
# 国际化路由适配说明
## 问题
路由跳转时语言前缀丢失,导致用户在切换页面后回到默认语言。
## 解决方案
### 1. 核心配置
- **`lib/i18n.ts`**: 设置 `hideLocale: 'never'`,确保所有语言(包括默认语言)都显示语言前缀
- **`lib/localized-navigation.ts`**: 提供客户端路由工具,自动处理语言前缀
### 2. 修复的路由跳转位置
#### ✅ 一级导航(Tab Navigation)
- **文件**: `app/[lang]/docs/layout.tsx`
- **方法**: 使用 `getLocalizedPath()` 为每个 tab 的 URL 添加语言前缀
- **状态**: 已完成
#### ✅ 二级导航(Sidebar)
- **文件**: `lib/source.ts`
- **方法**: Fumadocs 的 loader 自动根据 i18n 配置生成带语言前缀的链接
- **状态**: 已完成(无需修改)
#### ✅ 空页面重定向
- **文件**:
- `app/[lang]/(home)/page.tsx` - 首页重定向
- `app/[lang]/(home)/[...not-found]/page.tsx` - 404 重定向
- **方法**: 使用 `getLocalizedPath()` 添加语言前缀
- **状态**: 已完成
#### ✅ MDX 组件重定向
- **文件**: `components/docs/Redirect.tsx`
- **方法**: 使用 `useLocalizedRouter()` hook
- **状态**: 已完成
#### ✅ 旧页面重定向
- **文件**: `components/docs/not-found.tsx`
- **方法**:
- 使用 `useCurrentLang()` 获取当前语言
- 从 pathname 中移除语言前缀进行匹配
- 使用 `useLocalizedPath()` 为重定向目标添加语言前缀
- **状态**: 已完成
#### ✅ 文档内链接
- **文件**:
- `components/docs/LocalizedLink.tsx` - 自定义 Link 组件
- `mdx-components.tsx` - 配置 MDX 使用 LocalizedLink
- **方法**: 拦截 MDX 中的 `<a>` 标签,自动为内部链接添加语言前缀
- **状态**: 已完成
### 3. 语言选择器
- **文件**: `app/layout.config.tsx`
- **配置**:
```typescript
i18n: {
locale,
languages: [
{ name: '简体中文', locale: 'zh-CN' },
{ name: 'English', locale: 'en' }
],
hideLocale: 'never'
}
```
- **状态**: 已完成
## 使用方法
### 客户端组件
```tsx
'use client';
import { useLocalizedRouter } from '@/lib/localized-navigation';
function MyComponent() {
const router = useLocalizedRouter();
router.push('/docs/introduction'); // 自动添加语言前缀
}
```
### 服务端组件
```tsx
import { getLocalizedPath } from '@/lib/i18n';
import { redirect } from 'next/navigation';
export default async function Page({ params }: { params: Promise<{ lang: string }> }) {
const { lang } = await params;
redirect(getLocalizedPath('/docs/intro', lang));
}
```
### MDX 文档
```mdx
<!-- 内部链接会自动添加语言前缀 -->
[查看介绍](/docs/introduction)
<!-- 或使用 Redirect 组件 -->
<Redirect to="/docs/faq" />
```
## 测试清单
- [ ] 一级导航切换保持语言
- [ ] 侧边栏导航保持语言
- [ ] 首页重定向保持语言
- [ ] 404 页面重定向保持语言
- [ ] 旧链接重定向保持语言
- [ ] 文档内链接保持语言
- [ ] 语言选择器正常工作
- [ ] 搜索结果链接保持语言
......@@ -33,7 +33,7 @@ export default async function Page({
const MDXContent = page.data.body;
// 使用构建时导入的静态数据
const filePath = `document/content/docs/${page.file.path}`;
const filePath = `document/content/${page.file.path}`;
// @ts-ignore
const lastModified = docLastModifiedData[filePath] || page.data.lastModified;
......@@ -44,11 +44,11 @@ export default async function Page({
// 生成面包屑导航
const breadcrumbItems = [
{ name: 'FastGPT', url: domain },
{ name: 'Docs', url: `${domain}/${lang}/docs` }
{ name: 'Docs', url: `${domain}/${lang}` }
];
if (slug && slug.length > 0) {
slug.forEach((segment, index) => {
const segmentUrl = `${domain}/${lang}/docs/${slug.slice(0, index + 1).join('/')}`;
const segmentUrl = `${domain}/${lang}/${slug.slice(0, index + 1).join('/')}`;
breadcrumbItems.push({ name: segment, url: segmentUrl });
});
}
......@@ -86,7 +86,7 @@ export default async function Page({
owner: 'labring',
repo: 'FastGPT',
sha: 'main',
path: `document/content/docs/${page.file.path}`
path: `document/content/${page.file.path}`
}}
lastUpdate={lastModified ? new Date(lastModified) : undefined}
>
......@@ -124,7 +124,7 @@ export async function generateMetadata(props: {
i18n.languages.forEach((locale) => {
const localePage = source.getPage(slug, locale);
if (localePage) {
languages[locale] = `${domain}/${locale}/docs/${slug?.join('/') || ''}`;
languages[locale] = `${domain}/${locale}/${slug?.join('/') || ''}`;
}
});
......
import { type ReactNode } from 'react';
import { source } from '@/lib/source';
import { DocsLayout } from 'fumadocs-ui/layouts/docs';
import { LargeSearchToggle } from 'fumadocs-ui/components/layout/search-toggle';
import { ThemeToggle } from 'fumadocs-ui/components/layout/theme-toggle';
import { baseOptions } from '@/app/layout.config';
import { t, getLocalizedPath, i18n } from '@/lib/i18n';
import '@/app/global.css';
import { CustomSidebarComponents } from '@/components/sideBar';
import { SidebarKeepOpen } from '@/components/sidebarKeepOpen';
import { SidebarScrollFix } from '@/components/sidebarScrollFix';
import FeishuLogoLight from '@/components/docs/feishuLogoLIght';
import FeishuLogoDark from '@/components/docs/feishuLogoDark';
import GithubLogoLight from '@/components/docs/githubLogoLight';
import GithubLogoDark from '@/components/docs/githubLogoDark';
import { CategorySwitcher } from '@/components/docs/categorySwitcher';
import { LanguageSwitcher } from '@/components/docs/languageSwitcher';
import { BookOpen, Code, Lightbulb, CircleHelp, Server } from 'lucide-react';
export default async function Layout({
......@@ -27,58 +27,75 @@ export default async function Layout({
{
icon: <BookOpen className={iconClass} />,
title: t('common:introduction', lang),
url: getLocalizedPath('/docs/introduction', lang)
url: getLocalizedPath('/introduction', lang)
},
{
icon: <Lightbulb className={iconClass} />,
title: t('common:use-cases', lang),
url: getLocalizedPath('/docs/use-cases', lang)
url: getLocalizedPath('/use-cases', lang)
},
{
icon: <Server className={iconClass} />,
title: t('common:selfHost', lang),
url: getLocalizedPath('/docs/self-host', lang)
url: getLocalizedPath('/self-host', lang)
},
{
icon: <Code className={iconClass} />,
title: t('common:api_reference', lang),
url: getLocalizedPath('/docs/openapi', lang)
url: getLocalizedPath('/openapi', lang)
},
{
icon: <CircleHelp className={iconClass} />,
title: t('common:faq', lang),
url: getLocalizedPath('/docs/faq', lang)
url: getLocalizedPath('/faq', lang)
}
];
const tabUrls = tab.map((t) => t.url);
const base = baseOptions(lang);
return (
<DocsLayout
{...baseOptions(lang)}
{...base}
tree={source.pageTree[lang] || source.pageTree[i18n.defaultLanguage]}
i18n={false}
searchToggle={{
enabled: true
enabled: true,
components: {
lg: <LargeSearchToggle hideIfDisabled className="max-md:hidden rounded-xl px-2" />
}
}}
themeSwitch={{
...base.themeSwitch,
enabled: false
}}
sidebar={{
tabs: tab,
tabs: false,
collapsible: false,
components: CustomSidebarComponents
components: CustomSidebarComponents,
banner: (
<section>
<CategorySwitcher
options={tab}
className="h-[40px] rounded-xl border bg-fd-secondary/50 px-2 py-1.5 text-sm text-fd-foreground/80 hover:bg-fd-accent hover:text-fd-foreground data-[open=true]:bg-fd-accent data-[open=true]:text-fd-foreground"
/>
</section>
),
footer: (
<section className="flex w-full items-center justify-between">
<ThemeToggle
className="h-8 p-0 [&_svg]:size-8 [&_svg]:p-2"
mode={base.themeSwitch?.mode}
/>
<LanguageSwitcher
buttonClassName="h-8 max-w-none rounded-xl border bg-white px-2 text-sm text-fd-foreground/80 hover:bg-fd-accent hover:text-fd-foreground data-[open=true]:bg-fd-accent data-[open=true]:text-fd-foreground dark:bg-fd-background"
menuClassName="min-w-[9.5rem]"
/>
</section>
)
}}
links={[
{
type: 'icon',
icon: <FeishuLogoLight className="block dark:hidden size-5" />,
url: 'https://oss.laf.run/otnvvf-imgs/fastgpt-feishu1.png',
text: '飞书群'
},
{
type: 'icon',
icon: <GithubLogoLight className="block dark:hidden size-5" />,
url: 'https://github.com/labring/FastGPT',
text: 'github'
}
]}
links={[]}
>
<SidebarKeepOpen tabUrls={tabUrls} />
<SidebarScrollFix />
......
import { redirect } from 'next/navigation';
import { getLocalizedPath } from '@/lib/i18n';
export default async function NotFoundPage({
params
}: {
params: Promise<{ lang: string }>;
}) {
const { lang } = await params;
redirect(getLocalizedPath('/docs/introduction', lang));
}
......@@ -7,5 +7,5 @@ export default async function HomePage({
params: Promise<{ lang: string }>;
}) {
const { lang } = await params;
redirect(getLocalizedPath('/docs/introduction', lang));
redirect(getLocalizedPath('/introduction', lang));
}
......@@ -27,10 +27,10 @@ export async function GET() {
if (defaultLanguage === 'zh-CN') {
// For Chinese, select *.mdx files
globPattern = ['./content/docs/**/*.mdx'];
globPattern = ['./content/**/*.mdx'];
} else {
// For other languages (default English), select *.en.mdx files that don't have .mdx. in their path
globPattern = ['./content/docs/**/*.en.mdx'];
globPattern = ['./content/**/*.en.mdx'];
}
const files = await fg(globPattern);
......
......@@ -3,7 +3,7 @@ import { NextResponse } from 'next/server';
import fs from 'fs/promises';
import path from 'path';
const docsRoot = path.resolve(process.cwd(), 'content/docs');
const docsRoot = path.resolve(process.cwd(), 'content');
function isInvalidPage(str: string): boolean {
if (!str || typeof str !== 'string') return true;
......@@ -60,25 +60,23 @@ export async function GET(req: NextRequest) {
const url = new URL(req.url);
const rawPath = url.searchParams.get('path');
if (!rawPath || !rawPath.startsWith('/docs')) {
if (!rawPath) {
return NextResponse.json({ error: 'Invalid path' }, { status: 400 });
}
// 去除 /docs 前缀,且清理首尾斜杠
const relPath = rawPath.replace(/^\/docs\/?/, '').replace(/^\/|\/$/g, '');
// 兼容老调用:若以 /docs 开头先剥离;同时清理首尾斜杠
const relPath = rawPath
.replace(/^\/docs\/?/, '')
.replace(/^\/|\/$/g, '');
try {
// 先检测是否有该 mdx 文件
const maybeFile = path.join(docsRoot, relPath + '.mdx');
await fs.access(maybeFile);
// 如果存在,返回完整路径(带 /docs)
return NextResponse.json('/docs/' + relPath);
return NextResponse.json('/' + relPath);
} catch {
// 不存在,尝试递归寻找第一个有效页面
const found = await findFirstValidPage(relPath);
if (found) {
// 返回带 /docs 前缀的完整路径
return NextResponse.json('/docs/' + found.replace(/\\/g, '/'));
return NextResponse.json('/' + found.replace(/\\/g, '/'));
} else {
return NextResponse.json({ error: 'No valid mdx page found' }, { status: 404 });
}
......
......@@ -48,6 +48,12 @@
gap: 0;
}
/* Sidebar active nested border: keep the left marker color in sync with text. */
#nd-sidebar a[data-active='true'] > div:first-child,
#nd-sidebar-mobile a[data-active='true'] > div:first-child {
background-color: currentColor !important;
}
/* 移除导航栏图标的上边距 - 使用通用选择器匹配所有 radix 弹窗 */
[data-radix-popper-content-wrapper] > div > a {
padding: 8px 6px;
......
......@@ -12,7 +12,7 @@ export function GET() {
const urlEntries = pages
.map((page) => {
const filePath = `document/content/docs/${page.file.path}`;
const filePath = `document/content/${page.file.path}`;
// @ts-ignore
const lastModified = docLastModifiedData[filePath] || page.data.lastModified;
......
'use client';
import { useEffect } from 'react';
import { useLocalizedRouter } from '@/lib/localized-navigation';
import { usePathname, useRouter } from 'next/navigation';
import { getLocalizedPath, i18n } from '@/lib/i18n';
import { useCurrentLang } from '@/lib/localized-navigation';
interface RedirectProps {
to: string;
}
function removeLocalePrefix(pathname: string): string {
const segments = pathname.split('/').filter(Boolean);
if (segments[0] && i18n.languages.includes(segments[0])) {
return `/${segments.slice(1).join('/')}`;
}
return pathname;
}
function normalizeDocPath(to: string, pathname: string): string {
const target = to.replace(/(?:\.[a-z]{2}(?:-[A-Z]{2})?)?\.mdx$/, '');
if (target.startsWith('/')) {
return removeLocalePrefix(target);
}
const currentPath = removeLocalePrefix(pathname);
const basePath = currentPath.endsWith('/') ? currentPath : `${currentPath}/`;
return new URL(target, `http://localhost${basePath}`).pathname;
}
export function Redirect({ to }: RedirectProps) {
const router = useLocalizedRouter();
const router = useRouter();
const pathname = usePathname();
const lang = useCurrentLang();
useEffect(() => {
router.push(to);
}, [to, router]);
router.push(getLocalizedPath(normalizeDocPath(to, pathname), lang));
}, [to, pathname, lang, router]);
return null;
}
'use client';
import { useMemo, type ReactNode } from 'react';
import { usePathname } from 'next/navigation';
import { SwitcherDropdown } from '@/components/docs/switcherDropdown';
import { cn } from '@/lib/cn';
export type CategorySwitcherOption = {
icon?: ReactNode;
title: ReactNode;
url: string;
urls?: Set<string>;
};
type CategorySwitcherProps = {
options: CategorySwitcherOption[];
className?: string;
};
const getCategoryKey = (path: string): string => {
const segments = path.split('/').filter(Boolean);
return segments[1] ?? '';
};
export function CategorySwitcher({ options, className }: CategorySwitcherProps) {
const pathname = usePathname();
const selected = useMemo(() => {
const lookup = pathname.endsWith('/') ? pathname.slice(0, -1) : pathname;
const currentCategory = getCategoryKey(lookup);
return (
options.find((item) => item.urls?.has(lookup)) ??
options.find((item) => getCategoryKey(item.url) === currentCategory) ??
options[0]
);
}, [options, pathname]);
return (
<SwitcherDropdown
className="w-full"
triggerClassName={cn(
'flex h-[42px] w-full max-w-none justify-between gap-2 rounded-xl border bg-fd-secondary/50 p-1.5 text-start text-sm text-fd-secondary-foreground hover:bg-fd-accent data-[open=true]:bg-fd-accent data-[open=true]:text-fd-accent-foreground',
className
)}
contentClassName="w-(--radix-popover-trigger-width)"
align="start"
keepSidebarOpenOnSelect
options={options.map((item) => ({
key: item.url,
label: item.title,
icon: item.icon,
href: item.url,
active: item === selected
}))}
/>
);
}
'use client';
import { useI18n } from 'fumadocs-ui/contexts/i18n';
import { SwitcherDropdown } from '@/components/docs/switcherDropdown';
const localeFlags: Record<string, string> = {
en: '🇺🇸',
'zh-CN': '🇨🇳'
};
type LanguageSwitcherProps = {
className?: string;
buttonClassName?: string;
menuClassName?: string;
};
export function LanguageSwitcher({
className,
buttonClassName,
menuClassName
}: LanguageSwitcherProps) {
const { locale, locales = [], onChange } = useI18n();
return (
<SwitcherDropdown
className={className}
triggerClassName={buttonClassName}
contentClassName={menuClassName}
options={locales.map((item) => ({
key: item.locale,
label: item.name,
icon: <span className="text-base leading-none">{localeFlags[item.locale] ?? '🌐'}</span>,
active: item.locale === locale,
onSelect: () => onChange?.(item.locale)
}))}
/>
);
}
......@@ -12,7 +12,7 @@ export default function NotFound() {
useEffect(() => {
// Redirect to introduction page
window.location.replace(getLocalizedPath('/docs/introduction', lang));
window.location.replace(getLocalizedPath('/introduction', lang));
}, [lang]);
return null;
......
'use client';
import Link from 'next/link';
import { Check, ChevronDown } from 'lucide-react';
import { useState, type ReactNode } from 'react';
import {
Popover,
PopoverContent,
PopoverTrigger
} from 'fumadocs-ui/components/ui/popover';
import { useSidebar } from 'fumadocs-ui/provider';
import { cn } from '@/lib/cn';
export type SwitcherDropdownOption = {
key: string;
label: ReactNode;
icon?: ReactNode;
href?: string;
active?: boolean;
onSelect?: () => void;
};
type SwitcherDropdownProps = {
options: SwitcherDropdownOption[];
className?: string;
triggerClassName?: string;
contentClassName?: string;
optionClassName?: string;
iconClassName?: string;
align?: 'start' | 'center' | 'end';
keepSidebarOpenOnSelect?: boolean;
};
export function SwitcherDropdown({
options,
className,
triggerClassName,
contentClassName,
optionClassName,
iconClassName,
align = 'end',
keepSidebarOpenOnSelect = false
}: SwitcherDropdownProps) {
const [open, setOpen] = useState(false);
const { closeOnRedirect } = useSidebar();
const selected = options.find((item) => item.active) ?? options[0];
const selectItem = (item: SwitcherDropdownOption) => {
if (keepSidebarOpenOnSelect) {
closeOnRedirect.current = false;
}
item.onSelect?.();
setOpen(false);
};
const renderOption = (item: SwitcherDropdownOption) => {
const active = item === selected;
const content = (
<>
{item.icon && (
<span className="flex size-5 shrink-0 items-center justify-center [&_svg]:size-4">
{item.icon}
</span>
)}
<span className="min-w-0 flex-1 truncate">{item.label}</span>
<Check
className={cn(
'size-3.5 shrink-0 text-[#3370FF] dark:text-blue-400',
!active && 'invisible'
)}
/>
</>
);
const className = cn(
'flex h-8 w-full cursor-pointer items-center gap-2 rounded-lg px-2.5 text-left text-fd-popover-foreground transition-colors hover:bg-fd-accent',
active && 'font-semibold text-[#3370FF] dark:text-blue-400',
optionClassName
);
if (item.href) {
return (
<Link
key={item.key}
href={item.href}
onClick={() => selectItem(item)}
className={className}
role="option"
aria-selected={active}
>
{content}
</Link>
);
}
return (
<button
key={item.key}
type="button"
onClick={() => selectItem(item)}
className={className}
role="option"
aria-selected={active}
>
{content}
</button>
);
};
return (
<Popover open={open} onOpenChange={setOpen}>
<div className={cn('relative flex shrink-0', className)}>
<PopoverTrigger
aria-haspopup="listbox"
aria-expanded={open}
data-open={open}
className={cn(
'inline-flex h-8 max-w-[9.5rem] cursor-pointer items-center gap-1.5 rounded-lg border border-fd-border bg-fd-background px-2.5 text-xs font-medium text-fd-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-primary/30 data-[open=true]:bg-fd-accent data-[open=true]:text-fd-accent-foreground',
triggerClassName
)}
>
{selected?.icon && (
<span className={cn('flex size-5 shrink-0 items-center justify-center [&_svg]:size-4', iconClassName)}>
{selected.icon}
</span>
)}
<span className="min-w-0 truncate">{selected?.label}</span>
<ChevronDown
className={cn(
'ms-auto size-3.5 shrink-0 text-fd-muted-foreground transition-transform',
open && 'rotate-180'
)}
/>
</PopoverTrigger>
<PopoverContent
align={align}
role="listbox"
className={cn(
'flex min-w-[11rem] flex-col gap-1 overflow-hidden p-1',
contentClassName
)}
>
{options.map(renderOption)}
</PopoverContent>
</div>
</Popover>
);
}
......@@ -4,9 +4,14 @@ import { usePathname } from 'next/navigation';
import { useRef } from 'react';
import { useSidebar } from 'fumadocs-ui/provider';
const getCategoryKey = (path: string): string => {
const segments = path.split('/').filter(Boolean);
return segments[1] ?? '';
};
/**
* 移动端:点击一级 tab 切换时不关闭 sidebar,点击二级路由时正常关闭。
*
*
* 在渲染阶段检测是否为 tab 间切换,是则设 closeOnRedirect = false。
*/
export function SidebarKeepOpen({ tabUrls }: { tabUrls: string[] }) {
......@@ -19,8 +24,11 @@ export function SidebarKeepOpen({ tabUrls }: { tabUrls: string[] }) {
prevPathname.current = pathname;
// 判断是否是 tab 间切换(从一个 tab 根路径跳到另一个 tab 根路径)
const prevTab = tabUrls.find((url) => prev.startsWith(url));
const currTab = tabUrls.find((url) => pathname.startsWith(url));
const prevCategory = getCategoryKey(prev);
const currCategory = getCategoryKey(pathname);
const tabCategories = new Set(tabUrls.map(getCategoryKey));
const prevTab = tabCategories.has(prevCategory) ? prevCategory : null;
const currTab = tabCategories.has(currCategory) ? currCategory : null;
if (prevTab && currTab && prevTab !== currTab) {
// 一级 tab 切换 → 不关闭 sidebar
......
---
title: Import Agent Tools with Gapier
description: Quickly import Agent tools into FastGPT using Gapier
---
FastGPT V4.7 introduced tool calling, compatible with GPTs Actions. This means you can directly import GPTs-compatible Agent tools.
Gapier is an online GPTs Actions platform offering 50+ ready-made tools with a daily free quota for testing. Official site: [https://gapier.com/](https://gapier.com/).
![](/imgs/gapierToolResult1.webp)
Let's walk through importing Gapier tools into FastGPT.
## 1. Create a Plugin
| Step1 | Step2 | Step3 |
| --- | --- | --- |
| ![](/imgs/gapierTool1.png) | ![](/imgs/gapierTool2.png) | Log in to [Gapier](https://gapier.com/) and copy the relevant parameters <br/> ![](/imgs/gapierTool3.png) |
| Step4 | Step5 | Step6 |
| Custom request header: Authorization<br/>Value: Bearer your_copied_key <br/> ![](/imgs/gapierTool4.png) | ![](/imgs/gapierTool5.png) | ![](/imgs/gapierTool6.png) |
After creation, if you need to make changes, there's no need to recreate — just modify the parameters and the system will automatically detect and apply the differences.
![](/imgs/gapierTool7.png)
## 2. Bind Tools to an Application
### Basic Mode
| Step1 | Step2 |
| --- | --- |
| ![](/imgs/gapierTool8.png) | ![](/imgs/gapierTool9.webp) |
| Step3 | Step4 |
| ![](/imgs/gapierTool10.webp) | ![](/imgs/gapierTool11.png) |
### Advanced Workflow
| Step1 | Step2 |
| --- | --- |
| ![](/imgs/gapierTool12.webp) | ![](/imgs/gapierTool13.webp) |
| Step3 | Step4 |
| ![](/imgs/gapierTool14.webp) | ![](/imgs/gapierTool15.webp) |
![](/imgs/gapierTool16.webp)
## 3. Tool Calling Notes
### Differences Between Models
Different models use different methods for tool calling. Models that support toolChoice and functionCall produce better results. Models without these capabilities fall back to prompt-based calling, which is less reliable. To ensure smooth operation, FastGPT's built-in prompts only support calling one tool at a time.
Check the official documentation to see which models support functionCall (OneAPI support is also required), and adjust the corresponding fields in the model configuration file (see the configuration field reference for details).
Cloud version users can see whether function calling is supported when selecting a model.
![](/imgs/gapierTool17.webp)
---
title: 使用 Gapier 快速导入Agent工具
description: FastGPT 使用 Gapier 快速导入Agent工具
---
FastGPT V4.7版本加入了工具调用,可以兼容 GPTs 的 Actions。这意味着,你可以直接导入兼容 GPTs 的 Agent 工具。
Gapier 是一个在线 GPTs Actions工具,提供了50多种现成工具,并且每天有免费额度进行测试,方便用户试用,官方地址为:[https://gapier.com/](https://gapier.com/)。
![](/imgs/gapierToolResult1.webp)
现在,我们开始把 Gapier 的工具导入到 FastGPT 中。
## 1. 创建插件
| Step1 | Step2 | Step3 |
| --- | --- | --- |
| ![](/imgs/gapierTool1.png) | ![](/imgs/gapierTool2.png) | 登录[Gapier](https://gapier.com/) 复制相关参数 <br/> ![](/imgs/gapierTool3.png) |
| Step4 | Step5 | Step6 |
| 自定义请求头: Authorization<br/>请求值: Bearer 复制的key <br/> ![](/imgs/gapierTool4.png) | ![](/imgs/gapierTool5.png) | ![](/imgs/gapierTool6.png) |
创建完后,如果需要变更,无需重新创建,只需要修改对应参数即可,会自动做差值比较更新。
![](/imgs/gapierTool7.png)
## 2. 应用绑定工具
### 简易模式
| Step1 | Step2 |
| --- | --- |
| ![](/imgs/gapierTool8.png) | ![](/imgs/gapierTool9.webp) |
| Step3 | Step4 |
| ![](/imgs/gapierTool10.webp) | ![](/imgs/gapierTool11.png) |
### 高级编排
| Step1 | Step2 |
| --- | --- |
| ![](/imgs/gapierTool12.webp) | ![](/imgs/gapierTool13.webp) |
| Step3 | Step4 |
| ![](/imgs/gapierTool14.webp) | ![](/imgs/gapierTool15.webp) |
![](/imgs/gapierTool16.webp)
## 3. 工具调用说明
### 不同模型的区别
不同模型调用工具采用不同的方法,有些模型支持 toolChoice 和 functionCall 效果会更好。不支持这两种方式的模型通过提示词调用,但是效果不是很好,并且为了保证顺利调用,FastGPT内置的提示词,仅支持每次调用一个工具。
具体哪些模型支持 functionCall 可以官网查看(当然,也需要OneAPI支持),同时需要调整模型配置文件中的对应字段(详细看配置字段说明)。
线上版用户,可以在模型选择时,看到是否支持函数调用的标识。
![](/imgs/gapierTool17.webp)
{
"title": "Dashboard",
"description": "FastGPT dashboard and workflow node usage guide",
"pages": [
"basic-mode",
"intro",
"workflow",
"mcp_server",
"mcp_tools",
"gapier",
"evaluation"
]
}
---
title: Code Execution
description: FastGPT Code Execution node overview
---
![alt text](/imgs/image.png)
## Function
Runs simple JavaScript code for complex data processing. Code executes in a sandbox with no access to network requests, DOM, or async operations. For advanced use cases, use an HTTP node instead.
**Important Notes**
- Self-hosted users must deploy the `fastgpt-sandbox` image and set the `CODE_SANDBOX_URL` environment variable.
- The sandbox enforces a 10-second max runtime and 32 MB memory limit.
## Variable Input
Add the variables your code needs via custom inputs. In the code's `main` function, destructure them by matching name.
As shown above, the custom inputs include `data1` and `data2`, which can be destructured with the same names in the `main` function.
## Result Output
You must return an object.
In custom outputs, add variable names to retrieve values from the corresponding object keys. For example, the image above returns:
```json
{
result: data1,
data2
}
```
This object has 2 keys: `result` and `data2` (JS shorthand where key = data2, value = data2). You can then add 2 custom output variables to access the values under each key.
## Built-in JS Global Variables
### delay
Returns after a 1-second delay:
```js
async function main({data1, data2}){
await delay(1000)
return {
result: "111"
}
}
```
### countToken
```js
function main({input}){
return {
result: countToken(input)
}
}
```
![alt text](/imgs/image-1.png)
### strToBase64 (added in v4.8.11)
Useful for converting SVG images to base64 format for display.
```js
function main({input}){
return {
/*
param1: input - the string to convert
param2: base64 prefix
*/
result: strToBase64(input,'data:image/svg+xml;base64,')
}
}
```
![alt text](/imgs/image-2.png)
### createHmac
Works the same as Node.js crypto's `createHmac` method.
```js
function main({secret}){
const {sign,timestamp} = createHmac('sha256',secret)
return {
sign,timestamp
}
}
```
---
title: 代码运行(弃)
description: FastGPT 代码运行节点介绍(适用于 4.14.7 及以下版本)
---
> 本文档适用于 FastGPT **4.14.7 及以下版本**。4.14.8 及以上版本请参考 [代码运行(新版)](/docs/introduction/guide/dashboard/workflow/sandbox-v5)。
![alt text](/imgs/image.png)
## 功能
可用于执行一段简单的 js 代码,用于进行一些复杂的数据处理。代码运行在沙盒中,无法进行网络请求、dom和异步操作。如需复杂操作,需外挂 HTTP 实现。
**注意事项**
- 私有化用户需要部署`fastgpt-sandbox` 镜像,并配置`CODE_SANDBOX_URL`环境变量。
- 沙盒最大运行 10s, 32M 内存限制。
## 变量输入
可在自定义输入中添加代码运行需要的变量,在代码的 main 函数中,可解构出相同名字的变量。
如上图,自定义输入中有 data1 和 data2 两个变量,main 函数中可以解构出相同名字的变量。
## 结果输出
务必返回一个 object 对象
自定义输出中,可以添加变量名来获取 object 对应 key 下的值。例如上图中,返回了一个对象:
```json
{
result: data1,
data2
}
```
他有 2 个 key:result和 data2(js 缩写,key=data2,value=data2)。这时候自定义输出中就可以添加 2 个变量来获取对应 key 下的 value。
## 内置 JS 全局变量
### delay 延迟
延迟 1 秒后返回
```js
async function main({data1, data2}){
await delay(1000)
return {
result: "111"
}
}
```
### countToken 统计 token
```js
function main({input}){
return {
result: countToken(input)
}
}
```
![alt text](/imgs/image-1.png)
### strToBase64 字符串转 base64(4.8.11 版本新增)
可用于将 SVG 图片转换为 base64 格式展示。
```js
function main({input}){
return {
/*
param1: input 需要转换的字符串
param2: base64 prefix 前缀
*/
result: strToBase64(input,'data:image/svg+xml;base64,')
}
}
```
![alt text](/imgs/image-2.png)
### createHmac 加密
与 node 中 crypto 的 createHmac 方法一致。
```js
function main({secret}){
const {sign,timestamp} = createHmac('sha256',secret)
return {
sign,timestamp
}
}
```
{
"title": "Design Documentation",
"pages": ["dataset","design_plugin"]
}
{
"title": "设计方案",
"pages": ["dataset","design_plugin"]
}
\ No newline at end of file
{
"title": "Migration & Backup",
"pages": ["docker_db","docker_mongo"]
}
{
"title": "迁移&备份",
"pages": ["docker_db","docker_mongo"]
}
\ No newline at end of file
---
title: Troubleshooting Notes
description: FastGPT usage notes
---
# Troubleshooting Notes
If you encounter issues while using FastGPT, follow the steps below to troubleshoot and resolve them.
## 1. Check Version and Upgrade
Many known issues are fixed in newer releases. Before reporting a problem, verify your version first:
- **Check version**: View the current running version on the FastGPT homepage or in the admin panel.
- **Upgrade recommendation**: If you are not on the latest version, follow the [Upgrade Guide](../upgrading/upgrade-intruction) to update to the latest stable release.
## 2. Troubleshooting Steps
If the issue still exists after upgrading, check in this order:
- **Check logs**: Review Docker container logs or server logs and locate the specific error stack.
- **Clear cache**: Clear browser cache or retry in incognito mode.
- **Environment check**: Ensure MongoDB and PostgreSQL/Milvus connections are healthy and API keys are valid.
## 3. Contact Technical Support
If the issue still cannot be resolved, contact us through:
- **Community feedback**: Search for similar issues in GitHub Issues or community channels.
- **Provide details**: When contacting support, include:
- Full version number currently in use.
- Detailed issue description with reproduction steps.
- Related system error logs or screenshots.
---
title: 排查注意
description: FastGPT注意事项
---
# 注意事项
在使用 FastGPT 过程中遇到问题时,请参考以下步骤进行排查和解决。
## 1. 版本检查与升级
很多已知问题已在最新版本中得到修复。在反馈问题前,请务必确认您的版本情况:
- **检查版本**:在 FastGPT 首页或管理后台查看当前运行的版本号。
- **升级建议**:如果当前不是最新版本,建议先参考 [更新指南](../upgrading/upgrade-intruction) 升级至最新稳定版。
## 2. 问题排查步骤
若升级后问题依然存在,请按以下顺序排查:
- **查看日志**:检查 Docker 容器或服务器日志,寻找具体的错误报错信息(Error Stack)。
- **清理缓存**:尝试清理浏览器缓存或使用无痕模式重新访问。
- **环境检查**:确认数据库(MongoDB, PostgreSQL/Milvus)连接是否正常,以及 API 密钥是否有效。
## 3. 联系技术支持
若以上步骤均无法解决您的问题,请通过以下方式联系我们:
- **社区反馈**:在 GitHub Issues 或相关社群中搜索类似问题。
- **提供信息**:联系技术人员时,请务必提供:
- 当前使用的完整版本号。
- 问题的详细描述(包括复现步骤)。
- 相关的系统错误日志或截图。
---
title: Troubleshooting Methods
description: FastGPT Self-Hosting Common Troubleshooting Methods
---
## 1. Troubleshooting Methods
You can first look for [Issue](https://github.com/labring/FastGPT/issues), or raise a new Issue. For private deployment errors, be sure to provide detailed operation steps, logs, and screenshots, otherwise it is difficult to troubleshoot.
### (1) Get Backend Errors
1. `docker ps -a` View the running status of all containers, check if they are all running. If there is an abnormality, try `docker logs container_name` to view the corresponding log.
2. If the containers are running normally, `docker logs container_name` to view the error log.
---
### (2) Frontend Errors
When a frontend error occurs, the page will crash and prompt to check the console log. You can open the browser console and view the log in `console`. You can also click the hyperlink of the corresponding log, which will prompt to the specific error file. You can provide these detailed error information to facilitate troubleshooting.
---
### (3) OneAPI Errors
Those with `requestId` are OneAPI prompts errors, mostly due to model interface errors. You can refer to [OneAPI Common Errors](/docs/self-host/faq/#三常见的-oneapi-错误)
---
---
title: 错误排查方式
description: FastGPT 私有部署常见问题排查方式
---
## 一、错误排查方式
可以先找找[Issue](https://github.com/labring/FastGPT/issues),或新提 Issue,私有部署错误,务必提供详细的操作步骤、日志、截图,否则很难排查。
### (1)获取后端错误
1. `docker ps -a` 查看所有容器运行状态,检查是否全部 running,如有异常,尝试`docker logs 容器名`查看对应日志。
2. 容器都运行正常的,`docker logs 容器名` 查看报错日志
---
### (2)前端错误
前端报错时,页面会出现崩溃,并提示检查控制台日志。可以打开浏览器控制台,并查看`console`中的 log 日志。还可以点击对应 log 的超链接,会提示到具体错误文件,可以把这些详细错误信息提供,方便排查。
---
### (3)OneAPI 错误
带有`requestId`的,都是 OneAPI 提示错误,大部分都是因为模型接口报错。可以参考 [OneAPI 常见错误](/docs/self-host/faq/#三常见的-oneapi-错误)
---
\ No newline at end of file
---
title: S3 Issues Troubleshooting
description: FastGPT Self-Hosting Common S3 Issues Troubleshooting
---
## 1. Log shows ERR level "Failed to ensure external public/private bucket exists", resulting in inability to connect to object storage
### 1.1 Error Stack Display
- error: Error: getaddrinfo ENOTFOUND
Example
- ![](/imgs/faq4.png)
### Possible Errors
- STORAGE_S3_FORCE_PATH_STYLE configuration error
### Solution
- Turn on the STORAGE_S3_FORCE_PATH_STYLE option to `true`, otherwise the client cannot find the target service
---
## 2. Upload conversation file / knowledge base file error
Example
- ![](/imgs/faq5.png)
### 2.1 SignatureDoesNotMatched
- Signature inconsistency, mostly due to Nginx configuration error
### Possible Errors
- Necessary request headers (such as Headers, Host) were not passed during Nginx forwarding
### Solution
- Configure proxy_set_header Host $http_host, do not set to $host, Nginx's $host built-in variable will remove the port, set to $http_host
---
---
title: 存储桶问题排查
description: FastGPT 私有部署存储桶问题排查方式
---
## 1. 日志出现 ERR 等级的 “Failed to ensure external public/private bucket exists”,导致无法连接上对象存储
### 1.1 错误栈显示
- error: Error: getaddrinfo ENOTFOUND
示例
- ![](/imgs/faq4.png)
### 可能的错误
- STORAGE_S3_FORCE_PATH_STYLE 配置错误
### 解决
- 将 STORAGE_S3_FORCE_PATH_STYLE 选项开启为 `true`,否则客户端无法找到目标服务
---
## 2. 上传对话文件 / 知识库文件报错
示例
- ![](/imgs/faq5.png)
### 2.1 SignatureDoesNotMatched
- 签名不一致,大部分情况是因为 Nginx 配置错误
### 可能的错误
- Nginx 转发时未透传必要的请求头(如 Headers、Host)
### 解决
- 配置 proxy_set_header Host $http_host,不要设置成 $host,Nginx 的 $host内置变量会把端口去掉,要设置成 $http_host
---
\ No newline at end of file
---
title: 'V4.12.0 (Includes Migration Script)'
description: 'FastGPT V4.12.0 Update Notes, released on 2025-8-11'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.12.0
- Update FastGPT commercial edition image tag: v4.12.0
- Update fastgpt-plugin image tag: v0.1.9
- mcp_server: no update required
- Sandbox: no update required
- AIProxy: no update required
### 2. Update Environment Variables
Update the FastGPT commercial edition (fastgpt-pro) environment variables:
```sh
# Secret key for file reading, must match the environment variable in the fastgpt image
FILE_TOKEN_KEY=filetokenkey
```
### 3. Run the Migration Script
This script only needs to be run by commercial edition users.
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4120' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
**Script Functions**
1. Initializes chat log permissions for team members.
## New Features
1. Commercial edition: app log data dashboard.
2. Commercial edition: simple chat page — select a model and preset tools to chat directly without building an app.
3. Chat page: quick team app switching.
4. Permission table restructured to use a Role-to-Permission mapping model.
5. Apps can now have chat log viewing permissions assigned individually.
## Improvements
1. Fixed 3 potential memory leak issues in the code.
2. Optimized workflow recursion checks to prevent infinite recursion.
3. Optimized the document reading Worker to use SharedBuffer, avoiding data copying.
4. Batch vector generation and storage to reduce network operations.
5. Knowledge base search: multi-query merged computation to reduce database operations.
6. Improved knowledge base selection UX.
7. Login page UI adjustments.
8. Stricter validation in workflows for whether a toolset can be added.
9. Chat log export now only exports selected columns, and fixed an issue where some columns could not be exported.
## Bug Fixes
1. Doc2x API update caused parsing failures.
2. Workflow: team app directories could be incorrectly added to workflows.
3. Workflow: array selector UI defect.
4. Member sync had incomplete permission deletion issues.
## Tool Updates
1. System tools can now return `citeLinks` in their response, enabling citation link display in the chat interface.
---
title: 'V4.12.0(包含升级脚本)'
description: 'FastGPT V4.12.0 更新说明, 发布于 2025-8-11'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.12.0
- 更新 FastGPT 商业版镜像tag: v4.12.0
- 更新 fastgpt-plugin 镜像 tag: v0.1.9
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
### 2. 修改环境变量
修改 FastGPT 商业版(fastgpt-pro) 环境变量:
```sh
# 文件阅读时的密钥,与 fastgpt 镜像中环境变量一致
FILE_TOKEN_KEY=filetokenkey
```
### 3. 执行升级脚本
该脚本仅需商业版用户执行。
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4120' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
**脚本功能**
1. 初始化团队成员的应用对话日志权限。
## 🚀 新增内容
1. 商业版支持应用日志数据看板。
2. 商业版支持简易对话页,可直接选择模型和预设工具进行聊天,无需进行应用搭建。
3. 对话页,增加团队应用快速切换。
4. 权限表调整,采用 Role 映射 Permission 模式。
5. 应用可单独分配对话日志查看权限。
## ⚙️ 优化
1. 优化 3 处存在潜在内存泄露的代码。
2. 优化工作流部分递归检查,避免无限递归。
3. 优化文档阅读 Worker,采用 ShareBuffer 避免数据拷贝。
4. 批量进行向量生成和入库,减少网络操作。
5. 知识库搜索,多 query 合并计算,减少数据库操作。
6. 选择知识库交互优化。
7. 登录页 UI 调整。
8. 工作流中,更严格检测工具集是否可被添加。
9. 对话日志导出,仅导出选中的表头,并修复部分表头无法导出的问题。
## 🐛 修复
1. Doc2x API 更新,导致解析失败。
2. 工作流中,团队应用目录也可以被加入工作流。
3. 工作流,数组选择器 UI 缺陷。
4. 成员同步存在权限未完成删除问题
## 🔨 工具更新
1. 系统工具可返回 citeLinks 响应值,从而在对话框实现引用链接展示。
\ No newline at end of file
---
title: 'V4.12.1 (Includes Migration Script)'
description: 'FastGPT V4.12.1 Update Notes, released on 2025-8-18'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.12.1-fix
- Update FastGPT commercial edition image tag: v4.12.1
- Update fastgpt-plugin image tag: v0.1.10
- mcp_server: no update required
- Sandbox: no update required
- AIProxy: no update required
### 2. Run the Migration Script
This script only needs to be run by commercial edition users.
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4121' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
**Script Functions**
1. Migrates historical chat logs into the new log dashboard format.
## New Features
1. Automatic prompt generation and optimization.
2. Added `SIGNOZ_STORE_LEVEL` parameter to control the Signoz log storage level.
## Improvements
1. Workflow response optimization: explicitly specifying which response values go into chat history, instead of determining by key.
2. Prevented infinite loops or deep recursion risks caused by variable substitution in workflows.
3. Chat log export now consistently exports full conversation details.
4. Paginator UI improvements.
## Bug Fixes
1. Tool secret input: boolean values could not pass form validation.
2. Chat page: pane switching could cause data inconsistencies.
3. Incorrect index on the chat log dashboard data table.
## Tool Updates
1. System tools now support individual Tool description configuration for better model comprehension.
---
title: 'V4.12.1(包含升级脚本)'
description: 'FastGPT V4.12.1 更新说明, 发布于 2025-8-18'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.12.1-fix
- 更新 FastGPT 商业版镜像tag: v4.12.1
- 更新 fastgpt-plugin 镜像 tag: v0.1.10
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
### 2. 执行升级脚本
该脚本仅需商业版用户执行。
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4121' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
**脚本功能**
1. 将历史对话日志整理成新的日志看板数据。
## 🚀 新增内容
1. Prompt 自动生成和优化。
2. 增加`SIGNOZ_STORE_LEVEL`参数,可以控制 Signoz 日志存储级别。
## ⚙️ 优化
1. 工作流响应优化,主动指定响应值进入历史记录,而不是根据 key 决定。
2. 避免工作流中,变量替换导致的死循环或深度递归风险。
3. 对话日志导出,固定导出对话详情。
4. 分页器 UI 优化。
## 🐛 修复
1. 工具密钥输入,boolean 值无法通过 form 校验。
2. 对话页,pane切换可能导致数据异常。
3. 对话日志看板数据表索引不正确。
## 🔨 工具更新
1. 支持对系统工具单独配置 Tool description,更利于模型理解。
---
title: 'V4.12.2'
description: 'FastGPT V4.12.2 Update Notes, released on 2025-8-26'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.12.2-fix3
- Update FastGPT commercial edition image tag: v4.12.2-fix3
- Update fastgpt-plugin image tag: v0.1.11
- mcp_server: no update required
- Sandbox: no update required
- AIProxy: no update required
## New Features
1. Embedding model concurrency settings — no longer hardcoded to 10, since some embedding models don't support concurrency. Default is now 1, configurable in model settings.
2. Chat page: admins can configure featured apps to recommend to team members.
3. Chat page home: admins can configure shortcut apps for commonly used team applications.
4. Support for disabling the team chat homepage.
## Improvements
1. Added anomaly detection for **isolated branches** in workflows.
2. When truncating embedding vectors above 1536 dimensions, normalization is now enforced. For other dimensions, normalization is determined entirely by configuration, reducing unnecessary automatic computation.
3. Moved model provider configuration into the plugin SDK.
4. Encapsulated LLM call functions to simplify LLM requests and tool calls.
5. Optimized workflow scheduling code to avoid deep recursion.
6. Improved workflow recursion detection with grouped checks on recursive paths, supporting more diverse connection patterns.
## Bug Fixes
1. Standalone chat page: various UI issues.
2. Standalone chat page: plugin interactions could not be rendered.
3. Standalone chat page: incorrect default URL when using sub-routes.
4. Multi-select picker causing page crashes.
5. Mobile: shared links incorrectly loaded the authenticated chat page navigation.
6. User sync could encounter write conflict issues.
7. System plans could not be fully disabled — empty object defaults caused authentication errors.
8. Workflow: searching for team apps was not working.
9. App versions: incorrect `ref` field prevented normal usage.
10. OceanBase: batch inserts did not correctly return inserted IDs.
11. Interaction nodes conflicted with toolsets, causing toolsets to malfunction after an interaction node.
## Tool Updates
1. Doc2x tool: incorrect response values.
---
title: 'V4.12.2'
description: 'FastGPT V4.12.2 更新说明, 发布于 2025-8-26'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.12.2-fix3
- 更新 FastGPT 商业版镜像tag: v4.12.2-fix3
- 更新 fastgpt-plugin 镜像 tag: v0.1.11
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
## 🚀 新增内容
1. 向量模型并发请求设置,不统一设置成 10,避免部分向量模型不支持并发,默认均为 1,可在模型配置中设置。
2. 对话页支持管理员配置精选应用,便于推荐给团队成员使用。
3. 对话页首页,支持管理员配置快捷应用,可以设置团队常用的应用。
4. 支持关闭团队的对话首页。
## ⚙️ 优化
1. 增加工作流**独立分支**异常检测。
2. 向量模型超过 1536 维度进行截断时,强制进行归一化。其他维度是否归一化,完全由配置决定,减少自动判断的计算量。
3. 模型提供商配置移至 plugin sdk 中。
4. 封装 LLM 调用函数,简化 LLM 请求和工具调用。
5. 优化工作流调度代码,避免深度递归。
6. 工作流递归判断优化,对递归线继续分组检测,适配更多样连线。
## 🐛 修复
1. 独立对话页部分 UI 异常。
2. 独立对话页无法渲染插件交互。
3. 独立对话页,使用二级路由时,默认地址错误。
4. 多选选择器导致的页面崩溃。
5. 移动端,分享链接,异常加载了登录态对话页的导航。
6. 用户同步可能出现写冲突问题。
7. 无法完全关闭系统套餐,会存在空对象默认值,导致鉴权异常。
8. 工作流,添加团队应用,搜索无效。
9. 应用版本,ref 字段错误,导致无法正常使用。
10. Oceanbase 批量插入时,未正确返回插入的 id。
11. 交互节点与工具集存在冲突,导致交互节点后工具集无法正常使用。
## 🔨 工具更新
1. Doc2x 工具响应值异常。
\ No newline at end of file
---
title: 'V4.12.3'
description: 'FastGPT V4.12.3 Update Notes, released on 2025-9-8'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.12.3
- Update FastGPT commercial edition image tag: v4.12.3
- Update fastgpt-plugin image tag: v0.1.12
- mcp_server: no update required
- Sandbox: no update required
- AIProxy: no update required
## New Features
1. Prompt editor now supports lists, tabs, and other rich text interactions.
2. Apps now have additional global variables: password, multi-select, and internal variables (hidden in on-site chat).
## Improvements
1. Corrected the RRF weight merging algorithm to use the standard RRF weight formula.
2. Multi-select component now supports dynamic width calculation to fit visible tags.
3. Variable update component rendering optimized for consistency with global variable rendering.
## Bug Fixes
1. In single-team mode, users who left could not rejoin the team.
2. Workflow file upload was enabled by default, but the input side did not include file output.
3. Consecutive user selections: branches could not run correctly.
4. Workflow: variable update array selector was not working properly.
5. App evaluation: only the first output text was captured instead of all output texts.
## Plugin Updates
1. Migrated system tool types to the plugin.
2. Moved model provider configuration to the plugin for hot-reload support.
3. Moved app templates to the plugin.
---
title: 'V4.12.3'
description: 'FastGPT V4.12.3 更新说明, 发布于 2025-9-8'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.12.3
- 更新 FastGPT 商业版镜像tag: v4.12.3
- 更新 fastgpt-plugin 镜像 tag: v0.1.12
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
## 🚀 新增内容
1. 提示词编辑器支持列表、tab 渲染等部分富文本交互。
2. 应用增加更多全局变量:密码、多选、内部变量(在站内对话不会显示)。
## ⚙️ 优化
1. 纠正 RRF 权重合并算法,使用标准 RRF 权重公式。
2. 多选组件支持动态宽度计算,适配可见 tag。
3. 变量更新组件渲染优化,与全局变量渲染保持一致性。
## 🐛 修复
1. 单团队模式下,如果用户离开,则无法重新进入团队。
2. 工作流文件上传默认打开,但输入侧未添加文件输出。
3. 连续用户选择,分支无法正常运行。
4. 工作流,变量更新,数组选择器异常。
5. 应用评测,评测内容仅获取了首个输出文本,未获取所有输出文本。
## 🔨 插件更新
1. 系统工具类型迁移至 plugin。
2. 将模型提供商配置移动到 plugin,实现热更新。
3. 将应用模板移动至 plugin。
\ No newline at end of file
---
title: 'V4.12.4 (Includes Migration Script)'
description: 'FastGPT V4.12.4 Update Notes, released on 2025-9-15'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.12.4
- Update FastGPT commercial edition image tag: v4.12.4
- Update fastgpt-plugin image tag: v0.1.13
- mcp_server: no update required
- Update Sandbox image tag: v4.12.4
- AIProxy: no update required
### 2. Run the Migration Script
This script only needs to be run by commercial edition users.
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4124' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
**Script Functions**
1. Adds owner permissions to all resources.
## New Features
1. Commercial edition: WeCom publishing channel support.
## Improvements
1. Permission inheritance optimization: when a child resource has higher permissions than its parent, inheritance mode is no longer forcibly interrupted.
2. Prompt editor now supports list rendering.
3. Navigating back to the knowledge base list from the data page now preserves pagination.
4. After successfully uploading files to a knowledge base, the view returns to the corresponding upload directory.
5. Reduced transaction operations when deleting apps.
6. User selection UI improvements.
## Bug Fixes
1. HTTP tool null pointer error prevented editing.
2. Python code execution: input parameters could not be boolean values.
## Plugin Updates
---
title: 'V4.12.4(包含升级脚本)'
description: 'FastGPT V4.12.4 更新说明, 发布于 2025-9-15'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.12.4
- 更新 FastGPT 商业版镜像tag: v4.12.4
- 更新 fastgpt-plugin 镜像 tag: v0.1.13
- mcp_server 无需更新
- 更新 Sandbox 镜像 tag: v4.12.4
- AIProxy 无需更新
### 2. 执行升级脚本
该脚本仅需商业版用户执行。
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4124' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
**脚本功能**
1. 补充所有资源的owner权限
## 🚀 新增内容
1. 商业版支持企微发布渠道。
## ⚙️ 优化
1. 权限继承优化,子资源权限高于父级时,不会强制打断继承模式。
2. Prompt 编辑器支持列表渲染。
3. 数据页返回知识库列表,保持分页。
4. 知识库上传文件成功后,返回对应上传目录。
5. 删除应用,减少事务操作。
6. 用户选择 UI。
## 🐛 修复
1. HTTP 工具空指针,导致无法编辑。
2. python 代码运行,入参无法是 boolean 值。
## 🔨 插件更新
{
"title": "4.12.x",
"description": "",
"pages": ["4124", "4123", "4122", "4121", "4120"]
}
{
"title": "4.12.x",
"description": "",
"pages": ["4124", "4123", "4122", "4121", "4120"]
}
---
title: 'V4.13.0 (Environment Variable Changes)'
description: 'FastGPT V4.13.0 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.13.0-fix
- Update FastGPT commercial edition image tag: v4.13.0-fix
- Update fastgpt-plugin image tag: v0.2.0-fix2
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
### 2. Update Environment Variables
1. Update `fastgpt-plugin` environment variable names, and add `S3_PLUGIN_BUCKET`, `MONGODB_URI`, and `REDIS_URL` values.
```
S3_EXTERNAL_BASE_URL=https://xxx.com # S3 external URL
S3_ENDPOINT=localhost
S3_PORT=9000
S3_USE_SSL=false
S3_ACCESS_KEY=minioadmin
S3_SECRET_KEY=minioadmin
S3_TOOL_BUCKET=fastgpt-tool # Bucket for temporary files created by system tools. Requires public read, private write.
S3_PLUGIN_BUCKET=fastgpt-plugin # Bucket for system plugin hot-install files. Private read/write.
RETENTION_DAYS=15 # Number of days to retain system tool temporary files
MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin # MongoDB connection string
REDIS_URL=redis://default:mypassword@redis:6379 # Redis connection string
```
2. Add S3-related environment variables for `fastgpt` and `fastgpt-pro (commercial edition)`.
```
# S3 external URL
S3_EXTERNAL_BASE_URL=
S3_ENDPOINT=localhost
S3_PORT=9000
S3_USE_SSL=false
S3_ACCESS_KEY=minioadmin
S3_SECRET_KEY=minioadmin
S3_PLUGIN_BUCKET=fastgpt-plugin # Bucket for system plugin hot-install files. Private read/write.
```
## New Features
1. New HTTP Toolset type for apps, replacing the previous HTTP Plugin.
2. System administrators can now quickly install system tools via file upload.
3. Team administrators can assign model permissions.
4. Code execution node supports AI-assisted code generation.
5. Knowledge base file parsing now supports configuring maximum concurrency. (Open-source edition: configure via `systemEnv.datasetParseMaxProcess` in config.json. Commercial edition: configure via the admin dashboard.)
## Improvements
1. System tools now display the corresponding author name, with safe i18n translations.
2. Metered billing push and merge logic.
3. Node details in chat history are now stored in a separate table.
4. Removed invalid `dataId` index from `chat_items`.
5. Workflow UI performance improvements to reduce unnecessary re-renders.
6. Knowledge base citation authentication in chats now applies to the entire conversation instead of individual messages.
7. Improved UX for dynamic input/output variables in workflows.
## Bug Fixes
1. Global variables not passed in debug mode.
2. Parameters from upstream nodes not passed to downstream nodes in debug mode.
3. In debug mode, enabling "Auto Execute" would skip external variable input.
4. Auto voice reply not working.
5. Error capture configuration lost when copying nodes.
6. "Suggested Questions" custom prompt: previous values were cleared on save.
7. Knowledge base image URLs assembled incorrectly when a secondary route was configured.
8. Prompt editor cleared Markdown formatting during keyboard input.
9. Knowledge base collection page did not auto-refresh when training data was present.
10. Workflow quick-add node popup showed empty toolbox on second open.
11. PPTX file parsing order was incorrect.
## Plugin Updates
1. Added Volcengine Fusion Information Search tool.
---
title: 'V4.13.0(包含环境变量变更)'
description: 'FastGPT V4.13.0 更新说明'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.13.0-fix
- 更新 FastGPT 商业版镜像tag: v4.13.0-fix
- 更新 fastgpt-plugin 镜像 tag: v0.2.0-fix2
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
### 2. 更新环境变量
1. 更新 `fastgpt-plugin` 环境变量名字,并新增`S3_PLUGIN_BUCKET`、`MONGODB_URI`、`REDIS_URL`值。
```
S3_EXTERNAL_BASE_URL=https://xxx.com # S3 外网地址
S3_ENDPOINT=localhost
S3_PORT=9000
S3_USE_SSL=false
S3_ACCESS_KEY=minioadmin
S3_SECRET_KEY=minioadmin
S3_TOOL_BUCKET=fastgpt-tool # 系统工具,创建的临时文件,存储的桶,要求公开读私有写。
S3_PLUGIN_BUCKET=fastgpt-plugin # 系统插件热安装文件的桶,私有读写。
RETENTION_DAYS=15 # 系统工具临时文件保存天数
MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin # MongoDB 链接参数
REDIS_URL=redis://default:mypassword@redis:6379 # Redis 链接参数
```
2. 增加`fastgpt`和`fastgpt-pro(商业版)` s3 相关环境变量。
```
# S3 外网地址
S3_EXTERNAL_BASE_URL=
S3_ENDPOINT=localhost
S3_PORT=9000
S3_USE_SSL=false
S3_ACCESS_KEY=minioadmin
S3_SECRET_KEY=minioadmin
S3_PLUGIN_BUCKET=fastgpt-plugin # 系统插件热安装文件的桶,私有读写。
```
## 🚀 新增内容
1. 应用新增 HTTP 工具集类型,取代原 HTTP 插件。
2. 支持系统管理员通过文件形式快速安装系统工具。
3. 团队管理员支持分配模型权限。
4. 代码运行节点支持 AI 辅助生成。
5. 知识库文件解析支持配置最大并发数。(开源版通过 config.json 文件中`systemEnv.datasetParseMaxProcess`属性配置,商业版通过 admin 后台配置。)
## ⚙️ 优化
1. 系统工具增加对应 author 名字显示。同时使用安全的 I18n 翻译。
2. 计量计费账单推送和合并逻辑。
3. 对话记录中,节点详情单独分表存储。
4. 删除 chat_items 中无效的 dataId 索引。
5. 工作流UI性能优化,减少 UI 重绘。
6. 对话中,知识库引用鉴权采用整个对话框鉴权,而不是单条记录。
7. 工作流动态输入输出变量交互优化。
## 🐛 修复
1. debug 模式下,全局变量未传递。
2. debug 模式下,前方节点参数无法传递至后方节点。
3. 调试模式下,开启“自动执行”,会跳过外部变量的填写。
4. 自动语音回复未生效。
5. 节点复制,报错捕获配置丢失。
6. “猜你想问”的自定义提示词,保存时,上一次的值会被置空。
7. 配置了二级路由的情况下,知识库检索出来的图片地址拼接异常。
8. Prompt 编辑器,键盘输入时会清除掉 Markdown 标记。
9. 知识库集合页面,有训练数据时候无法自动刷新页面。
10. 工作流快速添加节点弹窗,工具箱页面二次打开时为空。
11. PPTX 文件解析顺序错误。
## 🔨 插件更新
1. 新增火山引擎融合信息搜索工具。
---
title: 'V4.13.1'
description: 'FastGPT V4.13.1 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.13.1
- Update FastGPT commercial edition image tag: v4.13.1
- Update fastgpt-plugin image tag: v0.2.2
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
## New Features
1. Added response size limit for HTTP requests.
## Improvements
1. When copying an app, the avatar is now duplicated to avoid sharing the same image link, which previously caused one app's avatar to disappear when the other's was updated.
2. Markdown parser now handles Windows paths correctly, preventing `\` from being treated as an escape character.
## Bug Fixes
1. In loop nodes, the previous round's interactive response value was not cleared at the end of each iteration.
2. After an interactive node responded, chat record statistics were not updated.
3. Prompt editor displayed incorrect default values in popups.
4. Form input fields with `.` in the variable name could not accept values properly.
5. When calling a sub-workflow, auto-flow knowledge base citations were not displayed in share links.
## Plugin Updates
1. Base64 decode tool now supports conversion to both text and images.
2. Moji Weather tool.
3. Biyou PPT generation tool.
4. Configurable maximum request body size and internal network request maximum response size to prevent memory overflow from oversized responses.
5. Added model presets for Claude 4.5, Qwen3, Kimi2, and DeepSeek 3.2.
---
title: 'V4.13.1'
description: 'FastGPT V4.13.1 更新说明'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.13.1
- 更新 FastGPT 商业版镜像tag: v4.13.1
- 更新 fastgpt-plugin 镜像 tag: v0.2.2
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
## 🚀 新增内容
1. 增加对 HTTP 请求响应大小限制。
## ⚙️ 优化
1. 复制应用时,将头像复制一份,避免使用相同的图片链接,导致其中一个应用头像更新后,另一个应用头像丢失。
2. Markdown 解析器适配 windows 路径,避免 \ 被认为转义符。
## 🐛 修复
1. 循环节点中,每轮结束,未清除上一轮交互响应值。
2. 交互节点响应后,未更新对话记录统计数据。
3. prompt 编辑器,弹窗中的默认值存在显示异常。
4. 表单输入,变量名包含.符号时,无法正常输入值。
5. 调用子工作流,自动流知识库引用无法在分享链接中显示。
## 🔨 插件更新
1. base64 解码工具,可以转化成文本和图片。
2. 墨迹天气工具。
3. 必优 PPT 生成工具。
4. 可配置最大请求体大小,以及内部网络请求最大响应大小,避免响应体过大,导致内存溢出。
5. 新增 Claude4.5, qwen3, kimi2, deepseek3.2 模型预设。
\ No newline at end of file
---
title: 'V4.13.2 (Includes Upgrade Script)'
description: 'FastGPT V4.13.2 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.13.2
- Update FastGPT commercial edition image tag: v4.13.2
- Update fastgpt-plugin image tag: v0.2.4
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
### 2. Add FastGPT/FastGPT-pro Environment Variables
```
S3_PUBLIC_BUCKET=fastgpt-public # (Public read bucket name, corresponds to the previous S3_TOOL_BUCKET in the plugin project)
S3_PRIVATE_BUCKET=fastgpt-private # (Private read/write bucket name, corresponds to the previous S3_PLUGIN_BUCKET in the plugin project)
```
### 3. Fix fastgpt-plugin Environment Variables
- Rename S3_TOOL_BUCKET to S3_PUBLIC_BUCKET
- Rename S3_PLUGIN_BUCKET to S3_PRIVATE_BUCKET
### 4. Run the Upgrade Script
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4132' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
This will remove the previous S3 circleLife policy. If you are using an external S3 service that does not support circleLife operations, this script may fail -- you can safely ignore the error (since setting the policy would have also failed).
## New Features
1. HTTP Toolset now supports manual creation mode.
2. Introduced the project OpenAPI framework.
3. API key validity check endpoint.
4. Exported chat logs now include the current version's global variables at the end.
## Improvements
1. Non-administrators can no longer view team audit logs.
2. Introduced S3 for storing app avatars.
3. Workflow canvas performance improvements.
## Bug Fixes
1. LLM models defaulting to image support caused request errors.
2. Mongo watch was not re-triggered during multi-replica failover.
3. Text chunking did not process the remaining `LastText` data after all strategies were exhausted.
4. Variable input field failed validation when number value was 0.
5. Incorrect parallel execution detection in complex workflow loops.
## Plugin Updates
1. Added: Perplexity Search tool.
2. Added: Base64-to-file conversion tool.
3. Added: MiniMax TTS file generation tool.
4. Added: Openrouter Nano Banana image generation tool.
5. Added: Redis cache operation tool.
6. Added: Tavily Search tool.
7. Added: SiliconFlow qwen-image and qwen-image-edit tools.
8. Added: Lark Multidimensional Table operation suite.
9. Added: YouTube subtitle extraction.
10. Added: Alibaba Cloud Bailian qwen image edit.
11. Added: Markdown-to-PPT tool.
12. Added: Whisper speech-to-text tool.
13. System tools now support configuring whether to run in a Worker.
---
title: 'V4.13.2(包含升级脚本)'
description: 'FastGPT V4.13.2 更新说明'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.13.2
- 更新 FastGPT 商业版镜像tag: v4.13.2
- 更新 fastgpt-plugin 镜像 tag: v0.2.4
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
### 2. 增加 FastGPT/FastGPT-pro 环境变量
```
S3_PUBLIC_BUCKET=fastgpt-public #(公开读公开桶名称,对应原来 plugin 项目的S3_TOOL_BUCKET)
S3_PRIVATE_BUCKET=fastgpt-private #(私有读私有写桶名称,对应原来 plugin 项目的S3_PLUGIN_BUCKET)
```
### 3. 修复 fastgpt-plugin 环境变量
- S3_TOOL_BUCKET 改名成 S3_PUBLIC_BUCKET
- S3_PLUGIN_BUCKET 改名成 S3_PRIVATE_BUCKET
### 4. 执行升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4132' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
会删除原先 S3 的 circleLife 策略。如果使用的是外部 S3,可能会因为不支持 circleLife 操作导致该脚本错误,可以忽略(因为设置策略也会失败)。
## 🚀 新增内容
1. HTTP 工具集支持手动创建模式。
2. 项目 OpenAPI 框架引入。
3. APIKey 有效性检测接口。
4. 导出对话日志,末尾跟随当前版本全局变量。
## ⚙️ 优化
1. 非管理员无法看到团队审计日志。
2. 引入 S3 用于存储应用头像。
3. 工作流画布性能。
## 🐛 修复
1. LLM 模型默认支持图片,导致请求错误。
2. Mongo 多副本切换时候,watch 未重新触发。
3. 文本分块,所有策略用完后,未处理 LastText 数据。
4. 变量输入框,number=0 时,无法通过校验。
5. 工作流复杂循环并行判断异常。
## 🔨 插件更新
1. 新增:Perplexity search 工具。
2. 新增:Base64转文件工具。
3. 新增:MiniMax TTS 文件生成工具。
4. 新增:Openrouter nano banana 绘图工具。
5. 新增:Redis 缓存操作工具。
6. 新增:Tavily search 工具。
7. 新增:硅基流动 qwen-image 和 qwen-image-edit 工具。
8. 新增:飞书多维表格操作套件。
9. 新增:Youtube 字幕提取。
10. 新增:阿里百炼 qwen image edit。
11. 新增:Markdown 转 PPT 工具。
12. 新增:whisper 语音转文字工具。
13. 系统工具支持配置是否需要在 Worker 中运行。
{
"title": "4.13.x",
"description": "",
"pages": ["4132", "4131", "4130"]
}
{
"title": "4.13.x",
"description": "",
"pages": ["4132", "4131", "4130"]
}
---
title: 'V4.14.0 (Includes Upgrade Script)'
description: 'FastGPT V4.14.0 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.14.0
- Update FastGPT commercial edition image tag: v4.14.0
- Update fastgpt-plugin image tag: v0.3.0
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
### 2. Run the Upgrade Script
Only required for commercial edition users who have used custom system tools.
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4140' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
This will migrate existing system tools to the latest data table.
### 3. Install System Plugins
Starting from V4.14.0, the fastgpt-plugin image only provides the runtime environment and no longer comes with pre-installed system plugins. All FastGPT systems must manually install system plugins.
**Important Notes**
* Previously manually installed JS plugin packages will become invalid and need to be repackaged and reinstalled.
* Installing via the Plugin Marketplace will fetch data from the public FastGPT Marketplace by default.
* If your FastGPT instance cannot access the Plugin Marketplace, you can manually visit the [FastGPT Plugin Marketplace](https://marketplace.fastgpt.cn/), download the .pkg file, and import it into your system.
* In addition to installation, you can also sort tools, set default installations, manage tags, and more.
* Currently, the plugin system only includes tools. Triggers, document parsers, data chunking strategies, and index enhancement strategies will be added in future releases.
* After system plugins are installed, in multi-tenant systems, team administrators can activate the corresponding tools in the plugin library to use them in apps. For the open-source edition, the root team will have all system tools activated by default.
In addition to installation, you can also sort tools, set default installations, manage tags, and more.
![alt text](/imgs/image-121.png)
## New Features
1. Added Plugin Marketplace, and removed custom plugin groups (only custom tags are retained). This release supports system tools that can be installed from the FastGPT Marketplace. Future releases will support more plugin types: workflow triggers, data source parsers, data chunking strategies, index enhancement strategies, and more.
2. Files uploaded in the chat dialog are now stored in S3 and will not auto-expire -- they are deleted only when the chat record is deleted. Security is improved with signed preview links that expire after 1 hour instead of being long-lived.
3. Global variables now support time point / time range / chat model selection types.
4. Plugin input now supports password type.
## Improvements
1. Improved regex performance for matching Base64 images in Markdown.
2. After a team member accepts an invitation, the default member name is now set to the member's account name.
## Bug Fixes
1. Prompt editor could not parse content correctly when special syntax was present.
2. Claude tool calls failed when indices started from 1, causing parameter errors.
3. S3 avatar deletion threw an error when the key was empty, blocking the process.
4. Workflow dependencies were not refreshed promptly when upstream I/O changed.
5. Exported chat logs were missing feedback records.
6. Cursor jumped to the end of the input when typing in the workflow welcome message field.
7. Interactive nodes combined with consecutive batch execution caused workflow logic errors.
8. After a workflow Redo operation, edit history could no longer push snapshots.
9. HTTP custom input was lost.
---
title: 'V4.14.0(包含升级脚本)'
description: 'FastGPT V4.14.0 更新说明'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.14.0
- 更新 FastGPT 商业版镜像tag: v4.14.0
- 更新 fastgpt-plugin 镜像 tag: v0.3.0
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
### 2. 执行升级脚本
仅需使用过自定义系统工具的商业版用户操作。
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4140' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
会将原系统工具迁移到最新数据表中。
### 3. 安装系统插件至系统
从 V4.14.0 版本开始,fastgpt-plugin 镜像仅提供运行环境,不再预装系统插件,所有 FastGPT 系统需手动安装系统插件。
**注意事项**
* 原先手动安装的 js 插件包将会失效,需重新打包安装。
* 通过插件市场安装,默认会向公开的 FastGPT Marketplace 获取数据进行安装。
* 如果你的 FastGPT 无法访问插件市场,则可以手动访问[FastGPT 插件市场](https://marketplace.fastgpt.cn/),先下载 .pkg 文件,再通过文件导入的方式安装到系统里。
* 除了安装外,还可对工具进行排序、默认安装、标签管理等。
* 目前插件里仅包含工具,后续将增加触发器,文档解析器,数据分块策略,索引增强策略等。
* 系统安装完插件后,对于多租户的系统,团队管理员可以在插件库中激活对应工具,从而在应用中使用。对于开源版,root 团队会默认激活所有系统工具。
除了安装外,还可对工具进行排序、默认安装、标签管理等。
![alt text](/imgs/image-121.png)
## 🚀 新增内容
1. 增加插件市场,同时移除自定义插件分组,仅保留自定义标签。本期支持系统工具,可以从 FastGPT Marketplace 统一安装系统工具。后续将支持更多插件类型:工作流触发器,数据源解析方式,数据分块,索引增强策略等。
2. 对话框上传文件移动存储至 S3,并且不会自动过期,完全跟随对话记录删除。安全性更高,签发预览连接仅 1 小时生效,而不是长期。
3. 全局变量支持时间点/时间范围/对话模型选择类型。
4. 插件输入支持密码类型。
## ⚙️ 优化
1. 匹配 Markdown 中 Base64 图片正则性能。
2. 团队成员接受邀请后,默认成员名改为成员账户名。
## 🐛 修复
1. Prompt 编辑器存在特殊语法时候,无法解析正确内容。
2. Claude 工具调用,如果下标从 1 开始会导致参数异常。
3. S3 删除头像,如果 key 为空时,会抛错,导致流程阻塞。
4. 工作流前置IO 变更时,依赖未及时刷新。
5. 导出对话日志,缺少反馈记录。
6. 工作流欢迎语输入框输入时,光标会偏移到最后一位。
7. 存在交互节点和连续批量执行时,会导致工作流运行逻辑错误。
8. 工作流 Redo 操作后,编辑记录无法再继续推送快照。
9. HTTP 自定义输入丢失。
---
title: 'V4.14.1 (Includes Upgrade Script)'
description: 'FastGPT V4.14.1 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.14.1
- Update FastGPT commercial edition image tag: v4.14.1
- Update fastgpt-plugin image tag: v0.3.1
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
### 2. Run the Upgrade Script
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4141' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
This will create a copy of the original app directory for tool usage.
## New Features
1. New workbench interaction. The original "Plugin" has been renamed to "Workflow Tool" and moved under the My Tools category.
2. Workflows now provide a "Continue" button after running out of credits, so you don't have to start over.
## Improvements
1. MCP Client instances are now persisted within the same conversation turn and will not be destroyed.
2. When reloading models, the global model configuration is no longer cleared and re-added, which previously caused model call errors during the reload phase.
3. Auto-save now creates a team cloud save record.
## Bug Fixes
1. Interactive nodes did not work properly in debug mode.
2. Tab spacing was misaligned in the rich text editor.
3. When running nested Agents, the skip-node queue was not initialized, preventing normal execution.
4. Condition node threw an error when the right-side value was a number reference.
5. File selection input did not show the selection dialog when used as a workflow tool parameter.
6. HTTP plugin could not correctly handle HTTP (non-HTTPS) protocol requests.
7. UI issue with the default value editor for text-type global variables.
8. Code node content overlapped when exceeding 100 lines.
9. Deleting an app did not delete items inside its directory.
10. Browser did not pass the real-time date to the server.
---
title: 'V4.14.1(包含升级脚本)'
description: 'FastGPT V4.14.1 更新说明'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.14.1
- 更新 FastGPT 商业版镜像tag: v4.14.1
- 更新 fastgpt-plugin 镜像 tag: v0.3.1
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
### 2. 执行升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4141' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
复制一份原应用目录给工具使用。
## 🚀 新增内容
1. 新工作台交互。原插件,改名"工作流工具",并移动到我的工具分类下。
2. 工作流运行欠费后提供继续运行按键,无需从头开始。
## ⚙️ 优化
1. 在同一轮对话中,MCP Client 会持久化实例,不会销毁。
2. 模型重载时候,不会把全局模型配置清空再添加,从而导致重载阶段模型调用错误。
3. 自动保存,增加一条团队云端保存记录。
## 🐛 修复
1. Debug 模式下,交互节点无法正常使用。
2. 富文本编辑器 tab 空格未对齐。
3. 嵌套运行 Agent 时候,跳过节点队列未初始化,导致无法正常运行。
4. 判断器右侧是 number 引用时,会出现报错。
5. 工作流工具入参为文件选择时,未出现选择框。
6. HTTP 插件无法正确处理 http 协议(非 https)接口请求。
7. 文本类型的全局变量,默认值编辑框 UI。
8. 代码节点行数超过 100 行时显示重叠。
9. 删除应用,未把目录内的删除。
10. 浏览器未传递实时日期至服务器。
---
title: 'V4.14.10'
description: 'FastGPT V4.14.10 Release Notes'
---
## Upgrade Guide
### 1. Add agent-sandbox related configurations
The following configuration adjustments are for `docker compose` deployments. `sealos` commercial users can contact support for an online sandbox service solution.
Open the [latest yml deployment file](https://github.com/labring/FastGPT/blob/main/deploy/docker/global/docker-compose.pg.yml) and add the following:
1. Add the `x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'` variable configuration at the top of the file.
2. Add 3 new services: `opensandbox-server`, `volume-manager`, and `agent-sandbox-image`.
3. Add `configs` (you can find this content at the bottom of the file, just copy and append it directly).
4. Modify the `fastgpt` environment variables to include the following:
```bash
# ==================== Agent sandbox config ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox config (effective when PROVIDER: opensandbox)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.0.2
# Volume persistence config (optional under opensandbox provider)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
```
### 2. Modify the sandbox image name
The image name under the original `sandbox` services needs to be changed from `fastgpt-sandbox` to `fastgpt-code-sandbox`.
### 3. Update image tags
- Update FastGPT image tag to: `v4.14.10`
- Update FastGPT commercial image tag to: `v4.14.10`
- Update fastgpt-plugin image tag to: `v0.5.6`
- Update code-sandbox image tag to: `v4.14.10`
Restart the service after updating.
### 4. Update system tools and refresh icons
Some system tool icons have been removed and replaced with image links, so some tool icons will be lost. You can update the system tools again (uninstall and reinstall, or directly import the pkg to overwrite).
## 🚀 Features
1. Added OpenSandbox docker deployment and adaptation, with support for data persistence via mounted volumes.
2. Added sandbox file link reading tool, allowing AI to directly return file access links.
3. Added WeChat Personal Account publishing channel.
4. Added streaming output support for Lark publishing channel.
5. The maximum directory limit can now be configured via environment variables.
6. Added max limit configuration for rerank models to prevent rerank failures caused by exceeding the single document limit.
7. Added tiered billing mode for LLMs and unified the billing push method.
## ⚙️ Optimizations
1. Optimized workflow runtime to reduce computational complexity.
2. Added calculation limits for large variables to prevent thread blocking caused by high computational complexity.
3. Removed configurations like "Used for knowledge base file processing" and "Used for question classification" from model settings, and unified them with a "Test Model" flag. Test models will have a special identifier and can only be used in AI chat; they will be filtered out in other scenarios.
## 🐛 Bug Fixes
1. Fixed an issue where the default values of global variables in sub-workflows were not taking effect.
2. Fixed an issue where the configured rerank model was not displaying in agent mode.
3. Fixed an issue where the output of the bge-m3 embedding vector model was always 0.
4. Fixed a call failure caused by connection exceptions during concurrent MCP calls.
5. Fixed security vulnerabilities in the login API.
6. Fixed MCP SSRF security vulnerabilities.
7. Fixed an issue where workflow tool errors were not properly caught.
8. Fixed an issue where the default values of global variables in sub-workflows were not taking effect.
---
title: 'V4.14.10'
description: 'FastGPT V4.14.10 更新说明'
---
## 升级指南
### 1. 增加 agent-sandbox 相关配置
以下针对的是 `docker compose` 部署方案的配置调整,使用`sealos`的商业版用户,可私信支持人员,提供在线的沙盒服务方案。
参考[最新 yml 部署文件](https://github.com/labring/FastGPT/blob/main/deploy/docker/cn/docker-compose.pg.yml),调整本地 yml 文件,加入以下内容:
1. 在文件顶部增加 `x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'` 变量配置。
2. 增加 5 组 services: `opensandbox-server`,`opensandbox-agent-sandbox-image`,`opensandbox-execd-image`,`opensandbox-egress-image`,`fastgpt-volume-manager`
3. 调整 `networks`,可参考最新的 yml 完全修改。
4. 增加 `configs`配置, 文件底部可找到该内容,直接复制添加。
5. 修改 `fastgpt-app`/`fastgpt-pro` 环境变量, 增加以下变量:
```bash
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
```
### 2. 修改 sandbox 镜像名
原先的 `sandbox` 服务的镜像名,需要从`fastgpt-sandbox`改成`fastgpt-code-sandbox`。
目的是为了区分 agent-sandbox 和 code-sandbox。
### 3. 更新镜像 tag
- 更新 fastgpt-app(fastgpt 主服务) 镜像 tag: v4.14.10.4
- 更新 fastpgt-pro(商业版) 镜像 tag: v4.14.10
- 更新 code-sandbox 镜像 tag: v4.14.10
- 更新 fastgpt-plugin 镜像 tag: v0.5.6
更新完后即可重启服务。
### 4. 更新系统工具,刷新头像
系统工具部分头像,移除了 icon,都转用图片链接,所以会丢失一部分工具的头像。可以重新更新一次系统工具(卸载再安装,或者直接导入 pkg 覆盖)。
## 🚀 新增内容
1. 增加 OpenSandbox docker 部署方案及适配,并支持通过挂载 volume 进行数据持久化。
2. 新增沙盒读取文件链接工具,可以直接让 AI 返回文件的访问链接。
3. 新增微信个人号发布渠道
4. 飞书发布渠道,支持流输出。
5. 目录最大上限,可通过环境变量配置。
6. rerank 模型上限配置,避免超出单条 document 上限导致 rerank 失败。
7. 增加 LLM 梯度计量计费模式,同时统一计费推送方式。
## ⚙️ 优化
1. 工作流 runtime,减少计算复杂。
2. 增加一些对于大变量的计算限制,避免计算复杂度过高导致线程阻塞。
3. 移除模型配置里“用于知识库文件处理”、“用于问题分类”等配置,统一增加“测试模型“标志。测试模型会有特殊标识,并且仅可在 ai chat 中使用,其余场景将会过滤。
## 🐛 修复
1. 子工作流的全局变量默认值未生效。
2. agent 模式下已配的 rerank 模型不显示。
3. bge-m3 embedding 向量模型输出都为 0 的问题。
4. MCP 并发调用时,连接异常导致调用失败。
5. 修复登录接口安全问题
6. 修复 MCP SSRF 安全问题
7. 修复工作流工具错误未成功捕获问题
8. 修复子工作流全局变量默认值未生效
\ No newline at end of file
---
title: 'V4.14.11 (In Progress)'
description: 'FastGPT V4.14.11 Release Notes'
---
## Upgrade Guide
### 1. Update image tags
- Update fastgpt-app (FastGPT main service) image tag to: v4.14.11
- Update fastgpt-pro (commercial edition) image tag to: v4.14.11
- Update code-sandbox image tag to: v4.14.11
- Update fastgpt-plugin image tag to: v0.6.0
- Update Aiproxy image tag to: v0.5.3
### 2. Update environment variables
> All variables below have default values — you can leave them unset.
```dotenv
STREAM_RESUME_TTL_SECONDS=300 # TTL for Redis stream resume snapshots while generating (seconds)
STREAM_RESUME_POST_COMPLETE_TTL_SECONDS=30 # Shortened TTL after stream completes, for faster reclamation (seconds)
STREAM_RESUME_REDIS_MAXMEMORY_RATIO=0.5 # Stop creating resume snapshots for new requests when Redis used memory / maxmemory reaches this threshold
STREAM_RESUME_REDIS_MEMORY_CHECK_INTERVAL_MS=5000 # Cache duration for Redis memory checks (ms), avoids calling INFO MEMORY on every stream request
WORKFLOW_PARALLEL_MAX_CONCURRENCY=10 # Upper bound for max concurrency; cannot exceed WORKFLOW_MAX_LOOP_TIMES
```
## 🚀 Features
1. Chat stream response resume support.
2. Parallel execution node.
3. Reworked the variable update node UX, with more numeric and array operations.
4. Unified S3 file uploads, with support for proxying S3 uploads and access through FastGPT to reduce pre-signed URL configuration issues.
5. Added direct preview for some sandbox file types, and optimized large file downloads.
## ⚙️ Optimizations
1. Added zod parameter validation to many APIs to reduce attack surface and parameter type errors.
2. Refactored model channel management code.
3. Added a default VLM model to the knowledge base creation API.
## 🐛 Bug Fixes
1. Fixed an issue where the model in chat Agent mode was reset after refresh.
2. Fixed missing permission checks on several APIs.
3. Fixed a billing error in the API for pushing data to the knowledge base.
4. Fixed garbled Chinese characters when uploading Markdown documents to the knowledge base, caused by the leading English content being misdetected as `ascii`.
5. Fixed Python code execution ignoring parameters when the input was empty.
6. Fixed the workflow global variable multi-select field not clearing default values when an enum entry was removed.
7. Fixed sub-workflow global variable default values not being displayed when adding a sub-workflow.
8. Fixed the workflow code-run node replacing the IDs of all output values after AI code generation; now IDs with the same key are preserved.
9. Fixed child node positions shifting when a parent node was auto-aligned by guides in the workflow.
10. Fixed the evaluation list permission filter not covering inherited permissions.
11. Fixed raw schema not being saved for MCP tools and HTTP tools, causing inaccurate schemas during tool calls.
---
title: 'V4.14.11'
description: 'FastGPT V4.14.11 更新说明'
---
## 升级指南
### 1. 更新镜像 tag
- 更新 fastgpt-app(fastgpt 主服务) 镜像 tag: v4.14.11
- 更新 fastpgt-pro(商业版) 镜像 tag: v4.14.11
- 更新 code-sandbox 镜像 tag: v4.14.11
- 更新 fastgpt-plugin 镜像 tag: v0.6.0
- 更新 Aiproxy 镜像 tag: v0.5.3
### 2. 更新环境变量
> 以下环境变量均设置了默认值,可不填或不改
```dotenv
STREAM_RESUME_TTL_SECONDS=300 # Redis 流式镜像续期:生成中(秒)
STREAM_RESUME_POST_COMPLETE_TTL_SECONDS=30 # 流结束后缩短 TTL,便于回收(秒)
STREAM_RESUME_REDIS_MAXMEMORY_RATIO=0.5 # 当 Redis 已用内存 / maxmemory 达到该阈值时,停止为新请求创建流恢复镜像
STREAM_RESUME_REDIS_MEMORY_CHECK_INTERVAL_MS=5000 # Redis 内存水位检测缓存时长(毫秒),避免每个流请求都调用 INFO MEMORY
WORKFLOW_PARALLEL_MAX_CONCURRENCY=10 # 最大并发数的上限值,不能超过 WORKFLOW_MAX_LOOP_TIMES 变量
```
## 🚀 新增内容
1. 对话流响应恢复功能。
2. 并行执行节点。
3. 调整变量更新节点交互,以及增加更多数字操作和数组操作。
4. S3 上传统一文件,支持通过 fastgpt 代理传入 s3 以及代理访问 s3,减少预签名配置问题。
5. 支持部分沙盒文件类型直接预览。并优化大文件下载。
## ⚙️ 优化
1. 对大量接口增加了 zod 参数校验,减少攻击和错误参数类型风险。
2. 优化模型渠道管理代码。
3. 知识库创建接口,增加默认 vlm 模型。
## 🐛 修复
1. 对话 Agent 模式,模型存在刷新后被重置问题。
2. 部分接口未正确进行权限校验。
3. API 推送知识库数据接口,计费异常。
4. 修复知识库上传 Markdown 文档时,因文件前部英文较多被误判为 `ascii`,导致中文乱码问题。
5. python 代码执行,如果入参为空,会导致该参数被忽略。
6. 工作流,全局变量多选框,删除 enum 时候未清理默认值。
7. 工作流添加子工作流时,子工作流全局变量默认值未显示。
8. 工作流代码运行节点,AI 生成代码后,会讲输出值的 id 全部替换,优化成相同 key 的 id 不替换。
9. 工作流中,父级节点受到辅助线自动对齐时候,其子节点位置会偏移。
10. 评估列表权限过滤未覆盖继承权限。
11. MCP 工具和 Http 工具 raw schema 未成功保存,导致工具调用时候,schema 不准确。
---
title: 'V4.14.12'
description: 'FastGPT V4.14.12 Release Notes'
---
## Upgrade Guide
### 1. Update image tags
- Update fastgpt-app (FastGPT main service) image tag to: v4.14.12
- Update fastgpt-pro (commercial edition) image tag to: v4.14.12
## 🐛 Bug Fixes
1. Fixed a zod validation error on the third-level knowledge base directory `path` API.
2. Fixed a `dataId` issue in the `v1/completions` API that prevented run details from showing up in chat logs during API calls.
3. Fixed the sensitive information filter checkbox in chat Agent apps that could not be unchecked.
## 🚀 Features
1. Response values can now set a custom HTTP status code.
2. Agent scheduler supports PI Agent mode (beta).
## ⚙️ Optimizations
1. Improved error handling in the skill API.
---
title: 'V4.14.12'
description: 'FastGPT V4.14.12 更新说明'
---
## 升级指南
### 1. 更新镜像 tag
- 更新 fastgpt-app(fastgpt 主服务) 镜像 tag: v4.14.12
- 更新 fastpgt-pro(商业版) 镜像 tag: v4.14.12
## 🐛 修复
1. 知识库三级目录 path 接口报 zod 校验出错。
2. v1/completions 接口 dataId 异常,导致 api 调用时候,对话日志里无法获取到运行详情。
3. 对话 Agent 应用敏感信息过滤勾选框无法取消。
## 🚀 新增内容
1. 响应值允许自定义 HttpStatus 状态码。
2. Agent 调度器支持 PI Agent 模式(beta功能)。
## ⚙️ 优化
1. skill 接口错误处理。
---
title: 'V4.14.14'
description: 'FastGPT V4.14.14 Release Notes'
---
## Upgrade Guide
### 1. Update image tags
- Update fastgpt-app (FastGPT main service) image tag to: v4.14.14
- Update fastgpt-pro (FastGPT commercial) image tag to: v4.14.14
## 🐛 Bug Fixes
## ⚙️ Optimizations
1. Personal WeChat publishing channel: optimized polling strategy by decoupling pull from reply, preventing blocking under high message volume.
2. Added environment variable `WECHAT_CHANNEL_CONCURRENCY` (default 1000) to control the WeChat channel poll worker concurrency. Recommended to set ≥ peak online channel count.
3. Improved internal network address detection.
4. Added compatibility for DeepSeek tool calling combined with thinking mode to avoid 400 errors from the API.
---
title: 'V4.14.14'
description: 'FastGPT V4.14.14 更新说明'
---
## 升级指南
### 1. 更新镜像 tag
- 更新 fastgpt-app(fastgpt 主服务) 镜像 tag: v4.14.14
- 更新 fastgpt-pro(fastgpt 商业版) 镜像 tag: v4.14.14
## 🐛 修复
## ⚙️ 优化
1. 个人微信发布渠道,优化轮询策略(拉取与回复解耦),避免数据量超大时出现阻塞。
2. 新增环境变量 `WECHAT_CHANNEL_CONCURRENCY`(默认 1000)用于控制微信渠道 poll worker 并发数,建议 ≥ online channel 峰值。
3. 完善内网地址检测。
4. 兼容 deepseek 工具调用+思考模式,避免接口出现 400 错误。
\ No newline at end of file
---
title: 'V4.14.2'
description: 'FastGPT V4.14.2 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.14.2
- Update FastGPT commercial edition image tag: v4.14.2
- Update fastgpt-plugin image tag: v0.3.2
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
## New Features
1. Refactored the underlying Agent Call mechanism with support for context compression during consecutive tool calls.
2. New Template Marketplace UI.
3. Quick knowledge base creation from the Agent editor page.
## Improvements
1. Template Marketplace cache duration set to 30 minutes.
2. Custom separator chunk size now uses the maximum chunk size.
3. Prevented logging from triggering recursive log storms; excluded log model from performance monitoring middleware.
## Bug Fixes
1. Simple app templates were not converted correctly.
2. When tool calls contained two or more consecutive user selections, the second user selection behaved abnormally.
3. Incorrect team app type in the portal.
4. When an app was exported as MCP and used by other apps, global variables no longer need to be filled in.
## Plugin Updates
1. Fix: Sub-tool avatars were missing.
2. Fix: Model avatars were missing.
3. Fix: Incorrect mongoose dependency reference in Worker caused errors for tools running longer than 10 seconds.
4. Improvement: Static files are no longer re-uploaded during hot reload in development mode.
5. Added: 5118 SEO keyword mining tool.
6. Added: Tavily content extraction advanced configuration; website sitemap tool.
7. Added: WeChat Official Account toolset.
8. Added: Document comparison tool.
9. Added: Model presets for Kimi V2 and GPT 5.1.
---
title: 'V4.14.2'
description: 'FastGPT V4.14.2 更新说明'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.14.2
- 更新 FastGPT 商业版镜像tag: v4.14.2
- 更新 fastgpt-plugin 镜像 tag: v0.3.2
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
## 🚀 新增内容
1. 封装底层 Agent Call 方式,支持工具连续调用时上下文的压缩。
2. 模板市场新 UI。
3. 支持 Agent 编辑页快速创建知识库。
## ⚙️ 优化
1. 30 分钟模板市场缓存时长。
2. 自定义分隔符块大小采用最大块大小。
3. 避免日志记录触发递归日志风暴,排除日志模型的性能监控中间件。
## 🐛 修复
1. 简易应用模板未正常转化。
2. 工具调用中,包含两个以上连续用户选择时候,第二个用户选择异常。
3. 门户中,团队应用类型错误。
4. 应用作为 MCP 导出,被其他应用使用时,全局变量不需要填写。
## 插件
1. 修复:子工具头像丢失。
2. 修复:模型头像丢失。
3. 修复:Worker 中错误引用 mongoose 依赖,导致超过 10s 的工具运行报错。
4. 优化:开发环境热更新时,不重复上传静态文件。
5. 新增:5118 SEO 关键词挖掘工具。
6. 新增:Tavity 内容提取高级配置。网页站点地图工具。
7. 新增:微信公众号工具集。
8. 新增:文档对比工具。
9. 新增:kimiV2 和 GPT5.1 模型预设。
\ No newline at end of file
---
title: 'V4.14.3 (Includes Upgrade Script)'
description: 'FastGPT V4.14.3 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.14.3
- Update FastGPT commercial edition image tag: v4.14.3
- Update fastgpt-plugin image tag: v0.3.3
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
### 2. Run the Upgrade Script
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4143' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
This will migrate all knowledge base files from MongoDB GridFS to S3, including text datasets and image datasets, but not images extracted from documents (e.g., .docx files).
## New Features
1. Knowledge base files migrated to S3 (all file-related functionality has been migrated).
2. Global variables now support file upload.
3. Form input node now supports password, toggle, time point, time range, file upload, and chat model selection.
4. Plugin input now supports multi-select, time point, time range, and internal variables.
5. System plugins in the Plugin Marketplace now show whether a new version is available, with an update button.
6. Workflow execution QPM (queries per minute) rate limiting.
## Improvements
1. Improved UX for file upload input in workflow tools.
2. Added permission table validation middleware to improve permission system robustness.
## Bug Fixes
1. Workflow debug preview window lost input values due to re-rendering.
2. When the S3 service shared the same origin as the main service, file request URLs to S3 were incorrectly rewritten, causing 404 errors.
## Plugin Updates
1. Updated tool versioning logic with a computed version value for update detection.
2. WeChat Official Account toolset: now allows uploading multiple documents to the draft box at once.
3. Fixed tool cache not being refreshed correctly.
4. Fixed static files being re-uploaded when refreshing cache in development mode.
5. Fixed images not being uploaded correctly after uploading a .pkg file.
---
title: 'V4.14.3(包含升级脚本)'
description: 'FastGPT V4.14.3 更新说明'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.14.3
- 更新 FastGPT 商业版镜像tag: v4.14.3
- 更新 fastgpt-plugin 镜像 tag: v0.3.3
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
### 2. 执行升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4143' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
会将原系统 MongoDB 的 GridFS 中的所有知识库文件迁移到 S3 中,包含文本数据集和图片数据集,但不包括文档(如 .docx)里解析出来的图片。
## 🚀 新增内容
1. 知识库文件迁移至 S3(全部使用文件的地方均已迁移)。
2. 全局变量支持文件上传。
3. 表单输入节点支持密码、开关、时间点、时间范围、文件上传、对话模型选择。
4. 插件输入支持多选、时间点、时间范围、内部变量。
5. 系统插件,插件市场中会提示是否有新版本,并提供更新按键。
6. 工作流运行 QPM 限制。
## ⚙️ 优化
1. 工作流工具,文件上传输入 UX 优化。
2. 添加权限表校验中间件,增强权限表鲁棒性。
## 🐛 修复
1. 工作流调试预览窗口,重新渲染导致输入丢失。
2. S3 服务与主服务相同 Origin 的域名会导致对 S3 的文件请求 URL 被错误替换,产生 404 报错。
## 插件
1. 工具更新逻辑,提供一个计算的 version 值来判断更新
2. 微信公众号工具集:允许同时上传多篇文档到草稿箱
3. 修复工具缓存没有被正确刷新
4. 修复开发模式下刷新缓存导致静态文件重新上传
5. 修复修复上传 pkg 后图片没有被正确上传的问题
---
title: 'V4.14.4 (Includes Upgrade Script)'
description: 'FastGPT V4.14.4 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.14.4
- Update FastGPT commercial edition image tag: v4.14.4
- Update fastgpt-plugin image tag: v0.3.4
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
### 2. Run the Upgrade Script
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4144' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
1. Migrates files uploaded via the Dataset/local API (left over from 4.14.3) to S3.
2. Recalculates feedback for all existing chats and adds flags for filtering. This function runs slowly and is executed asynchronously -- the API will not return a result. Check the logs for the message: `Migration feedback completed!`
## New Features
1. Tool calls now support configurable streaming output.
2. AI credit alert notifications.
3. Chat logs now display IP geolocation.
4. Chat logs now display the app version name (if the version is updated mid-conversation, it will reflect the latest version).
5. Chat logs support filtering by thumbs up/down, with quick navigation to liked/disliked records in the chat details.
6. Upload local files to knowledge base via API, now saved to S3. All legacy GridFS code has been removed.
7. New subscription plan logic.
8. Configurable file whitelist for chat file uploads.
9. S3 now supports pathStyle and region configuration.
10. Support for multi-tenant custom domain configuration via Sealos.
11. File input in workflow tool references now supports manual entry (previously only variable references were supported).
12. Network proxy support (HTTP_PROXY, HTTPS_PROXY).
## Improvements
1. Increased S3 file upload timeout to 5 minutes.
2. Question optimization now uses JinaAI's marginal utility formula to find the search term with the highest marginal gain.
3. User notifications now support both Chinese and English, with improved templates.
4. Knowledge base deletion now uses an asynchronous queue-based approach.
5. Improved error messages for invalid images in LLM requests.
6. Completions API in non-stream mode with detail=false now includes `reason_content` in the response.
7. Added detection for invalid S3 keys.
8. Deleting apps and knowledge bases now requires entering the name for confirmation.
9. Mongo slow operation logs now accurately print the collection name and operation details.
10. Share link custom authentication: the returned uid is now limited to 200 characters max (longer values affected file uploads).
## Bug Fixes
1. Loop node arrays no longer filter out empty content.
2. Workflow tools did not pass custom DataId, causing "no permission" errors when viewing knowledge base during test runs.
3. In Chat Agent tool configuration, non-required boolean and number types could not be confirmed directly.
4. Workbench cards were misaligned when names were too long.
5. Global variables passed via URL query parameters in share links were not loaded in the frontend UI.
6. CSV file detection failed on Windows.
7. Models that were not started could not be tested during model testing.
8. MCP headers with special content caused errors.
9. When referencing another Agent in a workflow, the UI was not updated after switching versions.
10. HTTP node used null instead of empty string for global variables with empty string values.
11. Condition node connections broke when the node was collapsed.
12. Single-select and multi-select variable options were not displayed during node debugging.
13. Publish channel documentation links pointed to incorrect locations.
14. Checkbox hover style was incorrect in disabled state.
15. Default huggingface.svg icon displayed incorrectly when model avatar was missing.
16. Log export end date was off by one day.
17. Form input frontend default values were not passed to the actual values.
18. max_tokens parameter was not passed during tool calls.
19. Workflow condition node value type was not determined by combining the condition with the value.
20. Knowledge base data not using direct chunking mode had incorrect citation reader navigation order. The citation reader only loaded the same page.
## Plugin Updates
1. Added: GLM 4.6 and DeepSeek 3.2 series model presets.
2. Fixed: MinerU SaaS plugin could not select the VLM model version.
3. Fixed: WeChat Official Account plugin batch Markdown upload parameter passing issue.
4. Added: Tool to retrieve WeChat Official Account draft box list.
5. Improvement: Markdown-to-file now supports custom file names.
6. Fixed: Import cache issue preventing plugins from being updated.
---
title: 'V4.14.4(包含升级脚本)'
description: 'FastGPT V4.14.4 更新说明'
---
## 更新指南
### 1. 更新镜像:
- 更新 FastGPT 镜像tag: v4.14.4
- 更新 FastGPT 商业版镜像tag: v4.14.4
- 更新 fastgpt-plugin 镜像 tag: v0.3.4
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
### 2. 执行升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4144' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
1. 将 4.14.3 中,遗留的 Dataset/local 接口上传的文件,也迁移到 S3 中。
2. 全量计算旧的 chat 中的反馈,增加 flags 值便于筛选。该函数执行较慢,所以放到异步执行,接口不会返回结果,请关注日志中是否打印:Migration feedback completed!
## 🚀 新增内容
1. 工具调用支持配置流输出
2. AI 积分告警通知。
3. 对话日志支持展示 IP 地址归属地。
4. 对话日志支持展示应用版本名(如果对话中途修改成最新版本,则会被修改成最新版本)
5. 对话日志支持按点赞点踩过滤,并在对话详情里可以快速定位到赞/踩的记录。
6. 通过 API 上传本地文件至知识库,保存至 S3。同时将旧版 Gridfs 代码全部移除。
7. 新版订阅套餐逻辑。
8. 支持配置对话文件白名单。
9. S3 支持 pathStyle 和 region 配置。
10. 支持通过 Sealos 来进行多租户自定义域名配置。
11. 工作流中引用工具时,文件输入支持手动填写(原本只支持变量引用)。
12. 支持网络代理(HTTP_PROXY,HTTPS_PROXY)
## ⚙️ 优化
1. 增加 S3 上传文件超时时长为 5 分钟。
2. 问题优化采用 JinaAI 的边际收益公式,获取最大边际收益的检索词。
3. 用户通知,支持中英文,以及优化模板。
4. 删除知识库采用队列异步删除模式。
5. LLM 请求时,图片无效报错提示。
6. completions 接口,非 stream 模式, detail=false 时,增加返回 reason_content。
7. 增加对于无效的 S3 key 检测。
8. 删除应用和知识库时,强制要求输入名称校验。
9. Mongo 慢操作日志,可以准确打印集合名和操作内容。
10. 分享链接,自定义鉴权返回的 uid,强制要求长度小于 200(太长会影响文件上传)。
## 🐛 修复
1. 循环节点数组,取消过滤空内容。
2. 工作流工具,未传递自定义 DataId,导致测试运行时,查看知识库提示无权限。
3. 对话 Agent 工具配置中,非必填的布尔和数字类型无法直接确认。
4. 工作台卡片在名字过长时错位。
5. 分享链接中url query 中携带全局变量时,前端 UI 不会加载该值。
6. window 下判断 CSV 文件异常。
7. 模型测试时,如果模型未启动,会导致无法被测试。
8. MCP header 中带特殊内容时,会抛错。
9. 工作流引用其他 Agent 时,切换版本号后未及时更新 UI。
10. http 节点使用值为空字符串的全局变量时,值会被替换为 null。
11. 判断器节点折叠时,连线断开。
12. 节点调试时,单选和多选类型的变量无法展示选项。
13. 发布渠道文档链接定位错误。
14. Checkbox 在禁用状态时,hover 样式错误。
15. 模型头像缺失情况下,默认 huggingface.svg 图标显示错误。
16. 日志导出时,结束时间会多出一天。
17. 表单输入,前端默认值未传递到实体值。
18. 工具调用时,未传递 max_tokens 参数。
19. 工作流判断器 value 值,未结合 condition 来综合获取数据类型。
20. 非直接分块模式的知识库数据,引用阅读器导航顺序异常。引用阅读器只会加载同一页。
## 插件
1. 新增 - GLM4.6 与 DS3.2 系列模型预设。
2. 修复 - MinerU SaaS 插件模型版本不能选择 vlm 的问题
3. 修复 - 微信公众号插件批量上传 markdown 参数传递问题
4. 新增 - 获取微信公众号草稿箱列表工具
5. 优化 - markdown 转文件支持自定义文件名
6. 修复 - import cache 导致的插件无法被更新的问题
---
title: 'V4.14.5 (Includes Upgrade Script)'
description: 'FastGPT V4.14.5 Release Notes'
---
## Upgrade Guide
### 1. Update Storage Bucket Environment Variables
This version adds native support for OSS and COS in addition to MinIO, so the related environment variables need to be renamed. Below is the configuration for MinIO. For other providers, refer to [Object Storage Configuration](/docs/self-host/config/object-storage).
**New Variables**
```
STORAGE_VENDOR=minio
STORAGE_REGION=us-east-1
STORAGE_ACCESS_KEY_ID=minioadmin
STORAGE_SECRET_ACCESS_KEY=minioadmin
STORAGE_PUBLIC_BUCKET=fastgpt-public
STORAGE_PRIVATE_BUCKET=fastgpt-private
STORAGE_EXTERNAL_ENDPOINT=http://192.168.0.2:9000 # An address accessible by both the server and client. Can be a static host IP or domain name. Do not use 127.0.0.1 or localhost (containers cannot access loopback addresses).
STORAGE_S3_ENDPOINT=http://fastgpt-minio:9000 # protocol://domain(IP):port
```
**Remove Old Variables**
* S3_EXTERNAL_BASE_URL
* S3_ENDPOINT
* S3_PORT
* S3_USE_SSL
* S3_ACCESS_KEY
* S3_SECRET_KEY
* S3_PUBLIC_BUCKET
* S3_PRIVATE_BUCKET
### 2. Update Images:
- Update FastGPT image tag: v4.14.5-fix
- Update FastGPT commercial edition image tag: v4.14.5
- Update fastgpt-plugin image tag: v0.4.0
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
- Update mongo 5.x to version 5.0.32 to fix CVE-2025-14847. Simply change the image tag to `5.0.32`.
### 3. Run the Upgrade Script
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4145' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
1. Retries all failed S3 deletion tasks.
2. Adds the `showFullText` field to all share-type OutLink records.
3. Renames fields:
- showNodeStatus -> showRunningStatus
- responseDetail -> showCite
- showRawSource -> canDownloadSource
## New Features
1. Workflow canvas now includes a demo mode, with improved collapsed mode styling and reduced edge overlap.
2. Workflow now has a quick-jump button for nested apps.
3. Workflow export now supports choosing whether to filter sensitive information.
4. Chat record deletion is now soft-delete, with the ability to delete chat records from the log management page.
5. When updating an Agent/tool, the update timestamp is propagated to all parent directories so they appear at the top of the list.
6. Portal page now supports configuring visibility for individual app execution.
7. API endpoint to export chunks from a single knowledge base collection.
8. Upgraded Mongo 5.x to 5.0.32 to fix CVE-2025-14847.
9. Email configuration now supports configuring security mode and port number.
## Improvements
1. Optimized Redis key retrieval logic to prevent blocking when fetching a large number of keys.
2. Improved reconnection logic for MongoDB, Redis, and MQ.
3. Variable input fields can now be copied in disabled state.
4. LLM empty response detection now excludes content filter errors from being misidentified as no response.
5. Improved error messages for AI chat and tool calls with more raw data.
6. Increased file parsing API request size limit to 10MB.
7. Citation list below chat responses now only shows knowledge base content actually cited by the AI.
8. Updated MCP SDK version.
9. Optimized Chats table indexes: reduced redundancy and added conditional indexes.
## Bug Fixes
1. Critical: Workflow parallel merge could cause duplicate execution.
2. MCP tool creation with custom auth headers threw an error.
3. Fetching chat log list threw an error when user avatar was empty.
4. chatAgent showed question optimization as enabled in the frontend UI when it was actually disabled.
5. maxTokens field was not assigned when loading default models, causing empty model max response configuration.
6. S3 file cleanup queue was blocked due to network instability, preventing deletion tasks from executing.
7. Chat log API adapted for mongo 4.x syntax.
8. Variable update node incorrectly converted file URL string arrays to object arrays.
9. Multiple form input nodes sharing sessionStorage caused default values not to display.
10. Code execution node still used the old language for AI code generation after switching languages.
11. Multiple custom feedback nodes writing concurrently triggered database write conflicts.
12. Custom feedback nodes following interactive nodes failed to write.
## Plugin Updates
---
title: 'V4.14.5(包含升级脚本)'
description: 'FastGPT V4.14.5 更新说明'
---
## 更新指南
### 1. 修改存储桶环境变量
该版本除了支持 minio 以外,还增加支持了原生 OSS 和 COS, 所以需要修改相关环境变量修改成新的命名。下面是 Minio 的配置参数,其他厂商配置,可参考[对象存储配置问题](/docs/self-host/config/object-storage)
**新增变量**
```
STORAGE_VENDOR=minio
STORAGE_REGION=us-east-1
STORAGE_ACCESS_KEY_ID=minioadmin
STORAGE_SECRET_ACCESS_KEY=minioadmin
STORAGE_PUBLIC_BUCKET=fastgpt-public
STORAGE_PRIVATE_BUCKET=fastgpt-private
STORAGE_EXTERNAL_ENDPOINT=http://192.168.0.2:9000 # 一个服务器和客户端均可访问到存储桶的地址,可以是固定的宿主机 IP 或者域名,注意不要填写成 127.0.0.1 或者 localhost 等本地回环地址(因为容器里无法使用)
STORAGE_S3_ENDPOINT=http://fastgpt-minio:9000 # 协议://域名(IP):端口
```
**移除旧的变量**
* S3_EXTERNAL_BASE_URL
* S3_ENDPOINT
* S3_PORT
* S3_USE_SSL
* S3_ACCESS_KEY
* S3_SECRET_KEY
* S3_PUBLIC_BUCKET
* S3_PRIVATE_BUCKET
### 2. 更新镜像:
- 更新 FastGPT 镜像tag: v4.14.5-fix
- 更新 FastGPT 商业版镜像tag: v4.14.5
- 更新 fastgpt-plugin 镜像 tag: v0.4.0
- mcp_server 无需更新
- Sandbox 无需更新
- AIProxy 无需更新
- mongo 5.x 版本修改成 5.0.32 版本,解决 CVE-2025-14847 漏洞。直接修改镜像 tag 成 `5.0.32`。
### 3. 执行升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv4145' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
1. 重试所有失败的 S3 删除任务
2. 为所有 share 类型的 OutLink 记录添加 showFullText 字段
3. 重命名字段:
- showNodeStatus -> showRunningStatus
- responseDetail -> showCite
- showRawSource -> canDownloadSource
## 🚀 新增内容
1. 工作流画布增加演示模式,同时优化折叠模式样式,优化工作流线重叠问题。
2. 工作流增加嵌套应用快速跳转按钮。
3. 工作流导出支持选择过滤/不过滤敏感信息。
4. 对话记录使用侧改成软删除,增加从日志管理里删除对话记录。
5. 更新Agent/工具时,会更新其上层所有目录的更新时间,以便其会排在列表前面。
6. 门户页支持配置单个应用运行可见度。
7. 导出单个知识库集合分块接口。
8. 升级 Mongo5.x 至 5.0.32 解决CVE-2025-14847。
9. 邮箱配置,支持配置安全模式以及端口号。
## ⚙️ 优化
1. 优化获取 redis 所有 key 的逻辑,避免大量获取时导致阻塞。
2. MongoDB, Redis 和 MQ 的重连逻辑优化。
3. 变量输入框禁用状态可复制。
4. LLM 请求空响应判断,排除敏感过滤错误被误认为无响应。
5. 完善 AI 对话和工具调用的错误提示,提供更多原始数据。
6. 增大文件解析接口的请求大小限制为 10MB。
7. 对话回复下方的引用列表,仅显示 AI 实际引用的知识库内容。
8. 更新 MCP SDK 版本。
9. Chats 表索引,减少冗余,增加条件索引。
## 🐛 修复
1. 重要 - 工作流并行合并后,可能导致重复运行问题。
2. MCP 工具创建时,使用自定义鉴权头会报错。
3. 获取对话日志列表时,如果用户头像为空,会抛错。
4. chatAgent 未开启问题优化时,前端 UI 显示开启。
5. 加载默认模型时,maxTokens 字段未赋值,导致模型最大响应值配置为空。
6. S3 文件清理队列因网络稳定问题出现阻塞,导致删除任务不再执行。
7. 对话日志接口适配 mongo4.x 语法。
8. 变量更新节点将文件 URL 字符串数组错误转换为对象数组。
9. 多个表单输入节点共享 sessionStorage 导致默认值不显示。
10. 代码运行节点切换语言后,AI 仍使用旧语言生成代码。
11. 多个自定义反馈节点并发写入触发数据库写入冲突。
12. 交互节点后续的自定义反馈节点写入失败。
## 插件
---
title: 'V4.14.5.1 (Includes Upgrade Script)'
description: 'FastGPT V4.14.5.1 Release Notes'
---
## Upgrade Guide
### 1. Update Images:
- Update FastGPT image tag: v4.14.5.1
- Update FastGPT commercial edition image tag: v4.14.5.1
- Update fastgpt-plugin image tag: v0.4.0
- mcp_server: no update needed
- Sandbox: no update needed
- AIProxy: no update needed
- mongo: no update needed
### 2. Run the Upgrade Script
From any terminal, send an HTTP request. Replace `{{rootkey}}` with the `rootkey` from your environment variables, and `{{host}}` with your **FastGPT domain**.
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv41451' \
--header 'rootkey: {{rootkey}}' \
--header 'Content-Type: application/json'
```
1. Migrates system secret key configuration for system tools.
## New Features
1. Markdown tables now support CSV export.
## Improvements
1. Workflow trackpad scrolling is no longer blocked when encountering input fields.
2. Workflow node paste now positions precisely at the mouse cursor.
3. Precisely removes extraneous system fields from LLM requests to prevent errors with certain model APIs.
4. Uses path.extname to extract file extensions from URLs.
## Bug Fixes
1. After setting system secret keys for a system toolset, child tools could not read the configured secret keys.
2. Password-type global variables had incorrect required field validation.
3. Time-type global variable month picker was obscured.
4. Line breaks were lost in the manual copy dialog.
5. Chat API threw an error when file upload type variables were not provided.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment