
This pull request introduces a feature aimed at improving the debugging experience during workflow editing. With the addition of variable persistence, the system will automatically retain the output variables from previously executed nodes. These persisted variables can then be reused when debugging subsequent nodes, eliminating the need for repetitive manual input. By streamlining this aspect of the workflow, the feature minimizes user errors and significantly reduces debugging effort, offering a smoother and more efficient experience. Key highlights of this change: - Automatic persistence of output variables for executed nodes. - Reuse of persisted variables to simplify input steps for nodes requiring them (e.g., `code`, `template`, `variable_assigner`). - Enhanced debugging experience with reduced friction. Closes #19735.
218 lines
5.5 KiB
Plaintext
218 lines
5.5 KiB
Plaintext
FLASK_APP=app.py
|
|
FLASK_DEBUG=0
|
|
SECRET_KEY='uhySf6a3aZuvRNfAlcr47paOw9TRYBY6j8ZHXpVw1yx5RP27Yj3w2uvI'
|
|
|
|
CONSOLE_API_URL=http://127.0.0.1:5001
|
|
CONSOLE_WEB_URL=http://127.0.0.1:3000
|
|
|
|
# Service API base URL
|
|
SERVICE_API_URL=http://127.0.0.1:5001
|
|
|
|
# Web APP base URL
|
|
APP_WEB_URL=http://127.0.0.1:3000
|
|
|
|
# Files URL
|
|
FILES_URL=http://127.0.0.1:5001
|
|
|
|
# The time in seconds after the signature is rejected
|
|
FILES_ACCESS_TIMEOUT=300
|
|
|
|
# Access token expiration time in minutes
|
|
ACCESS_TOKEN_EXPIRE_MINUTES=60
|
|
|
|
# Refresh token expiration time in days
|
|
REFRESH_TOKEN_EXPIRE_DAYS=30
|
|
|
|
# celery configuration
|
|
CELERY_BROKER_URL=redis://:difyai123456@localhost:6379/1
|
|
|
|
# redis configuration
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_USERNAME=
|
|
REDIS_PASSWORD=difyai123456
|
|
REDIS_USE_SSL=false
|
|
REDIS_DB=0
|
|
|
|
# PostgreSQL database configuration
|
|
DB_USERNAME=postgres
|
|
DB_PASSWORD=difyai123456
|
|
DB_HOST=localhost
|
|
DB_PORT=5432
|
|
DB_DATABASE=dify
|
|
|
|
# Storage configuration
|
|
# use for store upload files, private keys...
|
|
# storage type: opendal, s3, aliyun-oss, azure-blob, baidu-obs, google-storage, huawei-obs, oci-storage, tencent-cos, volcengine-tos, supabase
|
|
STORAGE_TYPE=opendal
|
|
|
|
# Apache OpenDAL storage configuration, refer to https://github.com/apache/opendal
|
|
OPENDAL_SCHEME=fs
|
|
OPENDAL_FS_ROOT=storage
|
|
|
|
# CORS configuration
|
|
WEB_API_CORS_ALLOW_ORIGINS=http://127.0.0.1:3000,*
|
|
CONSOLE_CORS_ALLOW_ORIGINS=http://127.0.0.1:3000,*
|
|
|
|
# Vector database configuration
|
|
# support: weaviate, qdrant, milvus, myscale, relyt, pgvecto_rs, pgvector, pgvector, chroma, opensearch, tidb_vector, couchbase, vikingdb, upstash, lindorm, oceanbase
|
|
VECTOR_STORE=weaviate
|
|
# Weaviate configuration
|
|
WEAVIATE_ENDPOINT=http://localhost:8080
|
|
WEAVIATE_API_KEY=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
|
|
WEAVIATE_GRPC_ENABLED=false
|
|
WEAVIATE_BATCH_SIZE=100
|
|
|
|
|
|
# Upload configuration
|
|
UPLOAD_FILE_SIZE_LIMIT=15
|
|
UPLOAD_FILE_BATCH_LIMIT=5
|
|
UPLOAD_IMAGE_FILE_SIZE_LIMIT=10
|
|
UPLOAD_VIDEO_FILE_SIZE_LIMIT=100
|
|
UPLOAD_AUDIO_FILE_SIZE_LIMIT=50
|
|
|
|
# Model configuration
|
|
MULTIMODAL_SEND_FORMAT=base64
|
|
PROMPT_GENERATION_MAX_TOKENS=4096
|
|
CODE_GENERATION_MAX_TOKENS=1024
|
|
|
|
# Mail configuration, support: resend, smtp
|
|
MAIL_TYPE=
|
|
MAIL_DEFAULT_SEND_FROM=no-reply <no-reply@example.com>
|
|
RESEND_API_KEY=
|
|
RESEND_API_URL=https://api.resend.com
|
|
# smtp configuration
|
|
SMTP_SERVER=smtp.example.com
|
|
SMTP_PORT=465
|
|
SMTP_USERNAME=123
|
|
SMTP_PASSWORD=abc
|
|
SMTP_USE_TLS=true
|
|
SMTP_OPPORTUNISTIC_TLS=false
|
|
|
|
# Sentry configuration
|
|
SENTRY_DSN=
|
|
|
|
# DEBUG
|
|
DEBUG=false
|
|
SQLALCHEMY_ECHO=false
|
|
|
|
# Notion import configuration, support public and internal
|
|
NOTION_INTEGRATION_TYPE=public
|
|
NOTION_CLIENT_SECRET=you-client-secret
|
|
NOTION_CLIENT_ID=you-client-id
|
|
NOTION_INTERNAL_SECRET=you-internal-secret
|
|
|
|
ETL_TYPE=dify
|
|
UNSTRUCTURED_API_URL=
|
|
UNSTRUCTURED_API_KEY=
|
|
SCARF_NO_ANALYTICS=false
|
|
|
|
#ssrf
|
|
SSRF_PROXY_HTTP_URL=
|
|
SSRF_PROXY_HTTPS_URL=
|
|
SSRF_DEFAULT_MAX_RETRIES=3
|
|
SSRF_DEFAULT_TIME_OUT=5
|
|
SSRF_DEFAULT_CONNECT_TIME_OUT=5
|
|
SSRF_DEFAULT_READ_TIME_OUT=5
|
|
SSRF_DEFAULT_WRITE_TIME_OUT=5
|
|
|
|
BATCH_UPLOAD_LIMIT=10
|
|
KEYWORD_DATA_SOURCE_TYPE=database
|
|
|
|
# Workflow file upload limit
|
|
WORKFLOW_FILE_UPLOAD_LIMIT=10
|
|
|
|
# CODE EXECUTION CONFIGURATION
|
|
CODE_EXECUTION_ENDPOINT=http://127.0.0.1:8194
|
|
CODE_EXECUTION_API_KEY=dify-sandbox
|
|
CODE_MAX_NUMBER=9223372036854775807
|
|
CODE_MIN_NUMBER=-9223372036854775808
|
|
CODE_MAX_STRING_LENGTH=80000
|
|
TEMPLATE_TRANSFORM_MAX_LENGTH=80000
|
|
CODE_MAX_STRING_ARRAY_LENGTH=30
|
|
CODE_MAX_OBJECT_ARRAY_LENGTH=30
|
|
CODE_MAX_NUMBER_ARRAY_LENGTH=1000
|
|
|
|
# API Tool configuration
|
|
API_TOOL_DEFAULT_CONNECT_TIMEOUT=10
|
|
API_TOOL_DEFAULT_READ_TIMEOUT=60
|
|
|
|
# HTTP Node configuration
|
|
HTTP_REQUEST_MAX_CONNECT_TIMEOUT=300
|
|
HTTP_REQUEST_MAX_READ_TIMEOUT=600
|
|
HTTP_REQUEST_MAX_WRITE_TIMEOUT=600
|
|
HTTP_REQUEST_NODE_MAX_BINARY_SIZE=10485760
|
|
HTTP_REQUEST_NODE_MAX_TEXT_SIZE=1048576
|
|
|
|
# Respect X-* headers to redirect clients
|
|
RESPECT_XFORWARD_HEADERS_ENABLED=false
|
|
|
|
# Log file path
|
|
LOG_FILE=
|
|
# Log file max size, the unit is MB
|
|
LOG_FILE_MAX_SIZE=20
|
|
# Log file max backup count
|
|
LOG_FILE_BACKUP_COUNT=5
|
|
# Log dateformat
|
|
LOG_DATEFORMAT=%Y-%m-%d %H:%M:%S
|
|
# Log Timezone
|
|
LOG_TZ=UTC
|
|
# Log format
|
|
LOG_FORMAT=%(asctime)s,%(msecs)d %(levelname)-2s [%(filename)s:%(lineno)d] %(req_id)s %(message)s
|
|
|
|
# Indexing configuration
|
|
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000
|
|
|
|
# Workflow runtime configuration
|
|
WORKFLOW_MAX_EXECUTION_STEPS=500
|
|
WORKFLOW_MAX_EXECUTION_TIME=1200
|
|
WORKFLOW_CALL_MAX_DEPTH=5
|
|
WORKFLOW_PARALLEL_DEPTH_LIMIT=3
|
|
MAX_VARIABLE_SIZE=204800
|
|
|
|
# App configuration
|
|
APP_MAX_EXECUTION_TIME=1200
|
|
APP_MAX_ACTIVE_REQUESTS=0
|
|
|
|
# Celery beat configuration
|
|
CELERY_BEAT_SCHEDULER_TIME=1
|
|
|
|
# Position configuration
|
|
POSITION_TOOL_PINS=
|
|
POSITION_TOOL_INCLUDES=
|
|
POSITION_TOOL_EXCLUDES=
|
|
|
|
POSITION_PROVIDER_PINS=
|
|
POSITION_PROVIDER_INCLUDES=
|
|
POSITION_PROVIDER_EXCLUDES=
|
|
|
|
# Plugin configuration
|
|
PLUGIN_DAEMON_KEY=lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
|
|
PLUGIN_DAEMON_URL=http://127.0.0.1:5002
|
|
PLUGIN_REMOTE_INSTALL_PORT=5003
|
|
PLUGIN_REMOTE_INSTALL_HOST=localhost
|
|
PLUGIN_MAX_PACKAGE_SIZE=15728640
|
|
INNER_API_KEY_FOR_PLUGIN=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
|
|
|
|
# Marketplace configuration
|
|
MARKETPLACE_ENABLED=true
|
|
MARKETPLACE_API_URL=https://marketplace.dify.ai
|
|
|
|
# Endpoint configuration
|
|
ENDPOINT_URL_TEMPLATE=http://localhost:5002/e/{hook_id}
|
|
|
|
# Reset password token expiry minutes
|
|
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES=5
|
|
|
|
CREATE_TIDB_SERVICE_JOB_ENABLED=false
|
|
|
|
# Maximum number of submitted thread count in a ThreadPool for parallel node execution
|
|
MAX_SUBMIT_COUNT=100
|
|
# Lockout duration in seconds
|
|
LOGIN_LOCKOUT_DURATION=86400
|
|
|
|
HTTP_PROXY='http://127.0.0.1:1092'
|
|
HTTPS_PROXY='http://127.0.0.1:1092'
|
|
NO_PROXY='localhost,127.0.0.1'
|
|
LOG_LEVEL=INFO
|