源码位置:dify-plugin-daemon\.env
本文使用dify-plugin-daemon v0.1.0版本,主要总结了dify-plugin-daemon\.env配置文件。为了本地调试方便,采用本地运行时环境WSL2+Ubuntu22.04方式运行dify-plugin-daemon服务。


一.服务器基本配置
服务器的基本设置,比如端口、密钥、运行模式和平台环境。
SERVER_PORT=5002
SERVER_KEY=lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
GIN_MODE=debug
PLATFORM=local
1.SERVER_PORT=5002
设置服务器监听的端口为 5002。
2.SERVER_KEY=lYkiYY...U+qUEi
服务器密钥,通常用于加密、鉴权或签名。
3.GIN_MODE=debug
设置 Gin(Go 的 Web 框架)运行模式为 debug,便于开发和调试。
4.PLATFORM=local
指定当前运行平台为本地环境(local),通常用于区分开发、测试、生产环境。
二.DIFY API配置
DIFY内部API密钥和URL地址,用于服务间通信。这两行环境变量配置与连接 Dify 内部 API 有关:
DIFY_INNER_API_KEY="QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1"
DIFY_INNER_API_URL=http://127.0.0.1:5001
1.DIFY_INNER_API_KEY
这是用于验证与 Dify 内部 API 通信的授权密钥。格式为一个长字符串,用于确保只有授权的请求可以访问 API。
2.DIFY_INNER_API_URL
指定 Dify 内部 API 的访问地址。当前设置为 http://127.0.0.1:5001
,表明 API 服务运行在本地的 5001 端口上。
这些配置允许插件系统与 Dify 平台的内部 API 进行安全通信。应用程序启动时会读取这些环境变量,并用它们建立与 Dify API 的连接。
三.插件安装配置
远程插件安装相关设置,包括启用状态、主机和端口。
PLUGIN_REMOTE_INSTALLING_ENABLED=true
PLUGIN_REMOTE_INSTALLING_HOST=127.0.0.1
PLUGIN_REMOTE_INSTALLING_PORT=5003
1.PLUGIN_REMOTE_INSTALLING_ENABLED=true
启用远程插件安装功能。设置为true
表示系统允许从远程源安装插件。
2.PLUGIN_REMOTE_INSTALLING_HOST=127.0.0.1
定义远程插件安装服务的主机地址。这里使用的是本地回环地址(localhost),表示远程插件安装服务运行在同一台机器上。
3.PLUGIN_REMOTE_INSTALLING_PORT=5003
指定远程插件安装服务监听的端口号为5003。
这组配置使得应用程序能够通过本地5003端口访问插件安装服务,主要用于开发或测试环境。在生产环境中,可能需要将主机地址修改为实际的服务器地址。
四.云存储凭证配置
1.AWS S3存储凭证配置
S3_USE_AWS_MANAGED_IAM=true
S3_ENDPOINT=
S3_USE_PATH_STYLE=true
AWS_ACCESS_KEY=
AWS_SECRET_KEY=
AWS_REGION=
配置 Amazon S3 (Simple Storage Service) 存储服务的环境变量设置:
-
# s3 credentials
– 注释行,表明这部分是 S3 凭证配置 -
S3_USE_AWS_MANAGED_IAM=true
– 启用 AWS 托管的 IAM 认证。设置为 true 时,应用将使用 AWS 托管的身份服务进行认证,而不是显式的访问密钥 -
S3_ENDPOINT=
– S3 服务的端点 URL。当前为空,表示将使用默认的 AWS S3 端点。如果使用其他 S3 兼容的存储服务,则需要在此设置对应的 URL -
S3_USE_PATH_STYLE=true
– 使用路径风格的 URL 访问 S3 存储桶。设为 true 时,使用如https://s3.amazonaws.com/bucket-name/key
的路径风格,而不是虚拟主机风格https://bucket-name.s3.amazonaws.com/key
-
AWS_ACCESS_KEY=
– AWS 访问密钥 ID,当前为空 -
AWS_SECRET_KEY=
– AWS 私有访问密钥,当前为空 -
AWS_REGION=
– AWS 区域,指定 S3 存储桶所在的地理区域,当前为空
由于已设置 S3_USE_AWS_MANAGED_IAM=true
,如果应用运行在支持 IAM 角色的 AWS 环境中,可能不需要填写访问密钥。但如果在 AWS 环境外运行,则需要填写这些凭证信息。
2.腾讯云COS存储凭证配置
# tencent cos credentials
TENCENT_COS_SECRET_KEY=
TENCENT_COS_SECRET_ID=
TENCENT_COS_REGION=
这些环境变量用于配置腾讯云对象存储(COS)服务的认证信息:
-
TENCENT_COS_SECRET_KEY=
– 腾讯云 COS 的密钥,用于身份验证,需填入从腾讯云控制台获取的 SecretKey -
TENCENT_COS_SECRET_ID=
– 腾讯云 COS 的密钥 ID,同样用于身份验证,需填入从腾讯云控制台获取的 SecretId -
TENCENT_COS_REGION=
– 腾讯云 COS 的地域信息,如 “ap-beijing”、”ap-guangzhou” 等
3.阿里云OSS存储凭证配置
# aliyun oss credentials
ALIYUN_OSS_REGION=
ALIYUN_OSS_ENDPOINT=
ALIYUN_OSS_ACCESS_KEY_ID=
ALIYUN_OSS_ACCESS_KEY_SECRET=
ALIYUN_OSS_AUTH_VERSION=v4
ALIYUN_OSS_PATH=
这些配置项是用于设置阿里云对象存储服务(OSS)的连接参数:
-
ALIYUN_OSS_REGION
:指定阿里云OSS的地区,如cn-beijing等 -
ALIYUN_OSS_ENDPOINT
:OSS服务的访问端点URL -
ALIYUN_OSS_ACCESS_KEY_ID
:访问阿里云OSS所需的访问密钥ID -
ALIYUN_OSS_ACCESS_KEY_SECRET
:与访问密钥ID配对的密钥 -
ALIYUN_OSS_AUTH_VERSION
:OSS身份验证版本,这里设置为v4 -
ALIYUN_OSS_PATH
:存储在OSS中的基础路径或前缀
4.Azure Blob Storage凭证配置
# azure blob storage credentials
AZURE_BLOB_STORAGE_CONTAINER_NAME=
AZURE_BLOB_STORAGE_CONNECTION_STRING=
这部分环境变量用于配置 Azure Blob Storage 服务的连接信息:
-
# azure blob storage credentials
– 这是注释行,表明以下变量用于 Azure Blob Storage 的凭证 -
AZURE_BLOB_STORAGE_CONTAINER_NAME=
– 指定要使用的 Azure Blob Storage 容器名称。容器相当于 Blob 数据的根目录,所有 Blob 数据都存储在容器内 -
AZURE_BLOB_STORAGE_CONNECTION_STRING=
– 存储 Azure Blob Storage 的连接字符串,包含访问存储账户所需的所有信息(账户名、访问密钥等)
五.插件存储和路径设置
1.插件存储
# services storage
PLUGIN_STORAGE_TYPE=local
PLUGIN_STORAGE_OSS_BUCKET=
PLUGIN_STORAGE_LOCAL_ROOT=./storage
这三行环境变量配置定义了插件的存储设置:
-
PLUGIN_STORAGE_TYPE=local
– 指定插件存储类型为本地存储,而不使用云存储服务。 -
PLUGIN_STORAGE_OSS_BUCKET=
– 当使用对象存储服务(OSS)时的存储桶名称。这里为空值,因为当前配置使用的是本地存储。 -
PLUGIN_STORAGE_LOCAL_ROOT=./storage
– 定义本地存储的根目录路径。在当前设置下,插件文件将存储在项目目录下的storage
文件夹中。
这些配置控制着插件文件的存储位置和方式,目前是配置为使用项目本地的存储方式。
2.插件安装路径
# where the plugin finally installed
PLUGIN_INSTALLED_PATH=./storage/plugin
这段配置定义了插件在系统中的安装位置:
-
# where the plugin finally installed
表明此配置的用途是指定插件的最终安装目录 -
PLUGIN_INSTALLED_PATH=./storage/plugin
是一个环境变量配置,设置插件文件的安装路径为当前应用目录下的./storage/plugin
文件夹
这个路径是插件安装完成后的存储位置,系统会从这个位置加载和运行已安装的插件。
3.插件运行目录
# where the plugin finally running and working
PLUGIN_WORKING_PATH=./storage/cwd
这行配置定义了插件的工作目录路径:
-
PLUGIN_WORKING_PATH=./storage/cwd
指定了插件在运行时使用的工作目录。
这个配置对于插件系统的正常运行非常重要,确保了插件有一个专用的工作空间。
4.持久化存储
# persistence storage
PERSISTENCE_STORAGE_PATH=persistence
PERSISTENCE_STORAGE_MAX_SIZE=104857600
该代码定义了持久化存储的配置参数:
-
PERSISTENCE_STORAGE_PATH=persistence
– 指定了持久化存储的路径,设置为名为”persistence”的目录 -
PERSISTENCE_STORAGE_MAX_SIZE=104857600
– 设置持久化存储的最大容量限制,值为104,857,600字节(约等于100MB)
持久化存储通常用于保存需要在应用重启后仍然可用的数据,可能包括插件状态、用户设置或其它需要长期保存的信息。
六.功能开关和池配置
1.启用插件webhook功能
在这个系统中,webhook 是一种允许插件与外部系统进行实时通信的机制。当设置为 true
时,插件可以接收或发送 HTTP 回调,使插件能够响应外部事件或向外部系统发送通知。这对于需要与第三方服务集成的插件尤为重要。
# plugin webhook
PLUGIN_WEBHOOK_ENABLED=true
这两行配置与插件的 webhook 功能相关:
-
# plugin webhook
:注释行,标明下面的配置项是关于插件 webhook 的设置 -
PLUGIN_WEBHOOK_ENABLED=true
:环境变量设置,表示启用插件的 webhook 功能
2.设置协程池大小
ROUTINE_POOL_SIZE=1024
是一个环境变量配置项,用于设置应用程序的协程池大小。
# routine pool
ROUTINE_POOL_SIZE=1024
在Go语言应用中,这个参数定义了可以同时运行的协程(goroutines)数量上限。协程池是一种资源管理机制,通过预先分配和重用协程来提高并发处理效率,避免频繁创建和销毁协程所带来的性能开销。
该值设置为1024表示系统最多可以同时管理1024个协程任务。这个池被用于处理插件系统中的并发操作,例如插件安装、执行插件功能等任务。
根据应用程序负载情况,可能需要调整这个值。较小的值会减少内存使用但可能限制并发能力,较大的值则允许更高的并发但会消耗更多资源。
七.Redis配置
1.Redis基本连接参数
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=difyai123456
REDIS_DB=0
这段代码是Redis数据库连接的基本配置:
-
REDIS_HOST=127.0.0.1
:Redis服务器的地址,设置为本地主机 -
REDIS_PORT=6379
:Redis服务的端口号,使用标准端口 -
REDIS_PASSWORD=difyai123456
:连接Redis服务器的验证密码 -
REDIS_DB=0
:使用的Redis数据库索引,Redis默认有16个数据库(0-15)
这些配置参数使应用程序能够连接到Redis实例,Redis在此项目中可能用于缓存、会话管理、消息队列或其它需要高性能内存存储的功能。
2.Redis哨兵模式配置(未启用)
这段配置是关于 Redis Sentinel 的设置,用于实现 Redis 的高可用性。
# Whether to use Redis Sentinel mode.
# If set to true, the application will automatically discover and connect to the master node through Sentinel.
REDIS_USE_SENTINEL=false
# List of Redis Sentinel nodes. If Sentinel mode is enabled, provide at least one Sentinel IP and port.
# Format: `<sentinel1_ip>:<sentinel1_port>,<sentinel2_ip>:<sentinel2_port>,<sentinel3_ip>:<sentinel3_port>`
REDIS_SENTINELS=
REDIS_SENTINEL_SERVICE_NAME=
REDIS_SENTINEL_USERNAME=
REDIS_SENTINEL_PASSWORD=
REDIS_SENTINEL_SOCKET_TIMEOUT=0.1
(1)Redis Sentinel 基本概念
Redis Sentinel 是 Redis 的高可用解决方案,提供自动故障转移、监控和通知功能。当主节点故障时,Sentinel 会自动将从节点提升为新的主节点。
(2)配置项解释
-
REDIS_USE_SENTINEL=false
:当前禁用了 Sentinel 模式,应用程序直接连接到单个 Redis 实例 -
REDIS_SENTINELS=
:用于指定 Sentinel 节点列表,格式为 IP:端口的逗号分隔列表 -
REDIS_SENTINEL_SERVICE_NAME=
:被监控的 Redis 主节点服务名称,Sentinel 通过此名称识别主节点 -
REDIS_SENTINEL_USERNAME=
和REDIS_SENTINEL_PASSWORD=
:Sentinel 的认证凭据,用于安全连接 -
REDIS_SENTINEL_SOCKET_TIMEOUT=0.1
:连接到 Sentinel 节点的套接字超时时间,单位为秒
(3)使用场景
当需要搭建高可用的 Redis 集群时,启用 Sentinel 模式可以提供自动故障检测和主从切换能力,提高系统可靠性。
八.数据库配置
1.PostgreSQL数据库连接参数
DB_USERNAME=postgres
DB_PASSWORD=difyai123456
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=dify_plugin
# Specifies the SSL mode for the database connection.
# Possible values include 'disable', 'require', 'verify-ca', and 'verify-full'.
#'disable' means SSL is not used for the connection.
DB_SSL_MODE=disable
这段代码是一个环境变量配置文件中的数据库连接部分,具体说明如下:
-
数据库连接基本信息:
-
DB_USERNAME=postgres
– 连接PostgreSQL数据库的用户名 -
DB_PASSWORD=difyai123456
– 数据库密码 -
DB_HOST=localhost
– 数据库服务器地址(本地) -
DB_PORT=5432
– PostgreSQL默认端口号 -
DB_DATABASE=dify_plugin
– 要连接的具体数据库名称 -
SSL连接配置:
-
DB_SSL_MODE=disable
– 禁用SSL连接 -
注释部分解释了可能的SSL模式选项(disable、require、verify-ca、verify-full)
-
当前配置不使用SSL进行数据库连接
这些配置参数用于应用程序初始化PostgreSQL数据库连接,通过环境变量方式提供给应用程序使用。
2.数据库连接池设置
这几行配置定义了应用程序与数据库交互时的连接池参数:
# database connection pool settings
DB_MAX_IDLE_CONNS=10
DB_MAX_OPEN_CONNS=30
DB_CONN_MAX_LIFETIME=3600
(1)DB_MAX_IDLE_CONNS=10
限制连接池中最大空闲连接数为10个。空闲连接是指已建立但当前未被使用的数据库连接,保持在池中以便快速复用。适当数量的空闲连接可减少频繁创建和销毁连接的开销,提升性能。
(2)DB_MAX_OPEN_CONNS=30
限制连接池中最大并发打开连接数为30个。这包括所有活动连接和空闲连接的总和。这个限制有助于防止过多连接导致数据库服务器资源耗尽。
(3)DB_CONN_MAX_LIFETIME=3600
设置连接的最大生存时间为3600秒(1小时)。超过这个时间的连接会被自动关闭并从池中移除,即使它是空闲的。这可以防止长时间不活动的连接因数据库超时策略变得无效。
这些参数对于优化应用程序的数据库访问性能和资源利用至关重要,特别是在高并发场景下。
九.超时和限制设置
1.DIFY调用连接空闲超时时间
在这个Dify插件系统中,该参数可能用于控制与Dify系统的API通信连接或插件调用期间的连接保持时间。调整这个值可以在资源利用效率和重连开销之间取得平衡。
DIFY_INVOCATION_CONNECTION_IDLE_TIMEOUT=120
表示当一个调用连接(invocation connection)处于空闲状态达到120秒后,系统会自动关闭该连接。这是一个重要的资源管理参数,主要作用:
-
资源优化:防止长时间不活跃的连接占用系统资源
-
连接管理:自动清理空闲连接,释放网络资源
-
系统稳定性:避免因连接积累而导致的资源耗尽问题
2.插件包最大大小限制(50MB)
MAX_PLUGIN_PACKAGE_SIZE=52428800
十.无服务器连接器
该设置允许Dify系统与无服务器连接器组件进行安全通信,该组件可能用于管理和执行插件相关的无服务器功能。
# dify serverless connector
DIFY_PLUGIN_SERVERLESS_CONNECTOR_URL=http://127.0.0.1:5004
DIFY_PLUGIN_SERVERLESS_CONNECTOR_API_KEY=HeRFb6yrzAy5vUSlJWK2lUl36mpkaRycv4witbQpucXacgXg7G9a8gVL
这两行配置是关于Dify插件无服务器连接器(Serverless Connector)的设置,包括连接器URL和API密钥。
-
DIFY_PLUGIN_SERVERLESS_CONNECTOR_URL
– 定义了插件无服务器连接器的访问地址,当前配置为本地地址http://127.0.0.1:5004
,表明该服务运行在本机的5004端口上。 -
DIFY_PLUGIN_SERVERLESS_CONNECTOR_API_KEY
– 设置了访问该连接器服务所需的API密钥,这是一个长字符串形式的认证凭证,用于确保只有授权的请求能够访问该服务。
十一.Python环境配置
1.Python解释器路径
这个配置对插件系统很重要,它告诉应用程序在哪里找到Python解释器来执行插件代码。正确设置此路径可确保Python插件能够正常运行。
# python interpreter, if you are using local runtime, you should set this path to your python interpreter path
# otherwise, it should be /usr/bin/python3
PYTHON_INTERPRETER_PATH=/home/duomiagi/miniconda3_3.12/bin/python
这部分配置是关于Python解释器路径的设置:
-
如果使用本地运行时环境,需要将此变量设置为本地Python解释器的路径
-
如果不是本地运行时,默认使用
/usr/bin/python3
-
当前实际设置为使用miniconda环境中的Python解释器
说明:采用本地运行时环境WSL2+Ubuntu22.04方式运行dify-plugin-daemon服务,设置合适的PYTHON_INTERPRETER_PATH即可,建议为Python3.12版本。
2.UV路径配置
# uv path, if you are using local runtime, you should set this path to your local uv path
# otherwise, it will use `from uv._find_uv import find_uv_bin; print(find_uv_bin())`
UV_PATH=/home/duomiagi/miniconda3_3.12/bin/uv
这几行代码是关于配置 uv
工具路径的环境变量设置:
-
uv
是一个快速的 Python 包管理器和环境管理工具 -
如果在本地运行环境中使用 uv,需要在这里设置它的实际路径
-
如果不设置此路径,系统会通过运行 Python 代码
from uv._find_uv import find_uv_bin; print(find_uv_bin())
自动查找 uv 可执行文件的位置 -
要启用此配置,只需取消注释并填入本地 uv 工具的路径
这个设置对于使用 uv 替代传统 pip 来管理 Python 依赖项时很重要。
3.Python环境初始化超时时间
这两行代码定义了 Python 环境初始化的超时设置:
# python environment init timeout, if the python environment init process is not finished within this time, it will be killed
PYTHON_ENV_INIT_TIMEOUT=120
-
PYTHON_ENV_INIT_TIMEOUT=120
指定了 Python 环境初始化的最大允许时间为 120 秒(2分钟) -
注释说明如果 Python 环境在这个时间内未能完成初始化,则该进程将被终止
这是一个安全机制,防止环境初始化过程无限期挂起或卡住,从而避免系统资源被长时间占用。如果环境初始化需要更长时间,可以增加这个值;如果需要更快的失败响应,可以减小这个值。
说明:如果考虑到网络超时等问题,可适当增大该环境变量的值。
十二.调试和安全配置
1.PPROF调试功能(当前关闭)
这部分代码是环境配置文件中关于Go语言性能分析工具pprof的设置,在生产环境中通常保持禁用状态,仅在需要调试性能问题时临时启用。
# pprof enabled, for debugging
PPROF_ENABLED=false
这两行配置说明:
-
注释指明该配置用于启用pprof进行调试
-
PPROF_ENABLED=false
表示当前禁用了pprof功能
pprof是Go语言内置的性能分析工具,可用于分析应用程序的CPU使用率、内存分配、goroutine状态等性能指标。当设置为true
时,应用程序会开启一个HTTP端点暴露这些性能数据,方便开发者进行性能调优和问题排查。
2.签名验证强制开关(当前关闭)
这个配置是插件安全管理的重要部分,通常建议在生产环境中将其设置为 true
。
# FORCE_VERIFYING_SIGNATURE, for security, you should set this to true, pls be sure you know what you are doing
# if want to install plugin without verifying signature, set this to false
FORCE_VERIFYING_SIGNATURE=false
这几行代码是关于插件签名验证的配置:
-
FORCE_VERIFYING_SIGNATURE
是一个安全相关的环境变量 -
当设置为
true
时,系统会强制验证插件的签名,这是提高安全性的推荐设置 -
当设置为
false
时(如当前配置),系统允许安装未经签名验证的插件,这可能存在安全风险 -
注释提醒用户在更改此设置时要谨慎,确保了解可能的安全影响
3.第三方签名验证配置
这些设置主要用于增强插件系统的安全性,让系统可以使用官方公钥以外的其它可信公钥来验证插件签名。
# Enable or disable third-party signature verification for plugins
# Set to "true" to allow verification using additional public keys specified in THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS
THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED=false
# A comma-separated list of file paths to public keys in addition to the official public key for signature verification
THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS=
这段配置主要与插件的第三方签名验证功能相关:
-
THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED=false
:控制是否启用第三方签名验证功能。当前设置为”false”,表示该功能已禁用。如果启用(设为true),系统将接受使用额外指定的公钥来验证插件签名。 -
THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS=
:用于指定额外的公钥文件路径,这些公钥会与官方公钥一起用于验证插件签名。当前为空值,表示没有配置任何第三方公钥。如果需要配置多个公钥,应使用逗号分隔各文件路径。
十三.代理设置
这段代码定义了HTTP和HTTPS网络代理的环境变量配置:
# proxy settings, example: HTTP_PROXY=http://host.docker.internal:7890
HTTP_PROXY=
HTTPS_PROXY=
-
注释提供了一个代理设置的示例格式,即在Docker容器中使用主机代理(
host.docker.internal:7890
) -
HTTP_PROXY
环境变量当前为空值,用于配置HTTP请求的代理服务器 -
HTTPS_PROXY
环境变量当前为空值,用于配置HTTPS请求的代理服务器
十四.缓冲区和超时设置
1.插件标准IO缓冲区大小配置
这三行代码配置了插件标准输入输出(stdio)的缓冲区大小参数:
# plugin stdio buffer size
PLUGIN_STDIO_BUFFER_SIZE=1024
PLUGIN_STDIO_MAX_BUFFER_SIZE=5242880
-
注释说明了接下来两个参数的用途:配置插件标准输入输出的缓冲区大小
-
PLUGIN_STDIO_BUFFER_SIZE=1024
– 设置插件的标准输入输出初始缓冲区大小为1024字节(1KB),这是系统处理插件输入输出时默认分配的缓冲区大小 -
PLUGIN_STDIO_MAX_BUFFER_SIZE=5242880
– 设置插件的标准输入输出最大缓冲区大小为约5MB,这是缓冲区可以增长到的上限
这些参数对于控制插件与系统之间的数据交换性能很重要,合理的缓冲区大小设置可以平衡内存使用和通信效率。
2.Dify反向调用的读写超时时间
这部分配置项定义了Dify平台的反向调用超时设置:
# dify backwards invocation write timeout in milliseconds
DIFY_BACKWARDS_INVOCATION_WRITE_TIMEOUT=5000
# dify backwards invocation read timeout in milliseconds
DIFY_BACKWARDS_INVOCATION_READ_TIMEOUT=240000
-
DIFY_BACKWARDS_INVOCATION_WRITE_TIMEOUT=5000
: -
插件向Dify平台发送请求数据的超时时间,即Write是”插件写入请求到Dify平台”的超时
-
值为5000毫秒(5秒)
-
如果在此时间内无法完成数据发送,连接将被中断
-
DIFY_BACKWARDS_INVOCATION_READ_TIMEOUT=240000
: -
插件等待接收Dify平台响应的超时时间,即Read是”插件读取Dify平台响应”的超时
-
值为240000毫秒(4分钟)
-
用于较长时间运行的插件处理,超过此时间将视为超时
这些参数对插件集成的稳定性和故障恢复至关重要,特别是在处理耗时较长的操作时。
注解:反向指的是插件调用Dify平台,正向指的是Dify平台调用插件。
Dify插件的反向调用能力,即插件可以调用Dify主平台内的指定服务。四类可被调用的模块:App(访问App数据)、Model(调用平台内的模型能力)、Tool(调用平台内的其他工具插件)和Node(调用Chatflow/Workflow应用内的节点)。插件可以自由调用 Dify 主平台内的部分服务,用以提升插件的能力。
参考文献:反向调用Dify服务:https://docs.dify.ai/plugin-dev-zh/9241-reverse-invocation
参考文献:
[1] dify-plugin-daemon.env配置文件:https://z0yrmerhgi8.feishu.cn/wiki/BBxVwKaFZiBDp5kbb6WcI5Qmnmb
知识星球服务内容:Dify源码剖析及答疑,Dify对话系统源码,NLP电子书籍报告下载,公众号所有付费资料。加微信buxingtianxia21进NLP工程化资料群。
(文:NLP工程化)