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
746f83a258
doc ( #6819 )
2026-04-25 21:49:22 +08:00
Archer
927707d36b
doc ( #6818 )
2026-04-25 21:47:11 +08:00
Archer
1c8a47cff7
fix: adapt systemTool ( #6817 )
2026-04-25 21:37:55 +08:00
dependabot[bot]
0c39c7ba81
chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /document ( #6814 )
...
Bumps [postcss](https://github.com/postcss/postcss ) from 8.5.6 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.10 )
---
updated-dependencies:
- dependency-name: postcss
dependency-version: 8.5.10
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 17:28:05 +08:00
Archer
74264c5c37
perf: stop loop ( #6816 )
...
* perf: stop loop
* fix: test
2026-04-25 17:27:33 +08:00
DigHuang
306d797adc
chore(workflow): deprecate loop node and add deprecation skill ( #6815 )
2026-04-25 16:31:15 +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
DigHuang
27ebc0eeba
feat(workflow): add loop run node with start/break sub-nodes ( #6797 )
...
* feat(workflow): add loop run node with start/break sub-nodes
* fix(workflow): clear loop run resume state and polish interactions
* fix(workflow): harden loop run error paths and dedupe template registry
* fix(workflow): route loop run precheck errors through errorText and validate break reachability
* fix(workflow): fix loop run conditional validation and outer-node ref snapshot
* refactor: consolidate shared workflow usage and feedback collection helpers into dispatch/utils.ts
* feat(workflow): aggregate loop run iterations in response tree and polish editor/UI
* fix(workflow): i18n loop run errors and surface uncaught nested errors in chat
* fix(workflow): route node card delete button through onNodesChange
* fix(chat): recurse loopRun/parallelRun details when flattening responses
* fix(workflow): loop run resume stitching and PR review polish
* fix(workflow): loop run max-length boundary and resume isEntry leak
2026-04-24 21:35:30 +08:00
Archer
81dfc589f4
fix: messages adapt test ( #6813 )
...
* doc
* doc
* doc
2026-04-24 18:34:55 +08:00
Archer
5316c3cad5
perf: adapt reason text ( #6812 )
2026-04-24 18:19:57 +08:00
Archer
331d44aafe
Update 41411.mdx ( #6811 )
2026-04-24 17:13:58 +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
Octopus
af081457a8
fix(embedding): decode base64 embedding responses before vector processing ( #6807 )
...
* fix(embedding): decode base64 embedding responses before vector processing
When a model's extra body config includes `encoding_format: "base64"`, the
embedding API returns a base64-encoded IEEE 754 little-endian float32 array
instead of a `number[]`. The previous code passed this raw string directly
to `formatVectors`, which called `.reduce()` on it and threw:
TypeError: a.reduce is not a function
Add `decodeEmbedding()` that detects base64 strings and decodes them to
`number[]` via `Buffer → Float32Array → Array.from()`, then use it in
`getVectorsByText` before calling `formatVectors`.
Fixes #6769
* perf: test
---------
Co-authored-by: octo-patch <octo-patch@github.com >
Co-authored-by: archer <545436317@qq.com >
2026-04-23 16:49:04 +08:00
Octopus
39d74852ca
fix(storage): swap reversed sourceKey/targetKey args in OssStorageAdapter.copyObjectInSelfBucket ( #6806 )
...
The ali-oss `copy(name, sourceName)` API expects the destination as the
first argument and the source as the second. The previous implementation
passed an encoded sourceKey as the destination and targetKey as the source,
causing copy operations to attempt reading from the target path (which
does not exist yet) and writing to the source path (overwriting the original).
This bug caused custom plugin uploads to fail when using OSS storage, since
the plugin file could not be moved from the temp path to its final location.
Fixes #6787 , #6648
Co-authored-by: octo-patch <octo-patch@github.com >
2026-04-23 16:24:35 +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
2fe03ec0b9
fix: ts ( #6794 )
v4.14.13
2026-04-22 09:52:41 +08:00
Archer
509b227f2d
doc ( #6793 )
2026-04-21 23:04:26 +08:00
Archer
518627ca2c
fix: getquote api auth error ( #6792 )
...
* deploy doc
* perf: completions api support null
* fix: getquote api auth error
2026-04-21 23:00:10 +08:00
Ryo
4fbf8430b7
chore: bump deploy image tags for v4.14.12 ( #6789 )
2026-04-21 17:25:10 +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
Jon
9d1cafce92
fix(sandbox): fix unauthenticated RCE via code-server ( #6781 )
2026-04-20 20:18:05 +08:00
Deepturn
6867c6e659
Fix docker-compose command syntax ( #6777 )
2026-04-20 17:55:45 +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 >
v4.14.12
2026-04-20 17:45:22 +08:00
Jon
d9b096844d
feat: Add new PI agent features and update dependencies ( #6762 )
2026-04-20 16:10:13 +08:00
Jon
a50a9b926c
feat: Add new skill error handling and localization messages ( #6761 )
...
* feat: Add new skill error handling and localization messages
* feat(agentSkills): improve error codes and HTTP status handling
2026-04-20 15:54:27 +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
v4.14.11
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
DigHuang
ac36cad6d9
fix: switch user_main invocation to use keyword arguments for better default parameter handling ( #6756 )
...
* fix: switch user_main invocation to use keyword arguments for better default parameter handling
* fix: test
---------
Co-authored-by: archer <545436317@qq.com >
2026-04-15 23:04:37 +08:00
DigHuang
c9915a6bac
fix(sandbox): xlsx/avi 等不可预览文件走兜底 ( #6754 )
2026-04-15 17:10:36 +08:00
dependabot[bot]
b35288fe5b
chore(deps): bump gdown in /plugins/model/tts-cosevoice ( #6747 )
...
Bumps [gdown](https://github.com/wkentaro/gdown ) from 5.1.0 to 5.2.2.
- [Release notes](https://github.com/wkentaro/gdown/releases )
- [Commits](https://github.com/wkentaro/gdown/compare/v5.1.0...v5.2.2 )
---
updated-dependencies:
- dependency-name: gdown
dependency-version: 5.2.2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-14 20:48:11 +08:00
yanzhicong
d23c72690e
feat: add openGauss DataVec as vector database backend ( #6666 )
...
* feat: add openGauss DataVec as vector database backend
Add openGauss with DataVec extension as a new vector storage option alongside PGVector and Milvus. Includes vector DB controller, Docker Compose deployment configs (CN/Global), deploy generation scripts, and test templates.
* test: add opengauss vectorDB integration entry
* test: adjust vector env template for opengauss run
* fix: ts
---------
Co-authored-by: archer <545436317@qq.com >
2026-04-13 20:41:33 +08:00
DigHuang
546b2a8998
refactor: optimize sandbox editor layout and improve preview mode switching logic ( #6746 )
2026-04-13 17:51:08 +08:00
dependabot[bot]
fbdc8e4b8b
chore(deps): bump axios in /plugins/webcrawler/SPIDER ( #6745 )
...
Bumps [axios](https://github.com/axios/axios ) from 1.13.5 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.0 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 16:30:30 +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
Jon
6253f2240b
build: Bundle server.ts into a single CJS file ( #6736 )
...
* build: Bundle server.ts into a single CJS file
* feat: Add providerSandboxId to sandbox metadata and updates
* feat: Add environment variable to toggle skill server entrypoint
* refactor: Remove providerStatus from sandbox schemas and logic
2026-04-13 10:55:30 +08:00
DigHuang
3df8908851
feat(sandbox): support multimedia preview and source/preview toggle in editor ( #6723 )
...
* 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 >
2026-04-10 23:02:59 +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
v4.14.10.4
2026-04-10 13:58:10 +08:00
Jon
6173a74510
Refactor/unify sandbox client ( #6735 )
...
* chore: update sandbox-adapter to version 0.0.35
* refactor: unify sandbox creation through getSandboxClient
* refactor: Simplify sandbox instance handling logic
* feat: Add support for custom create config in sandbox
2026-04-09 19:26:05 +08:00
Archer
cd75ee160e
fix: team token auth ( #6734 )
...
* fix: team token auth
* fix: Authentication escape
* fix: cr
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* .claude doc
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-09 18:55:10 +08:00
Archer
e3b5b3788f
fix: mcp auth ( #6733 )
...
* fix: mcp auth
* doc
* doc
v4.14.10.3
2026-04-09 15:12:39 +08:00
Archer
d2d48fc177
doc ( #6730 )
2026-04-08 18:15:20 +08:00
Archer
ec9e8fdfc5
deploy doc ( #6728 )
2026-04-08 16:15:25 +08:00
Ryo
d579559cb1
fix: openapi schema issue while creating openapi json ( #6727 )
2026-04-08 09:53:17 +08:00