Archer
4a3401a405
Pick ( #6875 )
...
* feat: close wecom channel;fix: scope chat resume to current app (#6874 )
* feat: close wecom channel
* fix: scope chat resume to current app (#6860 )
* fix: scope chat resume to current app
Abort stale resume streams when switching apps and only resume after the current app/chat init state is aligned.
Made-with: Cursor
* refactor: centralize resume stream cancellation
Ensure only one resume stream is active per client tab and discard queued resume messages after abort.
Made-with: Cursor
* fix: make sure controller unique
* chore: remove redundant effect
* perf: remove invalid code
* update package
---------
Co-authored-by: Ryo <whoeverimf5@gmail.com >
* doc
* lock
---------
Co-authored-by: Ryo <whoeverimf5@gmail.com >
2026-05-06 13:57:16 +08:00
Ryo
9a6d774c0c
fix: use upload control file config ( #6858 )
...
* fix: skip allowed extensions
* fix: use upload control file config
Made-with: Cursor
* docs: v4.14.18
* chore: update pro submodule
* docs
2026-05-06 10:37:28 +08:00
YeYuheng
ea8abf47a1
dingding ( #6856 )
2026-04-29 20:39:24 +08:00
Archer
109a1f1898
perf: codex-sandbox check ( #6851 )
...
* perf: codex-sandbox check
* perf: codex sandbox
* fix: build
* add log in httperror
* perf: sandbox
* package version
2026-04-29 14:53:45 +08:00
Archer
225cb7e62b
perf: catch error toast ( #6849 )
...
* perf: catch error toast
* fix: submodule
* perf: ssrf
* perf: readfiles
2026-04-28 22:44:51 +08:00
Archer
9f5e1d08b7
perf: template permission ( #6848 )
...
* perf: template permission
* perf: action
* doc
2026-04-28 21:35:13 +08:00
Archer
c483a56373
sandbox tool inject ( #6836 )
...
* sandbox tool inject
* perf: read file prompt
* submodule
2026-04-28 18:03:38 +08:00
YeYuheng
83c02c979f
fix: step-retry-error ( #6829 )
...
* step-retry-error
* error output
* doc
* lock
---------
Co-authored-by: archer <545436317@qq.com >
2026-04-28 17:10:36 +08:00
YeYuheng
ff6bb82c8e
fix: file-bug ( #6799 )
...
* file-bug
* file-bug
* file-bug
* fix
* fix
* perf: test
* perf: file inject prompt
---------
Co-authored-by: archer <545436317@qq.com >
2026-04-27 21:30:03 +08:00
DigHuang
354bc97271
fix(drag): mutex selection between nested parent and child nodes ( #6821 )
...
* fix(drag): mutex selection between nested parent and child nodes
* fix: mutex selection between nested parent and child nodes
* doc
---------
Co-authored-by: archer <545436317@qq.com >
2026-04-27 16:27:58 +08:00
Archer
d80ebaa867
fix: template height ( #6825 )
2026-04-26 22:41:57 +08:00
Archer
cc5c5ad429
Update sdk ( #6824 )
...
* update sdk
* doc
2026-04-26 21:28:27 +08:00
Archer
cfad26518e
update doc ( #6823 )
2026-04-26 21:08:47 +08:00
Archer
1c8a47cff7
fix: adapt systemTool ( #6817 )
2026-04-25 21:37:55 +08:00
DigHuang
b7cdb3fb86
feat: support multiple valueTypes for text input variables ( #6801 )
...
* feat: 文本输入框变量支持多 valueType
* fix: 文本输入框变量非 string valueType 的渲染映射
- formRender/utils.ts: variableInputTypeToInputType 在 text input 场景下
按 valueType 派生,非 string 走 JSONEditor/textarea,让 Chat 表单与
调试面板能正确渲染 object/array/any 变量
- packages/global/core/workflow/utils.ts: appData2FlowNodeIO 的
renderTypeMap 对 text input + 非 string 使用 [JSONEditor, reference],
保证父工作流节点输入同步跟进
- 补 appData2FlowNodeIO 的 text input valueType 分支测试
* feat(workflow): 全局变量联动清理节点引用及变量更新节点必填校验
* fix(workflow): 文本输入变量 legacy 兼容与引用存活校验
* refactor(workflow): 抽出文本输入变量 valueType 兜底 helper
* feat: adapt test for all node type
* revert(workflow): 移除全局变量引用联动清理
* feat: remove any in text input
* doc
---------
Co-authored-by: archer <545436317@qq.com >
2026-04-24 22:01:29 +08:00
Archer
81dfc589f4
fix: messages adapt test ( #6813 )
...
* doc
* doc
* doc
2026-04-24 18:34:55 +08:00
YeYuheng
c1cd46789e
helper-error ( #6802 )
...
* helper-error
* helper-error
* helper-error
* helper-error
* reset helperbot fe
---------
Co-authored-by: archer <545436317@qq.com >
2026-04-23 18:02:28 +08:00
Archer
38a7cb27e5
doc ( #6810 )
2026-04-23 17:37:39 +08:00
Archer
eb9df08695
perf: SSRF check ( #6805 )
...
* perf: SSRF check
* doc
2026-04-22 23:35:11 +08:00
Archer
a5cd822942
perf: wechat channel ( #6800 )
...
* perf: wechat channel
* fix: review
2026-04-22 16:29:40 +08:00
Archer
b2cfada959
perf: agent tool code ( #6798 )
...
* perf: agent tool code
* fix: review
2026-04-22 14:36:14 +08:00
Archer
509b227f2d
doc ( #6793 )
2026-04-21 23:04:26 +08:00
Archer
e6584acfda
fix: correct export config sensitive filter behavior ( #6782 )
...
* fix: correct export config sensitive filter behavior (#6778 )
* docs (#6779 )
---------
Co-authored-by: Ryo <whoeverimf5@gmail.com >
2026-04-20 20:18:35 +08:00
Archer
181f743901
fix: parent datasetId type;fix: v1 completions; ( #6775 )
...
* fix: parent datasetId type
* doc
* fix(chat): keep stream resume out of v1 completions (#6774 )
* fix(chat): avoid duplicate v1 completion history items
* fix(chat): restore v1 completion persistence flow
* fix(chat): keep stream resume out of v1 completions
* fix(chat): revert pushChatRecords append flow
* Mobile UI (#6776 )
* doc
* perf: review
* fix: review
---------
Co-authored-by: Ryo <whoeverimf5@gmail.com >
Co-authored-by: YeYuheng <57035043+YYH211@users.noreply.github.com >
2026-04-20 17:45:22 +08:00
Archer
df8f0d56d5
doc ( #6772 )
2026-04-20 13:51:34 +08:00
Archer
025b3dacab
fix: http tool schema ( #6768 )
...
* fix: http tool schema
* perf: del dataset
* perf: review
* add test
2026-04-18 20:47:39 +08:00
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
Archer
ac04d44457
Add Zod check for api ( #6741 )
...
* feat: llm request zod
* feat: apidataset zod
* feat: training zod
* permission data
* feat: dataset data zod
* add log categories
* update skill
* fix: test
* fix: training billId field
* fix: review
* fix: review
* feat: collection zod
* feat: dataset colletion schema
* fix: review
* review
* fix: ts
* feat: update team
* fix: type
2026-04-13 11:25:12 +08:00
Archer
8524487034
feat: zod schema ( #6740 )
...
* feat: zod schema
move file api
feat: chat and dataset zod
* fix: review
* feat: dataset openapi
* fix: test
* update cr
2026-04-10 22:55:44 +08:00
Archer
fc6953fcb3
Fix secret ( #6738 )
...
* fix: nosql inject
* fix: nosql
* fix: ts
* doc
* fix: update feedbacksession
2026-04-10 13:58:10 +08:00
Archer
e3b5b3788f
fix: mcp auth ( #6733 )
...
* fix: mcp auth
* doc
* doc
2026-04-09 15:12:39 +08:00
Archer
ec9e8fdfc5
deploy doc ( #6728 )
2026-04-08 16:15:25 +08:00
Archer
5c709afef0
fix: model refresh ( #6725 )
2026-04-07 21:48:43 +08:00
Archer
a55fdb4b0e
deploy doc ( #6711 )
...
* deploy doc
* deploy doc
2026-04-02 13:43:47 +08:00
Archer
fbbe852596
update deploy yml ( #6695 )
...
* deploy doc
* doc
* doc
* doc
2026-04-01 13:34:01 +08:00
Archer
d5ea3179a0
V4.14.10 dev ( #6686 )
...
* docker
* fix: community version check
* perf: deploy doc
* doc
* doc
* remove invalide md
2026-03-31 23:15:29 +08:00
Archer
7f2dd9d24a
fix: mcp toolcall ( #6683 )
...
* fix: mcp toolcall
* perf: test sign
2026-03-31 17:02:56 +08:00
Archer
b884631363
feat: sandbox readfile tool ( #6679 )
...
* feat: sandbox readfile tool
* perf: read stream
* fix: schema name
* update sdk version
* udpate enum
* perf: time
2026-03-31 13:50:26 +08:00
Archer
3f4400a500
V4.14.10 dev ( #6674 )
...
* feat: model config with brand-new price calculate machanism (#6616 )
* fix: image read and json error (Agent) (#6502 )
* fix:
1.image read
2.JSON parsing error
* dataset cite and pause
* perf: plancall second parse
* add test
---------
Co-authored-by: archer <545436317@qq.com >
* master message
* remove invalid code
* wip: model config
* feat: model config with brand-new price calculate machanism
* merge main branch
* ajust calculate way
* ajust priceTiers resolve procession
* perf: price config code
* fix: default price
* fix: test
* fix: comment
* fix test
---------
Co-authored-by: YeYuheng <57035043+YYH211@users.noreply.github.com >
Co-authored-by: archer <545436317@qq.com >
* wip: fix modal UI (#6634 )
* wip: fix modal UI
* fix: maxInputToken set
* chore: add price unit for non llm models
* chore: replace question mark icon with beta tag (#6672 )
* feat:rerank too long; fix:rerank ui(agent),embedding returns 0 (#6663 )
* feat:rerank too long; fix:rerank ui(agent),embedding returns 0
* rerank
* fix:rerank function
* perf: rerank code
* fix rerank
* perf: model price ui
---------
Co-authored-by: archer <545436317@qq.com >
* remove llmtype field
* revert model init
* fix: filed
* fix: model select filter
* perf: multiple selector render
* remove invalid checker
* remove invalid i18n
* perf: model selector tip
* perf: model selector tip
* fix cr
* limit pnpm version
* fix: i18n
* fix action
* set default mintoken
* update i18n
* perf: usage push
* fix:rerank model ui (#6677 )
* fix: tier match error
* fix: testr
---------
Co-authored-by: Ryo <whoeverimf5@gmail.com >
Co-authored-by: YeYuheng <57035043+YYH211@users.noreply.github.com >
2026-03-30 10:05:42 +08:00
Archer
03dd9c00a8
perf: runtime performance ( #6665 )
...
* perf: runtime performance
* add stringify trace
* remove trace val
* remove trace val
* remove logger
* remove logger
* add test
* add log
2026-03-27 17:06:36 +08:00
Archer
cc3a91d009
Opensandbox ( #6657 )
...
* Opensandbox (#6651 )
* volumn manager
* feat: opensandbox volumn
* perf: action (#6654 )
* perf: action
* doc
* doc
* deploy tml
* update template
2026-03-26 18:25:57 +08:00
Archer
d0f96723ea
fix: plugin catch ( #6643 )
2026-03-25 20:20:19 +08:00
Archer
bd966d479f
fix: login secret ( #6635 )
...
* fix: login secret
* lock
* env template
* fix: ts
* fix: ts
* fix: ts
2026-03-25 14:45:38 +08:00
Archer
86758af5bb
feishu stream ( #6629 )
2026-03-24 18:02:38 +08:00
Archer
e05ae8a3ec
fix: child workflow variable default value not init ( #6620 )
2026-03-24 09:59:30 +08:00
Archer
37bbccdc1f
Fix outlink doc ( #6619 )
...
* doc
* doc
2026-03-23 23:37:12 +08:00
Archer
a49321c850
deploy doc ( #6612 )
2026-03-23 16:26:22 +08:00
Archer
f6bd798fe6
doc ( #6610 )
2026-03-23 12:17:04 +08:00
Archer
3048dd5cfb
doc ( #6609 )
2026-03-23 12:10:44 +08:00
Archer
c37b3aa0e8
wechat publish ( #6607 )
...
* wechat publish
* update test
* doc
2026-03-23 11:57:05 +08:00