mirror of
https://github.com/langgenius/dify.git
synced 2026-05-13 00:33:37 +08:00
refactor(sandbox): update imports and remove unused bash tool files, adjust DIFY_CLI_CONFIG_PATH
This commit is contained in:
parent
3e49d6b900
commit
e7c89b6153
@ -1,3 +1,4 @@
|
|||||||
|
from core.sandbox.bash_tool import SandboxBashTool
|
||||||
from core.sandbox.constants import (
|
from core.sandbox.constants import (
|
||||||
DIFY_CLI_CONFIG_PATH,
|
DIFY_CLI_CONFIG_PATH,
|
||||||
DIFY_CLI_PATH,
|
DIFY_CLI_PATH,
|
||||||
@ -25,6 +26,7 @@ __all__ = [
|
|||||||
"DifyCliInitializer",
|
"DifyCliInitializer",
|
||||||
"DifyCliLocator",
|
"DifyCliLocator",
|
||||||
"DifyCliToolConfig",
|
"DifyCliToolConfig",
|
||||||
|
"SandboxBashTool",
|
||||||
"SandboxInitializer",
|
"SandboxInitializer",
|
||||||
"SandboxSession",
|
"SandboxSession",
|
||||||
]
|
]
|
||||||
|
|||||||
@ -6,4 +6,4 @@ DIFY_CLI_PATH: Final[str] = "/work/.dify/bin/dify"
|
|||||||
|
|
||||||
DIFY_CLI_PATH_PATTERN: Final[str] = "dify-cli-{os}-{arch}"
|
DIFY_CLI_PATH_PATTERN: Final[str] = "dify-cli-{os}-{arch}"
|
||||||
|
|
||||||
DIFY_CLI_CONFIG_PATH: Final[str] = "/work/config.json"
|
DIFY_CLI_CONFIG_PATH: Final[str] = "/work/.dify_cli.json"
|
||||||
|
|||||||
@ -2,20 +2,17 @@ import logging
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import TYPE_CHECKING
|
|
||||||
|
|
||||||
from core.sandbox.constants import DIFY_CLI_PATH
|
from core.sandbox.constants import DIFY_CLI_PATH
|
||||||
from core.sandbox.dify_cli import DifyCliLocator
|
from core.sandbox.dify_cli import DifyCliLocator
|
||||||
|
from core.virtual_environment.__base.virtual_environment import VirtualEnvironment
|
||||||
if TYPE_CHECKING:
|
|
||||||
from core.virtual_environment.__base.virtual_environment import VirtualEnvironment
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class SandboxInitializer(ABC):
|
class SandboxInitializer(ABC):
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def initialize(self, env: "VirtualEnvironment") -> None:
|
def initialize(self, env: VirtualEnvironment) -> None:
|
||||||
...
|
...
|
||||||
|
|
||||||
|
|
||||||
@ -23,7 +20,7 @@ class DifyCliInitializer(SandboxInitializer):
|
|||||||
def __init__(self, cli_root: str | Path | None = None) -> None:
|
def __init__(self, cli_root: str | Path | None = None) -> None:
|
||||||
self._locator = DifyCliLocator(root=cli_root)
|
self._locator = DifyCliLocator(root=cli_root)
|
||||||
|
|
||||||
def initialize(self, env: "VirtualEnvironment") -> None:
|
def initialize(self, env: VirtualEnvironment) -> None:
|
||||||
binary = self._locator.resolve(env.metadata.os, env.metadata.arch)
|
binary = self._locator.resolve(env.metadata.os, env.metadata.arch)
|
||||||
env.upload_file(DIFY_CLI_PATH, BytesIO(binary.path.read_bytes()))
|
env.upload_file(DIFY_CLI_PATH, BytesIO(binary.path.read_bytes()))
|
||||||
|
|
||||||
|
|||||||
@ -5,12 +5,12 @@ import logging
|
|||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from types import TracebackType
|
from types import TracebackType
|
||||||
|
|
||||||
|
from core.sandbox.bash_tool import SandboxBashTool
|
||||||
from core.sandbox.constants import DIFY_CLI_CONFIG_PATH, DIFY_CLI_PATH
|
from core.sandbox.constants import DIFY_CLI_CONFIG_PATH, DIFY_CLI_PATH
|
||||||
from core.sandbox.dify_cli import DifyCliConfig
|
from core.sandbox.dify_cli import DifyCliConfig
|
||||||
from core.sandbox.manager import SandboxManager
|
from core.sandbox.manager import SandboxManager
|
||||||
from core.session.inner_api import InnerApiSessionManager
|
from core.session.inner_api import InnerApiSessionManager
|
||||||
from core.tools.__base.tool import Tool
|
from core.tools.__base.tool import Tool
|
||||||
from core.tools.builtin_tool.providers.sandbox.bash_tool import SandboxBashTool
|
|
||||||
from core.virtual_environment.__base.virtual_environment import VirtualEnvironment
|
from core.virtual_environment.__base.virtual_environment import VirtualEnvironment
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
from core.tools.builtin_tool.providers.sandbox.bash_tool import SandboxBashTool
|
|
||||||
|
|
||||||
__all__ = ["SandboxBashTool"]
|
|
||||||
@ -357,7 +357,7 @@ class LLMNodeData(BaseNodeData):
|
|||||||
|
|
||||||
# Tool support
|
# Tool support
|
||||||
tools: Sequence[ToolMetadata] = Field(default_factory=list)
|
tools: Sequence[ToolMetadata] = Field(default_factory=list)
|
||||||
max_iterations: int | None = Field(default=None, description="Maximum number of iterations for the LLM node")
|
max_iterations: int | None = Field(default=100, description="Maximum number of iterations for the LLM node")
|
||||||
|
|
||||||
@field_validator("prompt_config", mode="before")
|
@field_validator("prompt_config", mode="before")
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@ -1609,7 +1609,7 @@ class LLMNode(Node[LLMNodeData]):
|
|||||||
model_instance=model_instance,
|
model_instance=model_instance,
|
||||||
tools=[sandbox_session.bash_tool],
|
tools=[sandbox_session.bash_tool],
|
||||||
files=prompt_files,
|
files=prompt_files,
|
||||||
max_iterations=self._node_data.max_iterations or 10,
|
max_iterations=self._node_data.max_iterations or 100,
|
||||||
context=ExecutionContext(user_id=self.user_id, app_id=self.app_id, tenant_id=self.tenant_id),
|
context=ExecutionContext(user_id=self.user_id, app_id=self.app_id, tenant_id=self.tenant_id),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -19,6 +19,7 @@ from sqlalchemy.orm import Session
|
|||||||
from configs import dify_config
|
from configs import dify_config
|
||||||
from constants import HIDDEN_VALUE
|
from constants import HIDDEN_VALUE
|
||||||
from core.entities.provider_entities import BasicProviderConfig
|
from core.entities.provider_entities import BasicProviderConfig
|
||||||
|
from core.sandbox.encryption import create_sandbox_config_encrypter, masked_config
|
||||||
from core.sandbox.factory import VMFactory, VMType
|
from core.sandbox.factory import VMFactory, VMType
|
||||||
from core.sandbox.initializer import DifyCliInitializer
|
from core.sandbox.initializer import DifyCliInitializer
|
||||||
from core.tools.utils.system_encryption import (
|
from core.tools.utils.system_encryption import (
|
||||||
@ -27,7 +28,6 @@ from core.tools.utils.system_encryption import (
|
|||||||
from core.virtual_environment.__base.virtual_environment import VirtualEnvironment
|
from core.virtual_environment.__base.virtual_environment import VirtualEnvironment
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from models.sandbox import SandboxProvider, SandboxProviderSystemConfig
|
from models.sandbox import SandboxProvider, SandboxProviderSystemConfig
|
||||||
from services.sandbox.encryption import create_sandbox_config_encrypter, masked_config
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user