aqiu
cd030d82e5
refactor(vibe): extract workflow generation to dedicated module
...
- Move workflow generation logic from LLMGenerator to WorkflowGenerator
- Extract to api/core/workflow/generator/ with modular architecture
- Implement Planner-Builder pattern for better separation of concerns
- Add validation engine with rule-based error classification
- Add node and edge repair utilities for auto-fixing common issues
- Add deterministic Mermaid generator for consistent output
- Reorganize configuration and prompts
- Move vibe_config/ to generator/config/
- Move vibe_prompts.py to generator/prompts/ (split into multiple files)
- Add builder_prompts.py and planner_prompts.py for new architecture
- Enhance frontend workflow handling
- Use standard node initialization for proper node setup
- Improve variable reference replacement with better error handling
- Add model fallback logic for better compatibility
- Handle end node outputs format (value_selector vs legacy format)
- Ensure parameter-extractor nodes have required 'required' field
- Add comprehensive test coverage
- Unit tests for mermaid generator, node repair, edge repair
- Tests for validation engine and rule system
- Tests for planner prompts formatting
- Frontend tests for variable reference replacement
- Add max_fix_iterations parameter for validate-fix loop configuration
# Conflicts:
# web/app/components/workflow/hooks/use-workflow-vibe.tsx
2025-12-29 11:04:42 +08:00
aqiu
c4eee28fd8
refactor(vibe): modularize config and enhance workflow generation
...
- Extract vibe configuration into dedicated module (api/core/llm_generator/vibe_config/)
- node_schemas.py: Built-in node parameter definitions
- fallback_rules.py: Keyword-based fallback rules and aliases
- responses.py: Off-topic response templates
- node_definitions.json: Shared schema for frontend/backend sync
- Enhance workflow generation with intent classification
- Add off-topic detection with helpful suggestions
- Support regeneration mode with previous workflow context
- Add tool validation and sanitization
- Support language preference for generated content
- Extract frontend config to use-workflow-vibe-config.ts
- NODE_TYPE_ALIASES: Node type inference mapping
- FIELD_NAME_CORRECTIONS: LLM output field corrections
- correctFieldName(): Unified field correction helper
- Fix defensive null checks in variable utils and key-value list
- Change verbose debug logs from info to debug level
2025-12-29 11:04:41 +08:00
yyh
a4efb3acbf
fix: correct header assignment in SSRF proxy request handling
2025-12-29 10:42:23 +08:00
crazywoola
b7be5c8c82
feat: add MCP tools
2025-12-29 10:42:22 +08:00
crazywoola
9d496ed3dc
feat: add MCP tools
2025-12-29 10:42:22 +08:00
crazywoola
5705fa898f
feat: v1
2025-12-29 10:42:21 +08:00
crazywoola
a5c6c8638e
feat: v1
2025-12-29 10:42:21 +08:00
Shemol
d9cecabe93
fix: release graph_runtime_state reference to prevent memory leak under high load ( #30236 )
...
Signed-off-by: SherlockShemol <shemol@163.com>
2025-12-29 10:35:47 +08:00
Will
d546d525b4
feat: MCP tool adds support for embeddedResource ( #30261 )
...
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-12-29 10:15:47 +08:00
Novice
d8010a7fbc
fix: Add JSON RPC request type guard ( #30216 )
2025-12-28 03:02:46 +09:00
Jyong
f610f6895f
fix: retrieval test and knowledge retrieval node failed in multimodal mode ( #30210 )
...
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-26 21:42:06 +08:00
wangxiaolei
d20a8d5b77
fix: fix missing not in ( #30207 )
2025-12-26 16:52:34 +08:00
wangxiaolei
8611301722
fix: fix DatasetRetrieval._process_metadata_filter_func miss in operator ( #30199 )
2025-12-26 16:34:50 +08:00
wangxiaolei
61d255a6e6
chore: bypass InsufficientPrivilege on Azure PostgreSQL ( #30191 )
2025-12-26 14:35:05 +08:00
wangxiaolei
9885e92854
fix: validate first then save to db ( #30107 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-25 19:36:52 +09:00
wangxiaolei
996c7d9e16
perf: using pipeline to delete redis cache ( #30159 )
2025-12-25 17:04:37 +08:00
倉嶋 将矢
a26b2d74d4
fix: allow None values in VariableMessage validation ( #30082 )
2025-12-25 10:20:25 +08:00
倉嶋 将矢
9000fa1a88
fix: handle list content type in Parameter Extraction node ( #30070 )
2025-12-25 10:19:50 +08:00
Maries
02e0fadef7
feat: add editing support for trigger subscriptions ( #29957 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2025-12-24 19:15:54 +08:00
wangxiaolei
2f9d718997
fix: fix use build_request lead unexpect param ( #30095 )
2025-12-24 17:23:30 +08:00
Novice
f439e081b5
fix: loop streaming by clearing stale subgraph variables ( #30059 )
2025-12-24 11:28:52 +08:00
Rhys
a5309bee25
fix: handle missing `credential_id` ( #30051 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-24 11:21:51 +08:00
wangxiaolei
111a39b549
fix: fix firecrawl url concat ( #30008 )
2025-12-24 09:40:32 +08:00
wangxiaolei
aea3a6f80c
fix: when use forward proxy with httpx, httpx will overwrite the use … ( #30029 )
2025-12-23 19:01:12 +08:00
ericko-being
3f27b3f0b4
fix(ops): correct LangSmith dotted_order timestamp format ( #30022 )
2025-12-23 19:00:17 +08:00
wangxiaolei
b321511518
feat: grace ful close the connection ( #30039 )
2025-12-23 18:56:38 +08:00
非法操作
9701a2994b
chore: Translate stray Chinese comment to English ( #30024 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-23 14:05:21 +08:00
lif
542eb04ad8
fix: preserve empty list for FILE_LIST type in base_app_generator ( #29618 )
...
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-12-22 21:32:07 +08:00
wangxiaolei
eaf4146e2f
perf: optimize DatasetRetrieval.retrieve、RetrievalService._deduplicat… ( #29981 )
2025-12-22 20:08:21 +08:00
Ben Ghorbel Mohamed Aziz
6cf71366ba
fix: validate API key is not empty in HTTPRequest node ( #29950 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-21 17:04:07 +08:00
wangxiaolei
32605181bd
feat: first use INTERNAL_FILES_URL first, then FILES_URL ( #29962 )
2025-12-21 16:53:37 +08:00
Novice
7501360663
fix: add RFC 9728 compliant well-known URL discovery with path insertion fallback ( #29960 )
2025-12-21 09:19:11 +08:00
呆萌闷油瓶
5067e4f255
fix 29184 ( #29188 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-18 17:11:52 +08:00
wangxiaolei
78ca5ad142
fix: fix fixed_separator ( #29861 )
2025-12-18 16:50:44 +08:00
wangxiaolei
e6545f2727
perf: decrease db query ( #29837 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-18 15:35:52 +08:00
huku
eb5a444d3d
fix: plugin execution timeout not respecting PLUGIN_MAX_EXECUTION_TIMEOUT ( #29785 )
...
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-12-18 15:11:01 +08:00
wangxiaolei
dd237f129d
fix: fix json object validate ( #29840 )
2025-12-18 14:46:00 +08:00
yihong
acbeb04edc
fix: drop some dead links ( #29827 )
...
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2025-12-18 10:52:19 +08:00
zhaobingshuang
8d1e36540a
fix: detect_file_encodings TypeError: tuple indices must be integers or slices, not str ( #29595 )
...
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-12-17 13:58:05 +08:00
Jyong
ae4a9040df
Feat/update notion preview ( #29345 )
...
Co-authored-by: twwu <twwu@dify.ai>
2025-12-16 16:43:45 +08:00
heyszt
bdccbb6e86
feat: add GraphEngine layer node execution hooks ( #28583 )
2025-12-16 13:26:31 +08:00
longbingljw
4cc6652424
feat: VECTOR_STORE supports seekdb ( #29658 )
2025-12-16 12:35:04 +09:00
quicksand
4bf6c4dafa
chore: add online drive metadata source enum ( #29674 )
2025-12-15 21:13:23 +08:00
wangxiaolei
09982a1c95
fix: webhook node output file as file variable ( #29621 )
2025-12-15 19:55:59 +08:00
zyssyz123
bd7b1fc6fb
fix: csv injection in annotations export ( #29462 )
...
Co-authored-by: hj24 <huangjian@dify.ai>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-15 17:14:05 +08:00
zyssyz123
2bf44057e9
fix: ssrf, add internal ip filter when parse tool schema ( #29548 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Yeuoly <45712896+Yeuoly@users.noreply.github.com>
2025-12-15 16:28:25 +08:00
NeatGuyCoding
714b443077
fix: correct i18n SSO translations and fix validation/type issues ( #29564 )
...
Signed-off-by: NeatGuyCoding <15627489+NeatGuyCoding@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-15 15:58:33 +09:00
wangxiaolei
094f417b32
refactor: admin api using session factory ( #29628 )
2025-12-15 12:01:41 +08:00
wangxiaolei
8f3fd9a728
perf: commit once ( #29590 )
2025-12-15 11:40:26 +08:00
quicksand
1a18012f98
fix(api): use json_repair for conversation title parsing ( #29649 )
2025-12-15 11:29:28 +08:00