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
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
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
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
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Has been cancelled
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Has been cancelled
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Has been cancelled
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Has been cancelled
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
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Has been cancelled
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Has been cancelled
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Has been cancelled
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Has been cancelled
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
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
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
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Has been cancelled
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Has been cancelled
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Has been cancelled
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Has been cancelled
2026-01-20 03:02:34 +08:00
Harry
956436b943
feat(sandbox): skill initialize & draft run
2026-01-19 18:15:39 +08:00
Harry
3bb9c4b280
feat(constants): introduce DIFY_CLI_ROOT and update paths for Dify CLI and app assets
...
- Added DIFY_CLI_ROOT constant for the root directory of Dify CLI.
- Updated DIFY_CLI_PATH and DIFY_CLI_CONFIG_PATH to use absolute paths.
- Modified app asset initialization to create directories under DIFY_CLI_ROOT.
- Enhanced Docker and E2B environment file handling to use workspace paths.
2026-01-19 18:15:39 +08:00
Harry
c38463c9a9
refactor: reorganize asset-related classes into entities module and remove unused skill and asset files
2026-01-19 18:15:39 +08:00
yyh
d3d1ba2488
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
...
# Conflicts:
# api/core/app/apps/workflow/app_generator.py
2026-01-19 16:33:10 +08:00
wangxiaolei
0f1db88dcb
fix: fix dify-plugin-daemon error message ( #31218 )
2026-01-19 16:00:44 +08:00
zhsama
066d18df7a
Merge branch 'main' into feat/pull-a-variable
2026-01-19 15:00:15 +08:00
Harry
0de32f682a
feat(skill): skill parser & packager
2026-01-19 12:41:01 +08:00
wangxiaolei
3b225c01da
refactor: refactor workflow context ( #30607 )
2026-01-19 12:18:51 +08:00
yyh
15d6f60f25
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-17 17:03:32 +08:00
Harry
16078a9df6
refactor(sandbox): update DifyCliLocator path resolution and enhance sandbox provider configuration logic
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Has been cancelled
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Has been cancelled
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Has been cancelled
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Has been cancelled
2026-01-16 18:37:43 +08:00
Harry
0bd17c6d0f
refactor(sandbox): sandbox provider system default configuration
2026-01-16 18:22:44 +08:00
Stream
de610cbf39
fix: call get_text_content() instead of casting to str ( #31121 )
...
Signed-off-by: Stream <Stream_2@qq.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-16 18:41:00 +09:00
Novice
18abc66585
feat: add context file support
2026-01-16 17:01:44 +08:00
Novice
a7826d9ea4
feat: agent add context
2026-01-16 11:47:55 +08:00
yyh
713e040481
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-15 17:26:58 +08:00
Harry
6bb09dc58c
feat(app-assets): add file download functionality with pre-signed URLs and enhance asset management
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Has been cancelled
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Has been cancelled
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Has been cancelled
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Has been cancelled
2026-01-15 17:20:10 +08:00
Harry
33f3374ea6
refactor(sandbox): simplify sandbox_layer by removing ArchiveSandboxStorage and updating event handling
2026-01-15 17:20:10 +08:00
Harry
41baaca21d
feat(sandbox): integrate ArchiveSandboxStorage into AdvancedChat and Workflow app generators
2026-01-15 17:20:10 +08:00
zhsama
e89d4e14ea
Merge branch 'main' into feat/pull-a-variable
2026-01-15 16:14:15 +08:00
Harry
63b3e71909
refactor(sandbox): redesign sandbox_layer & reorganize import paths
2026-01-15 13:22:49 +08:00
Harry
c1c8b6af44
chore: remove duplicate secret field in CliApiSession
2026-01-15 12:10:53 +08:00
wangxiaolei
2bfc54314e
feat: single run add opentelemetry ( #31020 )
2026-01-15 11:10:55 +08:00
yyh
657739d48b
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
...
# Conflicts:
# api/models/model.py
# web/contract/router.ts
2026-01-15 10:59:45 +08:00
wangxiaolei
98c88cec34
refactor: delete_endpoint should be idempotent ( #30954 )
2026-01-15 10:10:10 +08:00
Harry
6cb8d03bf6
feat(sandbox): enhance SandboxLayer with app_id handling and storage integration
...
- Introduce _app_id attribute to store application ID from system variables
- Add _get_app_id method to retrieve and validate app_id
- Update on_graph_start to log app_id during sandbox initialization
- Integrate ArchiveSandboxStorage for persisting and restoring sandbox files
- Ensure proper error handling for sandbox file operations
2026-01-15 00:28:41 +08:00
Harry
94ff904a04
feat(sandbox): add AppAssetsInitializer and refactor VMFactory to VMBuilder
...
- Add AppAssetsInitializer to load published app assets into sandbox
- Refactor VMFactory.create() to VMBuilder with builder pattern
- Extract SandboxInitializer base class and DifyCliInitializer
- Simplify SandboxLayer constructor (remove options/environments params)
- Fix circular import in sandbox module by removing eager SandboxBashTool export
- Update SandboxProviderService to return VMBuilder instead of VirtualEnvironment
2026-01-15 00:13:52 +08:00
Harry
a0c388f283
refactor(sandbox): extract connection helpers and move run_command to helper module
...
- Add helpers.py with connection management utilities:
- with_connection: context manager for connection lifecycle
- submit_command: execute command and return CommandFuture
- execute: run command with auto connection, raise on failure
- try_execute: run command with auto connection, return result
- Add CommandExecutionError to exec.py for typed error handling
with access to exit_code, stderr, and full result
- Remove run_command method from VirtualEnvironment base class
(now available as submit_command helper)
- Update all call sites to use new helper functions:
- sandbox/session.py
- sandbox/storage/archive_storage.py
- sandbox/bash/bash_tool.py
- workflow/nodes/command/node.py
- Add comprehensive unit tests for helpers with connection reuse
2026-01-15 00:13:52 +08:00