feat: 支持自定义 Dify 工作流文本输入变量名 #441

This commit is contained in:
Soulter
2025-02-14 15:41:02 +08:00
parent 595b83a256
commit a4bfa96502
2 changed files with 11 additions and 1 deletions
+7
View File
@@ -496,6 +496,7 @@ CONFIG_METADATA_2 = {
"dify_api_key": "",
"dify_api_base": "https://api.dify.ai/v1",
"dify_workflow_output_key": "",
"dify_query_input_key": "astrbot_text_query",
"timeout": 60,
},
"whisper(API)": {
@@ -647,6 +648,12 @@ CONFIG_METADATA_2 = {
"type": "string",
"hint": "Dify Workflow 输出变量名。当应用类型为 workflow 时才使用。默认为 astrbot_wf_output。",
},
"dify_query_input_key": {
"description": "Prompt 输入变量名",
"type": "string",
"hint": "发送的消息文本内容对应的输入变量名。默认为 astrbot_text_query。",
"obvious": True,
}
},
},
"provider_settings": {
+4 -1
View File
@@ -31,6 +31,9 @@ class ProviderDify(Provider):
raise Exception("Dify API 类型不能为空。")
self.model_name = "dify"
self.workflow_output_key = provider_config.get("dify_workflow_output_key", "astrbot_wf_output")
self.dify_query_input_key = provider_config.get("dify_query_input_key", "astrbot_text_query")
if not self.dify_query_input_key:
self.dify_query_input_key = "astrbot_text_query"
self.timeout = provider_config.get("timeout", 120)
if isinstance(self.timeout, str):
self.timeout = int(self.timeout)
@@ -95,7 +98,7 @@ class ProviderDify(Provider):
case "workflow":
async for chunk in self.api_client.workflow_run(
inputs={
"astrbot_text_query": prompt,
self.dify_query_input_key: prompt,
"astrbot_session_id": session_id,
**session_var
},