Archer 7506a147e6 V4.14.x (#6751)
* batch node (#6732)

* batch node

* docs: add local code quality standards and style guides for automated review

* refactor: remove enforced minimum for parallel concurrency, simplify edge handling in task runtime context, and fix loop output mapping

* feat: auto-infer and sync valueType for parallel loop input and output based on referenced array source

* fix: refactor parallelRun output type synchronization and improve sub-workflow error handling in dispatch service

* feat: enforce parallel concurrency limits and validate against workflow loop constraints

* feat: implement retry mechanism for parallel workflow tasks with usage tracking per attempt

* fix review

* perf: use function

* refactor: abstract nested node logic into useNestedNode hook and update parallelRun icon/service logic

* fix: type import

* refactor: update ParallelRunStatusEnum and i18n labels for improved status clarity

* feat: parallel run details and input/output display to chat response modal and service dispatch

* fix: config limit error

* refactor: optimize parallel run task execution, fix point accumulation, and improve error handling for sub-workflows

* fix: include totalPoints in parallel task results

* refactor: centralize nested input injection and point safety utilities for workflow dispatchers

* test: add unit tests for safePoints utility function

* refactor: update parallel workflow runtime types and clean up docstring placement in dispatch utils

* fix: include all runtime nodes in parallel execution to ensure variable reference accessibility

* refactor: update pushSubWorkflowUsage signature to use object parameter for improved consistency

---------

Co-authored-by: DigHuang <114602213+DigHuang@users.noreply.github.com>

* feat(s3): add proxy transfer mode with tokenized upload/download (#6729)

* feat(s3): add proxy transfer mode with tokenized upload/download

* wip: switch to proxy mode for upload progress

* fix: office mime types

* fix(s3): upload MIME validation, multer whitelist, API error status

- Treat AVI/MPEG mime aliases (incl. video/mp1s vs video/mpeg) as matching
- Optional allowedExtensions on multer for dataset images and localFile
- Map S3/business errors to 4xx in jsonRes where appropriate
- Align presign max size with team plan; fix dataset import size UX
- Add upload validation tests

Made-with: Cursor

* fix: show clear message when upload frequency limit is exceeded

- Reject ERROR_ENUM.uploadFileIntervalLimit from authFrequencyLimit instead of Mongo doc
- Add i18n for upload_file_interval_limit (zh-CN/en/zh-Hant)

Made-with: Cursor

* fix file token validation and upload mime checks

* fix: test

* fix(s3): treat m4a audio/mp4 and audio/x-m4a as equivalent

- Add MIME equivalence group for AAC/M4A container mismatch (mime-types vs file-type)
- Add upload validation test for minimal ftyp/M4A buffer
- Test env: keep FILE_TOKEN_KEY in vitest test.env and test/setup.ts (drop loadTestEnv file)

Made-with: Cursor

* fix(chat): 调试区文件类型与编辑态一致,并修复 accept 在 WebKit 下不更新

- ChatTest: 用 getAppChatConfig + getGuideModule 合并画布引导节点与 chatConfig
- useChatTest: 依赖 fileSelectConfig 序列化与 chatConfig,避免深层变更未触发预览更新
- useSelectFile: 用 useCallback + input key 替代 useMemoizedFn,确保 accept 变更后重建 input

Made-with: Cursor

* fix: invalid request

* feat: prompt inject (#6757)

* feat: resume chat stream (#6722)

* fix: openapi schema issue while creating openapi json

* feat: resume chat stream

* wip: chat status and read status

* feat: sync chat side bar status

* fix: allow reassignment of variables in chatTest handler

Made-with: Cursor

* feat(chat): stream resume hardening, resume modules in @fastgpt/service, stale generating cron

- Move stream resume mirror + resumeStatus into packages/service; update API imports
- chatTest: ensurePendingChatRoundItems, default responseChatItemId; zod default import for client
- useChatTest + HomeChatWindow: enableAutoResume and sync init chatGenerateStatus
- ChatContext: safe no-op defaults without provider
- Cron: clean MongoChat stuck in generating >30min; timer lock cleanStaleGeneratingChat

Made-with: Cursor

* fix(chat): address stream-resume PR review (zod/mongoose enum, legacy status, upsert, UI race)

- Zod: use z.nativeEnum(ChatGenerateStatusEnum); mongoose chatGenerateStatus enum as [0,1,2] only
- Init APIs: default missing chatGenerateStatus to done before read/unread logic
- ensurePendingChatRoundItems: unique index + upsert; rename ChatGenerateStatusEnum
- ChatBox auto-resume: guard by chatId; sidebar sync via targetChatId
- Tests: chat history/feedback APIs pass with schema fixes

Made-with: Cursor

* fix(chat): expose resume at /api/v2/chat/resume; openapi + review tidy

- Move handler from v1/stream to v2/chat/resume (pairs with v2 completions + Redis mirror)
- Update fetch, OpenAPI AIPath, comments; remove slim projects/app global chat api
- getHistoryStatus default chatGenerateStatus; team init + chatTest notes; ChatItem tweak

Made-with: Cursor

* fix(chat): fix resume JSON parse catch shadowing; drop unused resumeChatStream

Made-with: Cursor

* docs(chat): comment closed+stream mirror write path in workflow dispatch

Made-with: Cursor

* refactor: unify resumable stream mirroring

* fix: keep v1 chat completions out of resume flow

* refactor: make prepared chat rounds transactional

* fix: handle resume stream terminal errors

* fix: rerank max token

* feat(workflow): extend variable update node with Number/Boolean/Array operations (#6752)

* feat(workflow): extend variable update node with   Number/Boolean/Array ops

* feat: math operator icons and refactor variable update renderers for improved layout and consistency

* chore(workflow): clean up variable update types and restore icon   cleanup

* feat: add test

* fix:md_ascii_bug (#6755)

* md_ascii_bug

* md_ascii_bug

* md_ascii_bug

* md_ascii_bug

* md_ascii_bug

* perf: test

---------

Co-authored-by: archer <545436317@qq.com>

* doc

* del dataset

* perf: date auto coerce

* doc

* add test

* perf: channel setting

* doc

* fix: chat resume stream (#6759)

* refactor(api): move stream resume to /api/core/chat/resume

Relocate resume handler from pages/api/v2 to pages/api/core, update
OpenAPI paths, frontend streamResumeFetch URL, tests, and comments.

Made-with: Cursor

* fix: remove stray conflict markers; use z.nativeEnum for chatGenerateStatus

Made-with: Cursor

* fix: use enum instead of nativeEnum

* fix(chat): address resume review suggestions

* fix(chat): require sse when resuming generating chats

* revert(chat): keep chatitem dataId index non-unique

* fix: ts

* fix doc

* fix(chat): gate stream resume mirror by header (#6760)

* fix: remove stray conflict markers; use z.nativeEnum for chatGenerateStatus

Made-with: Cursor

* fix: use enum instead of nativeEnum

* fix(chat): address resume review suggestions

* fix(chat): require sse when resuming generating chats

* feat(chat): gate stream resume mirror by header

* refactor(chat): decouple resume mirror header parsing

* perf: dataset queue

* fix: multipleselect

* perf: workflow bug

* doc

* doc

* perf: deploy yml;fix: child nodes watch

* adapt embedding model defaultconfig

* install shell

* add mcp zod check

* feat: http tool zod schema

* Feat/batch UI (#6763)

* feat: aggregate parallel run results into task-specific virtual nodes and update UI to support i18n arguments for module names

* style: update workflow node card padding and table styling for improved layout consistency

* feat: implement parallel run workflow node with documentation and i18n support

* style(modal): WholeResponseModal UI and layout styling

* chore: improve chat resume UX (#6764)

* fix: remove stray conflict markers; use z.nativeEnum for chatGenerateStatus

Made-with: Cursor

* fix: use enum instead of nativeEnum

* fix(chat): address resume review suggestions

* fix(chat): require sse when resuming generating chats

* feat(chat): gate stream resume mirror by header

* refactor(chat): decouple resume mirror header parsing

* feat: improve stream resume fallback

* feat: block duplicate chat generation

* feat: polish resume unavailable recovery

* test: stabilize resume stream timeout

* fix: harden resume wait flow

* fix: get mcp tool raw schema

* style: update UI styling and layout for LLM request detail and response modals

* perf: http tool

* fix: test

* fix: http raw schema

* fix: test

* deploy yml

* deploy yml

---------

Co-authored-by: DigHuang <114602213+DigHuang@users.noreply.github.com>
Co-authored-by: Ryo <whoeverimf5@gmail.com>
Co-authored-by: YeYuheng <57035043+YYH211@users.noreply.github.com>
2026-04-17 23:28:43 +08:00
2026-04-17 23:28:43 +08:00
2026-04-17 23:28:43 +08:00
2025-08-25 19:19:43 +08:00
2026-02-12 16:37:50 +08:00
2026-04-17 23:28:43 +08:00
2026-04-17 23:28:43 +08:00
2026-04-17 23:28:43 +08:00
2026-04-17 23:28:43 +08:00
2026-03-06 19:02:04 +08:00
2026-04-17 23:28:43 +08:00
2025-10-20 19:08:21 +08:00
2025-11-04 16:58:12 +08:00
2026-02-12 16:37:50 +08:00
2024-01-05 18:02:53 +08:00
2024-07-15 22:50:48 +08:00
2025-08-02 19:38:37 +08:00
2023-03-28 00:48:24 +08:00
2025-06-19 10:35:21 +08:00
2025-08-02 19:38:37 +08:00
2025-10-20 19:08:21 +08:00
2026-04-17 23:28:43 +08:00
2026-04-17 23:28:43 +08:00
2026-03-03 17:39:47 +08:00
2026-03-03 17:39:47 +08:00
2026-03-03 17:39:47 +08:00
2026-03-03 17:39:47 +08:00
2026-03-03 17:39:47 +08:00
2026-03-03 17:39:47 +08:00
2026-04-09 15:12:39 +08:00
2026-03-06 19:02:04 +08:00
2026-04-17 23:28:43 +08:00
2024-09-06 17:22:24 +08:00

fastgpt logo

FastGPT

English | 简体中文 | Bahasa Indonesia | ไทย | Tiếng Việt | 日本語

FastGPT is an AI Agent building platform that provides out-of-the-box capabilities for data processing and model invocation. It also enables workflow orchestration through Flow visualization, allowing you to achieve complex application scenarios!

cloud document development project

https://github.com/labring/FastGPT/assets/15308462/7d3a38df-eb0e-4388-9250-2409bd33f6d4

Quick Start

You can quickly start FastGPT using Docker. Run the following command in your terminal and follow the prompts to pull the configuration.

# Run the command to pull the configuration file
bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh)
# Start the service
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

🛸 Usage

  • Cloud Version
    If you don't need private deployment, you can directly use our cloud service at: fastgpt.io

  • Community Self-Hosted Version
    You can quickly deploy using Docker or use Sealos Cloud 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. In addition to providing complete software, we also offer implementation guidance for specific scenarios. You can submit a commercial consultation.

💡 Core Features

Demo Demo
Demo Demo

1 Application Orchestration

  • Planning Agent mode.
  • Dialogue workflow, plugin workflow, including basic RPA nodes.
  • User interaction
  • Bidirectional MCP
  • Assisted workflow generation

2 Application Debugging

  • Knowledge base single-point search testing
  • Reference feedback during conversation with edit and delete capabilities
  • Complete call chain logs
  • Application evaluation
  • Advanced orchestration DeBug mode
  • Application node logs

3 Knowledge Base

  • Multi-database reuse and mixing
  • Chunk record modification and deletion
  • Support for manual input, direct segmentation, QA split import
  • Support for txt, md, html, pdf, docx, pptx, csv, xlsx (more can be PR'd), support for URL reading & CSV batch import
  • Hybrid retrieval & reranking
  • API knowledge base
  • RAG module hot-swapping

4 OpenAPI Interface

  • Completions interface (aligned with GPT chat mode)
  • Knowledge base CRUD
  • Dialogue CRUD
  • Automated OpenAPI interface

5 Operations Features

  • Login-free sharing window
  • One-click Iframe embedding
  • Unified dialogue record review with data annotation
  • Application operation logs

6 Others

  • Visual model configuration.
  • Voice input and output support (configurable)
  • Fuzzy input hints
  • Template marketplace
# #

🌿 Third-party Ecosystem

#

🏘️ Community

Join our Feishu group:

#

🤝 Contributors

We warmly welcome contributions in various forms. If you're interested in contributing code, check out our GitHub Issues and show us your brilliant ideas!




Active participants of labring - past 28 days New trends of labring
New participants of labring - past 28 days

🌟 Star History

Star History Chart #

License

This repository follows the FastGPT Open Source 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 for full details.
  4. Contact: Dennis@sealos.io, View Commercial Pricing
S
Description
FastGPT is a knowledge-based platform built on the LLM, offers out-of-the-box data processing and model invocation capabilities, allows for workflow orchestration through Flow visualization!
Readme 628 MiB
Languages
TypeScript 53.4%
JavaScript 37.8%
MDX 8.2%
Shell 0.2%
Python 0.2%