Yansong Zhang
|
90cce7693f
|
revert: remove all sandbox and skill related code
Remove ~12,900 lines of sandbox/skill code that was ported from
feat/support-agent-sandbox. This reverts to direct tool execution
(the original behavior before sandbox integration).
Removed:
- core/sandbox/ (SandboxBuilder, bash tools, providers, initializers)
- core/skill/ (SkillManager, assembler, entities)
- core/virtual_environment/ (5 provider implementations)
- core/zip_sandbox/ (archive operations)
- core/app_assets/ (asset management)
- core/app_bundle/ (bundle management)
- controllers/cli_api/ (DifyCli callback endpoints)
- services/sandbox/ (provider service)
- services/skill_service, app_asset_service, app_bundle_service
- models/sandbox.py, app_asset.py
- bin/dify-cli-* (3 platform binaries)
- web sandbox-provider-page and service
- SandboxLayer, _resolve_sandbox_context, _invoke_tool_in_sandbox
- CliApiConfig, DIFY_SANDBOX_CONTEXT_KEY
- sandbox-related migrations
Preserved: All Agent V2 core functionality (agent-v2 node, strategy
engine, transparent upgrade, LLM remapping, memory, context, tools
via direct execution).
Made-with: Cursor
|
2026-04-13 10:42:36 +08:00 |
|
Yansong Zhang
|
44491e427c
|
feat(api): enable all sandbox/skill controller routes and resolve dependencies (P0)
Resolve the full dependency chain to enable all previously disabled controllers:
Enabled routes:
- sandbox_files: sandbox file browser API
- sandbox_providers: sandbox provider management API
- app_asset: app asset management API
- skills: skill extraction API
- CLI API blueprint: DifyCli callback endpoints (/cli/api/*)
Dependencies extracted (64 files, ~8000 lines):
- models/sandbox.py, models/app_asset.py: DB models
- core/zip_sandbox/: zip-based sandbox execution
- core/session/: CLI API session management
- core/memory/: base memory + node token buffer
- core/helper/creators.py: helper utilities
- core/llm_generator/: context models, output models, utils
- core/workflow/nodes/command/: command node type
- core/workflow/nodes/file_upload/: file upload node type
- core/app/entities/: app_asset_entities, app_bundle_entities, llm_generation_entities
- services/: asset_content, skill, workflow_collaboration, workflow_comment
- controllers/console/app/error.py: AppAsset error classes
- core/tools/utils/system_encryption.py
Import fixes:
- dify_graph.enums -> graphon.enums in skill_service.py
- get_signed_file_url_for_plugin -> get_signed_file_url in cli_api.py
All 5 controllers verified: import OK, Flask starts successfully.
46 existing tests still pass.
Made-with: Cursor
|
2026-04-09 09:36:16 +08:00 |
|
Yansong Zhang
|
0c7e7e0c4e
|
feat(api): port Sandbox + VirtualEnvironment + Skill system from feat/support-agent-sandbox (Phase 5-6)
Port the complete infrastructure for agent sandbox execution and skill system:
Sandbox & Virtual Environment (core/sandbox/, core/virtual_environment/):
- Sandbox entity with lifecycle management (ready/failed/cancelled states)
- SandboxBuilder with fluent API for configuring providers
- 5 VM providers: Local, SSH, Docker, E2B, AWS CodeInterpreter
- VirtualEnvironment base with command execution, file transfer, transport layers
- Channel transport: pipe, queue, socket implementations
- Bash session management and DifyCli binary integration
- Storage: archive storage, file storage, noop storage, presign storage
- Initializers: DifyCli, AppAssets, DraftAppAssets, Skills
- Inspector: file browser, archive/runtime source, script utils
- Security: encryption utils, debug helpers
Skill & App Assets (core/skill/, core/app_assets/, core/app_bundle/):
- Skill entity and manager
- App asset accessor, builder pipeline (file, skill builders)
- App bundle source zip extractor
- Storage and converter utilities
API Endpoints:
- CLI API blueprint (controllers/cli_api/) for sandbox callback
- Sandbox provider management (workspace/sandbox_providers)
- Sandbox file browser (console/sandbox_files)
- App asset management (console/app/app_asset)
- Skill management (console/app/skills)
- Storage file endpoints (controllers/files/storage_files)
Services:
- Sandbox service, provider service, file service
- App asset service, app bundle service
Config:
- CliApiConfig, CreatorsPlatformConfig, CollaborationConfig
- FILES_API_URL for sandbox file access
Note: Controller route registration temporarily commented out (marked TODO)
pending resolution of deep dependency chains (socketio, workflow_comment,
command node, etc.). Core sandbox modules are fully ported and syntax-validated.
110 files changed, 10,549 insertions.
Made-with: Cursor
|
2026-04-08 17:39:02 +08:00 |
|
 carlos4sandGitHub
|
ae9fcc2969
|
refactor: use sessionmaker in controllers, events, models, and tasks 1 (#34693)
|
2026-04-07 23:47:20 +00:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
8d37116fec
|
refactor(api): type storage statistics with StorageStatisticsDict TypedDict (#34609)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-04-07 00:59:32 +00:00 |
|
 kurokoboandGitHub
|
e83a4090ac
|
fix: lighten the health checks for the Worker and Worker Beat services, and disable them by default (#34572)
|
2026-04-06 02:26:26 +00:00 |
|
 YBoyandGitHub
|
0f051d5886
|
refactor(api): type celery sqlcommenter tags with CelerySqlcommenterTagsDict TypedDict (#34526)
|
2026-04-03 12:06:15 +00:00 |
|
 99andGitHub
|
318a3d0308
|
refactor(api): tighten login and wrapper typing (#34447)
|
2026-04-02 09:36:58 +00:00 |
|
 
|
8f9dbf269e
|
chore(api): align Python support with 3.12 (#34419)
Co-authored-by: Asuka Minato <[email protected]>
|
2026-04-02 05:07:32 +00:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
c51cd42cb4
|
refactor(api): replace json.loads with Pydantic validation in controllers and infra layers (#34277)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-04-01 05:41:44 +00:00 |
|
  
|
f7b78b08fd
|
refactor(api): narrow otel instrumentor typing (#33853)
Co-authored-by: 复试资料 <[email protected]>
Co-authored-by: Asuka Minato <[email protected]>
|
2026-03-31 10:13:31 +08:00 |
|
 lifandGitHub
|
ae9a16a397
|
fix: upgrade langfuse SDK to v3+ for LLM-as-judge support (#34265)
Signed-off-by: majiayu000 <[email protected]>
|
2026-03-30 13:06:55 +00:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
40591a7c50
|
refactor(api): use standalone graphon package (#34209)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-03-27 21:05:32 +00:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)    
|
5a8a68cab8
|
feat: enterprise otel exporter (#33138)
Co-authored-by: QuantumGhost <[email protected]>
Co-authored-by: Yunlu Wen <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-03-27 07:56:31 +00:00 |
|
 
|
2ea85d3ba2
|
refactor: use EnumText for model_type and WorkflowNodeExecution.status (#34093)
Co-authored-by: Krishna Chaitanya <[email protected]>
|
2026-03-26 20:34:44 +00:00 |
|
 99andGitHub
|
52e7492cbc
|
refactor(api): rename dify_graph to graphon (#34095)
|
2026-03-25 21:58:56 +08:00 |
|
 ![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
56593f20b0
|
refactor(api): continue decoupling dify_graph from API concerns (#33580)
Signed-off-by: -LAN- <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: WH-2099 <[email protected]>
|
2026-03-25 20:32:24 +08:00 |
|
 
|
a2c4345c00
|
fix: pass default root to OpenDAL Operator for fs scheme (#33678)
Co-authored-by: QuantumGhost <[email protected]>
|
2026-03-19 15:30:13 +08:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
8a22cc06c9
|
refactor: migrate db.session.query to select in infra layer (#33694)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-03-19 15:48:29 +09:00 |
|
 盐粒 YanliandGitHub
|
a717519822
|
refactor(api): tighten phase 1 shared type contracts (#33453)
|
2026-03-17 17:50:51 +08:00 |
|
 ![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) ![gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
18ff5d9288
|
feat: add metrics to clean message and workflow-run task (#33143)
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: hj24 <[email protected]>
|
2026-03-17 13:55:28 +08:00 |
|
 -LAN-andGitHub
|
fb41b215c8
|
refactor(api): move workflow knowledge nodes and trigger nodes (#33445)
|
2026-03-15 15:24:59 +08:00 |
|
 ![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
e64f4d6039
|
refactor: replace sa.String with EnumText in mapped_column for type s… (#33332)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <[email protected]>
|
2026-03-14 13:38:27 +09:00 |
|
 ![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
a0f0c97133
|
chore(deps): bump opentelemetry-propagator-b3 from 1.28.0 to 1.40.0 in /api in the opentelemetry group (#33308)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <[email protected]>
|
2026-03-12 00:37:48 +09:00 |
|
 Desel72andGitHub
|
eaf86c521f
|
feat: Improve SQL Comment Context for Celery Worker Queries (#33058)
|
2026-03-10 12:37:26 +08:00 |
|
 hj24andGitHub
|
05ab107e73
|
feat: add export app messages (#32990)
|
2026-03-07 11:27:15 +08:00 |
|
 wangxiaoleiandGitHub
|
2f4c740d46
|
feat: support redis xstream (#32586)
|
2026-03-04 13:18:55 +08:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
b584434e28
|
feat: redis connection support max connections (#32935)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-03-04 11:52:43 +08:00 |
|
 -LAN-andGitHub
|
4fd6b52808
|
refactor(api): move model_runtime into dify_graph (#32858)
|
2026-03-02 20:15:32 +08:00 |
|
 -LAN-andGitHub
|
c917838f9c
|
refactor: move workflow package to dify_graph (#32844)
|
2026-03-02 18:42:30 +08:00 |
|
 -LAN-andGitHub
|
1f0fca89a8
|
refactor(workflow): move variables package into core.workflow (#32750)
|
2026-03-01 03:15:09 +08:00 |
|
 -LAN-andGitHub
|
eea1cf17ef
|
refactor(workflow): inject redis into graph engine manager (#32622)
|
2026-02-27 13:29:52 +08:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)  
|
349d2d8e4e
|
fix: replace deprecated SpanAttributes and ResourceAttributes with new semconv imports (#32661)
Co-authored-by: User <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-02-27 08:53:45 +09:00 |
|
![gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
2eefb585f9
|
fix: add type annotations to BaseStorage.exists and BaseStorage.download (#32652)
Signed-off-by: edvatar <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
2026-02-27 07:35:30 +09:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
33e0dae2b2
|
ci: try from main repo (#32620)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-02-26 16:30:10 +09:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
7656d514b9
|
refactor(workflow-file): move core.file to core.workflow.file (#32252)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-02-16 22:38:19 +08:00 |
|
![gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
704ee40caa
|
fix(api): excessive high CPU usage caused by RedisClientWrapper (#32212)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
2026-02-11 09:49:29 +08:00 |
|
 PonderandGitHub
|
6015f23e79
|
feat: enhancement celery configuration (#32145)
|
2026-02-10 17:55:24 +08:00 |
|
 Shuvam PandeyandGitHub
|
7fb6e0cdfe
|
refactor(api): tighten OTel decorator typing (#32163)
|
2026-02-10 00:46:02 +09:00 |
|
    
|
a1fc280102
|
feat: Human Input Node (#32060)
The frontend and backend implementation for the human input node.
Co-authored-by: twwu <[email protected]>
Co-authored-by: JzoNg <[email protected]>
Co-authored-by: yyh <[email protected]>
Co-authored-by: zhsama <[email protected]>
|
2026-02-09 14:57:23 +08:00 |
|
 ![gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) ![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
2c9430313d
|
fix: redis for api token (#31861)
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>
Co-authored-by: hj24 <[email protected]>
|
2026-02-06 16:25:27 +08:00 |
|
 Asuka MinatoandGitHub
|
ac222a4dd4
|
refactor: port api/controllers/console/app/audio.py api/controllers/console/app/message.py api/controllers/console/auth/data_source_oauth.py api/controllers/console/auth/forgot_password.py api/controllers/console/workspace/endpoint.py (#30680)
|
2026-02-02 18:03:07 +09:00 |
|
 Asuka MinatoandGitHub
|
b58d9e030a
|
refactor: init_validate.py to v3 (#31457)
|
2026-01-30 22:39:02 +09:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
90fe9abab7
|
revert: revert human input relevant code (#31766)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-01-30 19:18:49 +08:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
ba568a634d
|
refactor: api/controllers/console/remote_files.py to ov3 (#31466)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-01-30 19:32:20 +09:00 |
|
       ![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
03e3acfc71
|
feat(api): Human Input Node (backend part) (#31646)
The backend part of the human in the loop (HITL) feature and relevant architecture / workflow engine changes.
Signed-off-by: yihong0618 <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <[email protected]>
Co-authored-by: 盐粒 Yanli <[email protected]>
Co-authored-by: CrabSAMA <[email protected]>
Co-authored-by: Stephen Zhou <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: yihong <[email protected]>
Co-authored-by: Joel <[email protected]>
|
2026-01-30 10:18:49 +08:00 |
|
![gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)       ![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
c2473d85dc
|
feat: Add summary index for knowledge. (#31625)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jyong <[email protected]>
Co-authored-by: zxhlyh <[email protected]>
Co-authored-by: Yansong Zhang <[email protected]>
Co-authored-by: hj24 <[email protected]>
Co-authored-by: CodingOnStar <[email protected]>
Co-authored-by: CodingOnStar <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
2026-01-29 13:47:35 +08:00 |
|
 NeatGuyCodingandGitHub
|
144ef0880a
|
fix(cors): correct CORS resource pattern for /console/api routes (#31485)
Signed-off-by: NeatGuyCoding <[email protected]>
|
2026-01-27 20:03:32 +08:00 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
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 |
|
![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) 
|
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 |
|