Commit Graph

5704 Commits

Author SHA1 Message Date
Stream
2df4445aa7
fix: structured output should be non-streaming 2026-01-28 21:38:58 +08:00
yyh
d63a012680
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-28 21:29:25 +08:00
Harry
144089d3ed feat(skill): tool switcher implementation
- Introduced a new regex pattern for tool groups to support multiple tool placeholders.
- Updated the DefaultToolResolver to format outputs for specific built-in tools (bash, python).
- Enhanced the SkillCompiler to filter out disabled tools in tool groups, ensuring only enabled tools are rendered.
- Added tests to verify the correct behavior of tool group filtering and rendering.
2026-01-28 21:16:10 +08:00
Harry
0c1e812d21 fix: defer sandbox SDK imports for gevent 2026-01-28 20:51:22 +08:00
Harry
e95241b94f fix: command node 2026-01-28 20:51:22 +08:00
Harry
2513e191fb feat: add computer use feature to LLMNodeData
- Introduced a new boolean field `computer_use` in LLMNodeData to indicate whether the computer use feature should be enabled.
- Updated LLMNode to check the `computer_use` field when determining sandbox usage, ensuring proper error handling if sandbox is not available.
- Removed the obsolete `_has_skill_prompt` method to streamline the code.
2026-01-28 20:51:22 +08:00
-LAN-
24ebe2f5c6
refactor(graph_engine): Add a Config class for graph engine. (#31663)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2026-01-28 19:57:55 +08:00
Novice
209e4f8f7b
fix: structured output prompt skill should be false 2026-01-28 19:07:01 +08:00
yyh
f00d9186e4
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	api/commands.py
2026-01-28 16:03:44 +08:00
Novice
ca95b6684f
chore: improve assemble variable context generation 2026-01-28 15:34:28 +08:00
moonpanda
78198c6452
fix: vdb-migrate command did not use for parent-child segment migration (#31605)
Co-authored-by: warlocgao <warlocgao@tencent.com>
2026-01-28 14:54:50 +08:00
Harry
190453d397 fix: add timeout to queue.get() in QueueTransportReadCloser to prevent indefinite blocking 2026-01-28 14:45:17 +08:00
Harry
40a8e8febc fix: add timeout to queue.get() in DockerDemuxer to prevent indefinite blocking 2026-01-28 13:52:31 +08:00
Harry
392cec2f54 Revert "refactor: replace threading with gevent primitives for cooperative scheduling"
This reverts commit 27781d6b7e.
2026-01-28 13:51:48 +08:00
Harry
27781d6b7e refactor: replace threading with gevent primitives for cooperative scheduling
Updated multiple modules to utilize gevent for concurrency, ensuring compatibility with gevent-based WSGI servers. This includes replacing threading.Thread and threading.Event with gevent.spawn and gevent.event.Event, respectively, to prevent blocking and improve performance during I/O operations.

- Refactored SandboxBuilder, Sandbox, CommandFuture, and DockerDemuxer to use gevent.
- Added detailed docstrings explaining the changes and benefits of using gevent primitives.

This change enhances the responsiveness and efficiency of the application in a gevent environment.
2026-01-28 13:29:53 +08:00
yyh
d10d3b7021
chore: api linter 2026-01-28 11:42:55 +08:00
yyh
a38b8987b4
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	api/core/app/apps/workflow/app_runner.py
2026-01-28 11:41:58 +08:00
Novice
cd688a0d8f fix: nested node single step run 2026-01-28 10:18:10 +08:00
Stream
a571b3abb2
chore: fix type issues 2026-01-28 06:43:08 +08:00
Stream
9d287647c1
fix: load $context correctly in step run llm node 2026-01-28 06:35:01 +08:00
Stream
403114eee9
chore: run ruff 2026-01-28 05:20:37 +08:00
Stream
efbd92fc7f
chore: run ruff 2026-01-28 05:20:19 +08:00
Stream
71d44ec52c
fix: union type handling 2026-01-28 02:07:03 +08:00
-LAN-
3d414678e3
fix(graph_engine): Cannot run single iteration or loop node (#31470)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Yeuoly <45712896+Yeuoly@users.noreply.github.com>
2026-01-28 01:05:59 +08:00
-LAN-
d76ad15fca
refactor(graph_engine): move observability layer and persistence laye… (#31620) 2026-01-28 00:54:21 +08:00
NeatGuyCoding
144ef0880a
fix(cors): correct CORS resource pattern for /console/api routes (#31485)
Signed-off-by: NeatGuyCoding <15627489+NeatGuyCoding@users.noreply.github.com>
2026-01-27 20:03:32 +08:00
yyh
ae9c7d4e9f
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-27 19:55:03 +08:00
Asuka Minato
8ec4233611
fix: doc not gen bug (#31547)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-01-27 20:19:39 +09:00
Harry
bf66627204 feat(skills): enhance skill retrieval by incorporating user context and app model in API endpoints 2026-01-27 19:11:52 +08:00
Harry
506163ab2d feat(sandbox): restructure file handling by introducing a new inspector module with runtime and archive sources 2026-01-27 19:11:52 +08:00
Harry
951af125af feat(skills): implement API endpoints for retrieving skill references in workflows and add related data models 2026-01-27 19:11:52 +08:00
Stream
a4a85f7168
feat: improve the suggest-question prompt 2026-01-27 19:10:43 +08:00
Stream
8174b67e24
fix: call get_text_content instead of accessing content directly 2026-01-27 18:56:13 +08:00
Stream
ae23d30da2
fix: call get_text_content instead of accessing content directly 2026-01-27 18:54:36 +08:00
Stream
adf104becd
fix: enhanced structured output 2026-01-27 18:33:51 +08:00
yyh
5d41f67fe1
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	api/core/workflow/graph_events/__init__.py
2026-01-27 16:22:02 +08:00
Asuka Minato
e482588ef8
fix: ConsoleDatasetListQuery request.args.to_dict() (#31598) 2026-01-27 17:12:52 +09:00
Harry
85ecf1a198 feat(sandbox): add file extension attribute to SandboxFileNode and update related logic 2026-01-27 15:58:14 +08:00
Harry
57a588265a refactor(archive-storage): streamline archive handling by introducing dynamic archive name and path properties 2026-01-27 15:31:26 +08:00
heyszt
eca26a9b9b
feat: Enhances OpenTelemetry node parsers (#30706)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-27 15:30:21 +08:00
Novice
2fb391a642
fix: generation stream abort 2026-01-27 15:28:35 +08:00
yyh
c9e428facf
Merge branch 'feat/support-agent-sandbox' of https://github.com/langgenius/dify into feat/support-agent-sandbox 2026-01-27 15:21:22 +08:00
yyh
1beafd8558
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-27 15:17:40 +08:00
Harry
504280995d refactor(tool-access): rename ToolKey to ToolDescription and update ToolAccessPolicy to use mappings for allowed tools and credentials 2026-01-27 15:14:12 +08:00
Harry
b889ab8853 refactor(download): replace wget with curl for asset and archive downloads 2026-01-27 15:14:07 +08:00
Harry
394a811e5e fix(local-env): replace os.rmdir with shutil.rmtree for directory removal 2026-01-27 15:13:55 +08:00
Harry
a29f569e08 feat(sandbox): enhance logging with colored output and add AppAssetAttrsInitializer 2026-01-27 14:19:27 +08:00
Harry
64b6a5dd31 feat(sandbox-zip-service): using sandbox to zip files
- refactor allllllllll!!!!!!
2026-01-27 14:19:27 +08:00
Harry
9094f9d313 feat(zip-sandbox): special use of sandbox implementation 2026-01-27 14:19:27 +08:00
Harry
89eb7b17db feat(dify-cli): session level tool white list 2026-01-27 14:19:26 +08:00
hjlarry
a9e1394011 add skill markdown file collaboration 2026-01-27 14:08:44 +08:00
hj24
b4eef76c14
fix: billing account deletion (#31556) 2026-01-27 11:18:23 +08:00
dependabot[bot]
cbf7f646d9
chore(deps): bump pypdf from 6.6.0 to 6.6.2 in /api (#31568)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2026-01-27 11:06:13 +08:00
Novice
f0f796fdc0
fix: remove additional sse event 2026-01-27 10:49:37 +08:00
E.G
f6be9cd90d
refactor: replace request.args.get with Pydantic BaseModel validation (#31104)
Co-authored-by: GlobalStar117 <GlobalStar117@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
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>
2026-01-27 10:48:42 +08:00
dependabot[bot]
360f3bb32f
chore(deps): bump pycryptodome from 3.19.1 to 3.23.0 in /api (#31504)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-27 10:43:05 +08:00
hjlarry
c4e5eba6c3 switch to skills tab, keep ws connected and ensure has leader 2026-01-27 10:22:05 +08:00
Novice
585e11a1fc
fix: llm invoke condition 2026-01-27 10:12:51 +08:00
盐粒 Yanli
f00d823f9f
chore: move agent notes into docstrings (#31560) 2026-01-27 09:32:26 +08:00
Stream
6b439b1699
fix: behave correctly when user is not talking Dify 2026-01-27 00:33:41 +08:00
wangxiaolei
e48419937b
feat: chatflow support multimodal (#31293)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-27 00:24:48 +08:00
Stream
b57b1a6926
feat: generate better instructions 2026-01-27 00:09:11 +08:00
Stream
a9fb73fa31
fix: avoid flask backend error 2026-01-27 00:02:41 +08:00
yyh
87d033e186
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-26 23:12:44 +08:00
Asuka Minato
5eaf0c733a
fix: service api doc can not gen (#31549) 2026-01-26 21:59:02 +09:00
Junyan Qin (Chin)
f01f555146
chore: increase plugin cache ttl to 1 hour (#31552) 2026-01-26 19:48:33 +08:00
Joel
2e954388f5 merge 2026-01-26 16:57:45 +08:00
Asuka Minato
eba5eac3fa
refactor: api/controllers/console/setup.py to ov3 (#31465)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-26 15:04:33 +08:00
Asuka Minato
19008dce13
refactor: api/controllers/console/version.py to v3 (#31463)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-26 15:04:25 +08:00
盐粒 Yanli
92011d0a31
refactor: LLM plugin invoke parsing (#31499)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-26 14:59:57 +08:00
Xiangxuan Qu
a51ced0a4f
refactor: pass BaseModel instances instead of dict (#31514)
Co-authored-by: fghpdf <fghpdf@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-26 14:50:14 +08:00
Novice
87bcd70f59
feat: add tool call based structured output 2026-01-26 14:17:57 +08:00
Harry
39799b9db7 feat(sandbox): artifact browser 2026-01-26 14:13:36 +08:00
zyssyz123
7c12e923b6
feat: add trial model list in system features (#31313)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: hj24 <mambahj24@gmail.com>
2026-01-26 11:52:05 +08:00
yyh
83c3c23c27
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-26 11:18:41 +08:00
Asuka Minato
b9f1d65d4f
refactor: example of refine dict / Mapping (#31498) 2026-01-26 10:23:38 +08:00
hjlarry
b44169de41 fix mysql-connector-python 9.6 not work 2026-01-26 09:37:21 +08:00
Stream
bd2ee70c63
fix: remove output tokens constraint
Signed-off-by: Stream <Stream_2@qq.com>
2026-01-26 02:53:40 +08:00
Harry
87dba2765b fix(tests): remove unnecessary noqa directive from test function 2026-01-26 01:12:07 +08:00
Harry
af17e20f99 feat(sandbox): implement sandbox archive upload/download endpoints and security enhancements
- Added sandbox archive upload and download proxy endpoints with signed URL verification.
- Introduced security helpers for generating and verifying signed URLs.
- Updated file-related API routes to include sandbox archive functionality.
- Refactored app asset storage methods to streamline download/upload URL generation.
2026-01-26 01:11:53 +08:00
Harry
47835aaad9 feat(app-assets): add upload functionality and update proxy handling 2026-01-25 15:34:53 +08:00
Harry
c035133353 refactor(asset-storage): fix security problems 2026-01-25 03:44:36 +08:00
hjlarry
1c943eb89f fix migration file version 2026-01-25 00:05:19 +08:00
hjlarry
4c596aaac2 Merge branch 'feat/collaboration2' into feat/support-agent-sandbox 2026-01-25 00:00:03 +08:00
hjlarry
f4321279b9 fix migration file 2026-01-24 19:51:43 +08:00
autofix-ci[bot]
89b2ae01a6
[autofix.ci] apply automated fixes 2026-01-24 07:26:47 +00:00
hjlarry
edb4457684 Merge remote-tracking branch 'myori/main' into feat/collaboration2 2026-01-24 15:22:07 +08:00
dependabot[bot]
9d38af6d99
chore(deps): bump pyasn1 from 0.6.1 to 0.6.2 in /api (#31140)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-24 10:31:56 +08:00
TomoOkuyama
0772d49257
fix(api): fix IRIS hybrid search returning zero results (#31309)
Co-authored-by: Tomo Okuyama <tomo.okuyama@intersystems.com>
2026-01-24 10:29:19 +08:00
-LAN-
67eb8c052d
refactor: single-node workflow runner helpers (#31472) 2026-01-24 10:27:44 +08:00
Asuka Minato
5c4028d557
refactor: port AppModelConfig (#30919)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-24 10:25:51 +08:00
lif
55e6bca11c
fix(http-request): prevent UUID truncation in JSON body (#31444)
Signed-off-by: majiayu000 <1835304752@qq.com>
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>
2026-01-24 10:21:21 +08:00
盐粒 Yanli
67657c2f48
chore: Update dev setup scripts and API README (#31415)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-24 10:20:47 +08:00
fenglin
e8f9d64651
fix(tools): fix ToolInvokeMessage Union type parsing issue (#31450)
Co-authored-by: qiaofenglin <qiaofenglin@baidu.com>
2026-01-24 10:18:06 +08:00
wangxiaolei
1f8c730259
feat: optimize http status code (#31430) 2026-01-24 10:16:16 +08:00
zhsama
a36ea5addc Merge branch 'main' into feat/support-agent-sandbox
# Conflicts:
#	api/pyproject.toml
#	api/uv.lock
2026-01-23 22:31:01 +08:00
Asuka Minato
8d45755303
feat: init fastopenapi (#30453)
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>
2026-01-23 21:07:52 +09:00
Yeuoly
0419dc9632 fix(docker): warn about localhost FILES_URL and forward port to container 2026-01-23 19:57:41 +08:00
Harry
eed9faedaa refactor: replace AppAssetsInitializer with DraftAppAssetsInitializer and ensure assets directory creation in app_assets_initializer 2026-01-23 18:51:31 +08:00
Harry
41dd93c6b2 fix(e2b): stupid e2b env variable not work 2026-01-23 18:42:13 +08:00
yyh
00ae975f0b
fix: comments 2026-01-23 18:25:43 +08:00
Asuka Minato
6342d196e8
refactor: split changes for api/controllers/web/workflow.py (#29852) 2026-01-23 19:06:21 +09:00
Asuka Minato
5dc5709d58
refactor: split changes for api/controllers/web/login.py (#29854)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-23 19:06:04 +09:00
yyh
c51c40ede7
fix: migrations 2026-01-23 18:04:42 +08:00
yyh
65ffc5b3d9
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-23 18:04:32 +08:00
Harry
e1b0ab5c3f feat(app_asset_service): implement asynchronous file deletion in asset management
- Added a threaded function to handle the deletion of storage files asynchronously after asset removal.
- Updated the asset removal logic to include a call to the new deletion function, improving performance and responsiveness during asset management operations.
2026-01-23 17:27:13 +08:00
Yeuoly
8a6e1a695b fix: import storage module and ensure file record creation for presigned URL uploads 2026-01-23 17:26:26 +08:00
Novice
e9f4bde18f
fix: assemble variable support nested node format 2026-01-23 17:22:43 +08:00
Harry
63ffac6afe fix(asset_download_service): suppress error output during download command execution
- Updated the download script to redirect error output to /dev/null, preventing unnecessary error messages from being displayed.
- Added an explicit exit command to ensure the script terminates correctly after execution.
2026-01-23 17:06:11 +08:00
Harry
248fa38c34 refactor(storage): unified storage cache layer and preasign interface
- Updated storage wrappers to utilize a new base class, StorageWrapper, for better delegation of methods.
- Introduced SilentStorage to handle read operations gracefully by returning empty values instead of raising exceptions.
- Enhanced CachedPresignStorage to support batch caching of download URLs, improving performance.
- Refactored FilePresignStorage to support both presigned URLs and signed proxy URLs for downloads.
- Updated AppAssetService to utilize the new storage structure, ensuring consistent asset management.
2026-01-23 17:01:10 +08:00
Harry
3165f3adbe feat(app_assets): enhance asset management with CachedPresignStorage
- Introduced CachedPresignStorage to cache presigned download URLs, reducing repeated API calls.
- Updated AppAssetService to utilize CachedPresignStorage for improved performance in asset download URL generation.
- Refactored asset builders and packagers to support the new storage mechanism.
- Removed unused AppAssetsAttrsInitializer to streamline initialization processes.
- Added unit tests for CachedPresignStorage to ensure functionality and reliability.
2026-01-23 16:10:28 +08:00
QuantumGhost
99d19cd3db
docs(api): clarity SystemFeatureApi for webapp is unauthenticated by design (#31432)
The `/api/system-features` is required for the web app initialization.
Authentication would create circular dependency (can't authenticate without web app loading).

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-23 16:03:12 +08:00
Harry
4448737bd8 refactor(app_asset): remove file upload resource and related methods
- Deleted `AppAssetFileResource` class and its associated file upload logic.
- Removed the `create_file` method from `AppAssetService` to streamline asset management.
- Updated `AppAssetBatchUploadResource` for improved readability by condensing method calls.
2026-01-23 14:56:39 +08:00
Harry
c3decbab32 feat(app): introduce runtime type handling for apps
- Added `RuntimeType` enum to define app runtime types: CLASSIC and SANDBOXED.
- Updated `AppPartial` model to include `runtime_type` field.
- Enhanced `AppListApi` to determine and assign the appropriate runtime type based on sandbox feature availability.
2026-01-23 14:56:38 +08:00
Harry
225c33633a feat(app_asset): add batch upload and file upload URL generation
- Introduced `GetUploadUrlPayload` and `BatchUploadPayload` models for handling file uploads.
- Implemented `AppAssetFileUploadUrlResource` for generating pre-signed upload URLs.
- Added `AppAssetBatchUploadResource` to support batch creation of asset nodes from a tree structure.
- Enhanced `AppAssetService` with methods for obtaining upload URLs and batch creation of assets.
- Removed checksum handling from file creation to streamline the process.
2026-01-23 14:34:27 +08:00
hjlarry
486a30402b remove forceUpload 2026-01-23 14:33:15 +08:00
非法操作
fa92548cf6
feat: archive workflow run logs backend (#31310)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-23 13:11:56 +08:00
Cursx
b3a869b91b
refactor: optimize system features response payload for unauthenticated clients (#31392)
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: QuantumGhost <obelisk.reg+git@gmail.com>
2026-01-23 12:12:11 +08:00
yyh
c52755e747
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-23 11:36:16 +08:00
wangxiaolei
056095238b
fix: fix create-by-file doc_form (#31346) 2026-01-23 11:34:47 +08:00
Novice
8f75be52a1
fix: allow repeated tool calls with same tool_call_id 2026-01-23 10:04:21 +08:00
Harry
5f0a21d2d4 refactor(sandbox): enhance system default configuration retrieval
- Updated the `get_system_default_config` method to accept a `provider_type` parameter for more precise querying.
- Improved error handling to raise a ValueError if no system default provider is configured for the specified tenant and provider type.
- Added fallback logic to ensure a system default configuration is returned when available.
2026-01-23 02:06:13 +08:00
Stream
a409e3d32e
refactor: better /context-generate with frontend support
Signed-off-by: Stream <Stream_2@qq.com>
2026-01-23 01:44:12 +08:00
Harry
cbac914649 refactor(sandbox): rename delete_storage to delete_draft_storage for clarity
- Updated the SandboxManager to rename the method for deleting storage to better reflect its purpose.
- Adjusted the WorkflowVariableCollectionApi to utilize the new method name.
- Improved error handling in ArchiveSandboxStorage's delete method to log exceptions during deletion.
2026-01-23 00:12:37 +08:00
Harry
dde2bea2cc fix(llm-skill): prompt tool call
- Renamed `build_skill_artifact_set` to `build_skill_bundle` for improved clarity in asset management.
- Updated references in `SkillManager` to reflect the new method name and ensure consistent handling of skill bundles.
- Added `AppAssetsAttrsInitializer` to `SandboxManager` to enhance asset initialization processes.
- Implemented output truncation in `SandboxBashTool` to manage long command outputs effectively.
2026-01-22 23:36:32 +08:00
Harry
6ec4a093c2 fix(app_asset_service): correct parameter passing in get_or_create_assets method and remove unused method for published assets 2026-01-22 22:46:57 +08:00
Harry
521b66c488 feat(app-bundle): implement app bundle import/export functionality
- Introduced AppBundleService for managing app bundle publishing and importing, integrating workflow and asset services.
- Added methods for exporting app bundles as ZIP files, including DSL and asset management.
- Implemented source zip extraction and validation to enhance asset import processes.
- Refactored asset packaging to utilize AssetZipPackager for improved performance and organization.
- Enhanced error handling for bundle format and security during import operations.
2026-01-22 22:46:57 +08:00
Harry
a43efef9f0 refactor(skill): transition from artifact set to bundle structure
- Replaced SkillArtifactSet with SkillBundle across various components, enhancing the organization of skill dependencies and references.
- Updated SkillManager methods to load and save bundles instead of artifacts, improving clarity in asset management.
- Refactored SkillCompiler to compile skills into bundles, streamlining the dependency resolution process.
- Adjusted DifyCli and SandboxBashSession to utilize ToolDependencies, ensuring consistent handling of tool references.
- Introduced AssetReferences for better management of file dependencies within skill bundles.
2026-01-22 22:46:57 +08:00
Harry
17404e0956 chore: update binary files and refactor LLMNode skill compilation
- Updated binary files for Dify CLI on various platforms (darwin amd64, darwin arm64, linux amd64, linux arm64).
- Refactored skill compilation in LLMNode to improve clarity and maintainability by explicitly naming parameters and incorporating AppAssets for base path management.
- Minor fix in AppAssetFileTree to remove unnecessary leading slash in path construction.
2026-01-22 22:46:57 +08:00
yyh
b87e303c00
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	web/eslint-suppressions.json
#	web/service/debug.ts
2026-01-22 22:40:32 +08:00
QuantumGhost
61f8647f37
docs(api): mark SystemFeatureApi as unauthenticated by design (#31417)
The `/console/api/system-features` is required for the dashboard initialization. Authentication would create circular dependency (can't login without dashboard loading).

ref: CVE-2025-63387

Related: #31368
2026-01-22 22:33:59 +08:00
Yeuoly
d32996b8c9 feat: enhance sandbox initializers with async and sync support 2026-01-22 19:58:38 +08:00
Yeuoly
a3cf73b220 feat: refactor initializers to support async and sync execution 2026-01-22 19:54:54 +08:00
Yeuoly
55c588a03a feat: add async_initialize method to asset initializers 2026-01-22 19:49:41 +08:00
Yeuoly
3058415b4e feat: switch async 2026-01-22 19:42:09 +08:00
Yeuoly
c3b4029d0b feat: DraftAppAssetsInitializer 2026-01-22 19:18:46 +08:00
Yeuoly
5e16d85ff6 refactor(sandbox): async init and draft downloads
Reduce startup latency by deferring sandbox setup and downloading draft assets directly with cached presigned URLs.
2026-01-22 19:18:34 +08:00
-LAN-
c575c34ca6
refactor: Move workflow node factory to app workflow (#31385)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2026-01-22 18:08:21 +08:00
wangxiaolei
a112caf5ec
fix: use thread local isolation the context (#31410) 2026-01-22 18:02:54 +08:00
Harry
9d80770dfc feat(sandbox): enhance sandbox management and tool artifact handling
- Introduced SandboxManager.delete_storage method for improved storage management.
- Refactored skill loading and tool artifact handling in DifyCliInitializer and SandboxBashSession.
- Updated LLMNode to extract and compile tool artifacts, enhancing integration with skills.
- Improved attribute management in AttrMap for better error handling and retrieval methods.
2026-01-22 17:26:09 +08:00
Harry
e7c3e4cd21 feat: introduce attribute management system for sandbox
- Added AttrMap and AttrKey classes for type-safe attribute storage.
- Implemented AppAssetsAttrs and SkillAttrs for managing application and skill attributes.
- Refactored Sandbox and initializers to utilize the new attribute management system, enhancing modularity and clarity in asset handling.
2026-01-22 17:26:09 +08:00
yyh
bc22739a96
fix: migrations 2026-01-22 16:42:04 +08:00
yyh
d09d8d34c2
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	api/controllers/console/app/error.py
2026-01-22 16:40:19 +08:00
zejiewang
bc3629370d
fix: non-auto variable type params of agent node tool are not correctly parsed (#31128)
Co-authored-by: wangzejie <wangzejie@meicai.cn>
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>
2026-01-22 16:13:10 +08:00
wangxiaolei
f23cc6be02
fix: remove _try_resolve_user_from_request (#31360) 2026-01-22 16:13:10 +08:00
-LAN-
ef97352f71
refactor(db): enforce non-null message annotation questions (#27915) 2026-01-22 16:13:10 +08:00
zyssyz123
515002a8ba
feat: app trial (#26281)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: hj24 <mambahj24@gmail.com>
2026-01-22 15:42:54 +08:00
zejiewang
811e43d0d4
fix: non-auto variable type params of agent node tool are not correctly parsed (#31128)
Co-authored-by: wangzejie <wangzejie@meicai.cn>
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>
2026-01-22 14:43:21 +08:00
Harry
e38a4121e7 fix: workflow publish 2026-01-22 13:53:45 +08:00
Harry
b470cca533 feat(skill-builder): enhance skill loading and compilation with parallel processing
- Introduced threading for loading skills and uploading compiled content to improve performance.
- Added data classes for better structure and clarity in handling loaded and compiled skills.
- Refactored the skill compilation process to separate loading and uploading, enhancing maintainability.
2026-01-22 13:41:21 +08:00
Harry
5565546295 feat(skill-compiler): skill compiler 2026-01-22 13:41:21 +08:00
Novice
5cb8d4cc11
refactor: rename mention node to nested_node for generic sub-graph support 2026-01-22 13:15:13 +08:00
hjlarry
51c8c50b82 expire leader key in redis 2026-01-22 09:30:51 +08:00
Harry
aac90133d6 refactor: update session cleanup logic and extend command timeout
- Changed the command timeout duration from 60 seconds to 1 hour for improved session stability.
- Refactored session cleanup logic to utilize the CLI API session object instead of session ID, enhancing clarity and maintainability.
2026-01-21 21:19:46 +08:00
wangxiaolei
211c57f7b6
fix: remove _try_resolve_user_from_request (#31360) 2026-01-21 21:19:11 +08:00
Stream
0ac847fb3c refactor: unify structured output with pydantic model
Signed-off-by: Stream <Stream_2@qq.com>
2026-01-21 21:04:33 +08:00
Harry
b1eecb7051 feat: implement keepalive mechanism for E2B sandbox
- Added a keepalive thread to maintain the E2B sandbox timeout, preventing premature termination.
- Introduced a stop event to manage the lifecycle of the keepalive thread.
- Refactored the sandbox initialization to include the new keepalive functionality.
- Enhanced logging to capture failures in refreshing the sandbox timeout.
2026-01-21 20:51:46 +08:00
Harry
9ed83a808a refactor: consolidate sandbox management and initialization
- Moved sandbox-related classes and functions into a dedicated module for better organization.
- Updated the sandbox initialization process to streamline asset management and environment setup.
- Removed deprecated constants and refactored related code to utilize new sandbox entities.
- Enhanced the workflow context to support sandbox integration, allowing for improved state management during execution.
- Adjusted various components to utilize the new sandbox structure, ensuring compatibility across the application.
2026-01-21 20:42:44 +08:00
-LAN-
6452c5a7ac
refactor(db): enforce non-null message annotation questions (#27915) 2026-01-21 17:54:59 +08:00
Yeuoly
b5e31c0f25 feat: parallelize asset packing 2026-01-21 16:23:44 +08:00
Yeuoly
c4943ff4f5 fix: parse uname output for arch/os 2026-01-21 16:09:57 +08:00
Yeuoly
699650565e fix: reduce e2b uname calls 2026-01-21 16:07:12 +08:00
yyh
b0a059250a
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-21 14:52:11 +08:00
yyh
4b068022e1
chore: reorganize agent skills and add web design skills for all agents (#31334) 2026-01-21 14:48:58 +08:00
wangxiaolei
34436fc89c
feat: workflow support register context and read context (#31265)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maries <xh001x@hotmail.com>
2026-01-21 14:31:47 +08:00
hj24
e80d76af15
feat: add lock for retention jobs (#31320)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-21 14:06:35 +08:00
yyh
c3333006cf
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-21 13:52:47 +08:00
wangxiaolei
121d301a41
refactor: use session factory instead of call db.session directly (#31198)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-21 13:43:06 +08:00
Harry
f831d3bbd6 fix(app_assets_initializer): specify output directory for unzip command to ensure proper asset extraction 2026-01-21 02:58:47 +08:00
Harry
7fd9ef3d22 fix(dify_cli): solve the permission error on e2b 2026-01-21 01:25:21 +08:00
Harry
705d4cbba9 feat(sandbox_provider): add default sandbox provider for CE 2026-01-21 00:37:38 +08:00
Harry
c9e53bf78c fix(llm): update final chunk event condition to include sandbox check 2026-01-20 21:35:10 +08:00
Harry
7cd280557c fix(agent): fix damn bug 2026-01-20 21:10:53 +08:00
Harry
18a589003e feat(sandbox): enhance sandbox initialization with draft support and asset management
- Introduced DraftAppAssetsInitializer for handling draft assets.
- Updated SandboxLayer to conditionally set sandbox ID and storage based on workflow version.
- Improved asset initialization logging and error handling.
- Refactored ArchiveSandboxStorage to support exclusion patterns during archiving.
- Modified command and LLM nodes to retrieve sandbox from workflow context, supporting draft workflows.
2026-01-20 19:45:04 +08:00
Harry
1c76ed2c40 feat(sandbox): draft storage 2026-01-20 18:45:13 +08:00
Harry
ceb410fb5c fix: Update archive path for sandbox storage to use a temporary directory 2026-01-20 18:44:19 +08:00
yyh
4fa7843050
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-01-20 18:42:02 +08:00
hjlarry
f99ac24d5c websocket use cookie connect 2026-01-20 17:01:40 +08:00
Novice
8c4aaa8286
fix: add message tool call icon 2026-01-20 16:59:53 +08:00
Novice
67c29be3c6
fix: message answer include tool result 2026-01-20 16:05:28 +08:00
hjlarry
bdac6f91dd add socket edit permission validate 2026-01-20 13:56:28 +08:00
Novice
27de07e93d
chore: fix the llm node memory issue 2026-01-20 13:52:45 +08:00
Novice
4f5b175e55
fix: emoji icon validate error 2026-01-20 11:09:32 +08:00
Novice
1483a51aa1
Merge branch 'feat/pull-a-variable' into feat/support-agent-sandbox 2026-01-20 09:54:41 +08:00
Harry
f5a34e9ee8 feat(skill): skill support 2026-01-20 03:02:34 +08:00
hjlarry
018175ec2d Merge branch 'feat/collaboration2' of github.com:langgenius/dify into feat/collaboration2 2026-01-19 21:54:01 +08:00
hjlarry
faa88dc2f3 fix unittests 2026-01-19 21:53:56 +08:00
Harry
9ad1f30a8c fix(app_asset_service): increase maximum preview content size from 1MB to 5MB 2026-01-19 21:53:48 +08:00
Harry
5053fae5b4 fix(app_asset_service): reduce maximum preview content size from 5MB to 1MB 2026-01-19 21:52:18 +08:00
hjlarry
060c7f2b45 fix pyright 2026-01-19 21:48:05 +08:00
hjlarry
acb603bff7 fix migration file 2026-01-19 21:46:40 +08:00
Harry
d297167fef feat(sandbox): add optional activate argument to sandbox provider config
- Updated the request parser in SandboxProviderListApi to include an optional 'activate' boolean argument for JSON input.
- This enhancement allows users to specify activation status when configuring sandbox providers.
2026-01-19 21:46:26 +08:00
Harry
41aec357b0 feat(sandbox): add activation functionality for sandbox providers
- Enhanced the SandboxProviderConfigApi to accept an 'activate' argument when saving provider configurations.
- Introduced a new request parser for activating sandbox providers, requiring a 'type' argument.
- Updated the SandboxProviderService to handle the activation state during configuration saving and provider activation.
2026-01-19 21:43:03 +08:00
autofix-ci[bot]
f3fa4f11ba
[autofix.ci] apply automated fixes 2026-01-19 13:18:15 +00:00
hjlarry
cb8fc9cf2d Merge remote-tracking branch 'myori/main' into feat/collaboration2 2026-01-19 21:15:53 +08:00
hjlarry
c17f564718 add unittests 2026-01-19 20:41:21 +08:00
hjlarry
3389071361 add unittests 2026-01-19 20:25:47 +08:00
yyh
96da3b9560
fix: migration 2026-01-19 20:13:24 +08:00
Novice
1bdc47220b
fix: mention graph config don't support structured output 2026-01-19 19:59:19 +08:00
hjlarry
41473ff450 refactor workflow collaboration service 2026-01-19 19:56:18 +08:00