1. 20 Apr, 2026 2 commits
  2. 18 Apr, 2026 1 commit
  3. 17 Apr, 2026 1 commit
    • V4.14.x (#6751) · 7506a147
      * 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>
      Archer committed
  4. 15 Apr, 2026 2 commits
  5. 14 Apr, 2026 1 commit
  6. 13 Apr, 2026 5 commits
  7. 10 Apr, 2026 3 commits
    • feat(sandbox): support multimedia preview and source/preview toggle in editor (#6723) · 3df89088
      * style: re-component Editor
      
      * style: re-component Editor
      
      * feat: sandbox file preview support with binary detection and mime type handling
      
      * feat: preview support for markdown, svg, and html files in sandbox editor
      
      * feat(sandbox): support multimedia preview and source/preview toggle in editor
      
      * fix: XSS SVG rendering with MyPhotoView
      
      * refactor: blob URL lifecycle management, improve filename encoding in downloads
      
      * feat: implement S3-based HTML preview for sandbox editor and add PDF support to binary file detection
      
      * refactor: improve sandbox editor stability by adding file size validation
      
      * feat: introduce fileService to encapsulate sandbox file operations and add unit tests
      
      * refactor: secure HTML sandbox preview by fetching content from server and injecting CSP meta tags
      
      * refactor: replace unified file operation API with dedicated endpoints for list, read, write, and download operations
      
      * chore: remove packageManager field from package.json
      
      * fix: sandbox file read error message
      
      * refactor: improve sandbox editor UI styling, type safety, and CSP security policy
      
      * feat: HTML preview link API and standardize sandbox request/response types
      
      * fix: improve log view layout responsiveness by adding overflow handling and flex constraints
      
      * perf: fix review
      
      ---------
      
      Co-authored-by: archer <545436317@qq.com>
      DigHuang committed
    • feat: zod schema (#6740) · 85244870
      * feat: zod schema
      
      move file api
      
      feat: chat and dataset zod
      
      * fix: review
      
      * feat: dataset openapi
      
      * fix: test
      
      * update cr
      Archer committed
    • Fix secret (#6738) · fc6953fc
      * fix: nosql inject
      
      * fix: nosql
      
      * fix: ts
      
      * doc
      
      * fix: update feedbacksession
      Archer committed
  8. 09 Apr, 2026 3 commits
  9. 08 Apr, 2026 4 commits
  10. 07 Apr, 2026 3 commits
    • Agent skill dev (#6668) · 57a505f8
      * chore: Rename service & container names for consistency in Docker configs (#6710)
      
      * chore: Rename container names for consistency in Docker configs
      
      * chore: Rename service names for consistency in Docker configs
      
      chore: Update OpenSandbox versions and image repositories (#6709)
      
      * chore: Update OpenSandbox versions and image repositories
      
      * yml version
      
      * images
      
      * init yml
      
      * port
      
      ---------
      
      Co-authored-by: archer <545436317@qq.com>
      
      refactor(chat): optimize sandbox status logic and decouple UI/Status hooks (#6713)
      
      * refactor(chat): optimize sandbox status logic and decouple UI/Status hooks
      
      * fix: useRef, rename onClose to afterClose
      
      Update .env.template (#6720)
      
      aiproxy默认的请求地址改成http协议
      
      feat: comprehensive agent skill management and sandbox infrastructure optimization
      
      - Skill System: Implemented a full skill management module including CRUD operations, folder organization, AI-driven skill generation, and versioning (switch/update).
      - Sandbox Infrastructure: Introduced 'volume-manager' for PVC and Docker volume lifecycle management, replacing the MinIO sync-agent for better data persistence.
      - Workflow Integration: Enhanced the Agent node to support skill selection and configuration, including new UI components and data normalization.
      - Permission Management: Added granular permission controls for skills, supporting collaborators, owner transfers, and permission inheritance.
      - UI/UX: Added a dedicated Skill dashboard, sandbox debug interface (terminal, logs, and iframe proxy), and comprehensive i18n support.
      - Maintenance: Migrated Docker services to named volumes, optimized sandbox instance limits, and improved error handling for sandbox providers.
      
      Co-authored-by: chanzhi82020 <chenzhi@sangfor.com.cn>
      Co-authored-by: lavine77
      Signed-off-by: Jon <ljp@sangfor.com.cn>
      
      feat: hide skill
      
      prettier
      
      * perf: hide skill code
      
      * fix: ts
      
      * lock
      
      * perf: tool code
      
      * fix: ts
      
      * lock
      
      * fix: test
      
      * fix: openapi
      
      * lock
      
      * fix: test
      
      * null model
      
      ---------
      
      Co-authored-by: archer <545436317@qq.com>
      Jon committed
    • fix: model refresh (#6725) · 5c709afe
      Archer committed
  11. 06 Apr, 2026 1 commit
  12. 03 Apr, 2026 1 commit
  13. 02 Apr, 2026 5 commits
  14. 01 Apr, 2026 8 commits