diff --git a/src/components/dialoguePanel/DialogueFlow.vue b/src/components/dialoguePanel/DialogueFlow.vue
index 0eaed35b17354edb5b902641bbda448ac8bea13e..046a08f3d1f58bdefea9cce782b2fdd0b6862aec 100644
--- a/src/components/dialoguePanel/DialogueFlow.vue
+++ b/src/components/dialoguePanel/DialogueFlow.vue
@@ -57,7 +57,11 @@ function getRiskType(risk) {
}
const doFlow = async (type) => {
+ // 🔑 修复:确保taskId存在才发送请求
if (taskId.value) {
+ // 先保存taskId,防止在请求过程中被清空
+ const currentTaskIdValue = taskId.value;
+
exData.value.pop();
taskId.value = null;
let content = '';
@@ -68,10 +72,12 @@ const doFlow = async (type) => {
undefined,
undefined,
undefined,
- { params: type },
+ { params: type, taskId: currentTaskIdValue }, // 🔑 显式传递taskId
null,
'wait',
);
+ } else {
+ console.warn('taskId不存在,无法发送请求');
}
};
@@ -84,7 +90,11 @@ const doParams = async (params) => {
let description = params.description;
delete params.description;
let newParams = { content: params, description: description };
+ // 🔑 修复:确保taskId存在才发送请求
if (taskId.value) {
+ // 先保存taskId,防止在请求过程中被清空
+ const currentTaskIdValue = taskId.value;
+
taskId.value = null;
let content = '';
await sendQuestion(
@@ -94,11 +104,13 @@ const doParams = async (params) => {
undefined,
undefined,
undefined,
- newParams,
+ { ...newParams, taskId: currentTaskIdValue }, // 🔑 显式传递taskId
null,
'params',
);
exParam.value[paramIndex.value].status = true;
+ } else {
+ console.warn('taskId不存在,无法发送请求');
}
};
@@ -114,9 +126,21 @@ watch(
}
if (props.flowdata?.taskId) {
if (props.flowdata?.data.exParam) {
- exParam.value.push(props.flowdata?.data.exParam);
- } else {
- exData.value.push(props.flowdata?.data.exData);
+ // 🔑 去重检查:避免重复添加exParam
+ const isDuplicateParam = exParam.value.some(
+ (item) => JSON.stringify(item) === JSON.stringify(props.flowdata?.data.exParam)
+ );
+ if (!isDuplicateParam) {
+ exParam.value.push(props.flowdata?.data.exParam);
+ }
+ } else if (props.flowdata?.data.exData) {
+ // 🔑 去重检查:避免重复添加exData
+ const isDuplicateData = exData.value.some(
+ (item) => JSON.stringify(item) === JSON.stringify(props.flowdata?.data.exData)
+ );
+ if (!isDuplicateData) {
+ exData.value.push(props.flowdata?.data.exData);
+ }
}
taskId.value = props.flowdata?.taskId;
} else {
@@ -240,11 +264,9 @@ watch(
:key="$index"
class="6645ds"
>
-
- {{ p }}
-
+
diff --git a/src/store/conversation.ts b/src/store/conversation.ts
index 3570c8ff664f4b6b3e203d88d46de6b48cd22c41..0b0f11ed6c3eac0cfe1ce3ad00b91a426499e1d8 100644
--- a/src/store/conversation.ts
+++ b/src/store/conversation.ts
@@ -533,9 +533,17 @@ export const useSessionStore = defineStore('conversation', () => {
innerParams: Record,
fetchParams: Record,
) => {
+ // 🔑 修复:优先使用params中的taskId,如果没有则使用currentTaskId
+ const taskIdToUse = params.taskId || currentTaskId.value;
+
+ if (!taskIdToUse) {
+ console.error('fetchWait: taskId不存在,无法发送请求');
+ return;
+ }
+
await fetchEventSource(url, {
...fetchParams,
- body: JSON.stringify({ taskId: currentTaskId.value, params: params }),
+ body: JSON.stringify({ taskId: taskIdToUse, params: params }),
openWhenHidden: true,
});
},
diff --git a/src/views/createapp/components/AgentAppConfig.vue b/src/views/createapp/components/AgentAppConfig.vue
index f1ce96f3607a93c985255e665370b1c6dadaf1d2..828db97c76258a4dfc92c74375a40bd4b7f9b407 100644
--- a/src/views/createapp/components/AgentAppConfig.vue
+++ b/src/views/createapp/components/AgentAppConfig.vue
@@ -120,8 +120,8 @@ async function queryAgentConfig() {
createAppForm.permission = permission || createAppForm.permission;
// 如果有模型
createAppForm.model = llm?.llmId || '';
- // 如果有思维链配置
- createAppForm.enableThinking = enableThinking !== undefined ? enableThinking : true;
+ // 如果有思维链配置,直接使用后端返回的值
+ createAppForm.enableThinking = enableThinking !== undefined ? enableThinking : false;
}
loading.value = false;
}
@@ -188,7 +188,8 @@ async function queryModelList() {
const [, res] = await api.getAddedModels('function_call');
if (res) {
modelOptions.value = res.result;
- if (modelOptions.value.length > 0) {
+ // 仅在创建新应用时(没有 appId)才设置默认模型和思维链
+ if (modelOptions.value.length > 0 && !route.query?.appId) {
// 优先使用用户偏好的函数调用模型
const preferredModel = getPreferredFunctionCallModel(modelOptions.value);
if (preferredModel) {
@@ -234,6 +235,8 @@ watch(
() => createAppForm.model,
(newModelId) => {
if (!newModelId) return;
+ // 仅在创建新应用时(没有 appId)才自动更新 enableThinking
+ if (route.query?.appId) return;
const selectedModel = modelOptions.value.find(m => m.llmId === newModelId);
if (selectedModel?.canToggleThinking) {
diff --git a/src/views/createapp/components/appConfig.vue b/src/views/createapp/components/appConfig.vue
index ea33d465d5f5c68b7e07061bd894ec3f5f14ee3d..3a2b230aa3799c632caa51b594ef163fdafb98a8 100644
--- a/src/views/createapp/components/appConfig.vue
+++ b/src/views/createapp/components/appConfig.vue
@@ -209,7 +209,8 @@ async function queryModelList() {
const [, res] = await api.getAddedModels('function_call');
if (res) {
modelOptions.value = res.result;
- if (modelOptions.value.length > 0 && !createAppForm.value.model) {
+ // 仅在创建新应用时(没有 appId)才设置默认模型
+ if (modelOptions.value.length > 0 && !route.query?.appId && !createAppForm.value.model) {
// 优先使用用户偏好的函数调用模型
const preferredModel = getPreferredFunctionCallModel(modelOptions.value);
if (preferredModel) {
@@ -251,6 +252,8 @@ watch(
() => createAppForm.value.model,
(newModelId) => {
if (!newModelId) return;
+ // 仅在创建新应用时(没有 appId)才自动更新 enableThinking
+ if (route.query?.appId) return;
// 模型切换时,始终将思维链重置为关闭状态
createAppForm.value.enableThinking = false;
@@ -264,6 +267,7 @@ onMounted(async () => {
// 判断是否编辑--是否需要查询回显数据
if (route.query?.appId) {
loading.value = true;
+ isLoadingConfig.value = true; // 标记正在加载配置
api
.querySingleAppData({
id: route.query?.appId as string,
@@ -291,6 +295,7 @@ onMounted(async () => {
emits('getFlowList', flowDataList.value);
}
loading.value = false;
+ isLoadingConfig.value = false; // 加载配置完成
});
}
// 获取当前权限配置-部分人可见的部分人列表数据
diff --git a/src/views/settings/components/AddModel.vue b/src/views/settings/components/AddModel.vue
index a5a3c959db2ff7d581d0314ce02c212229067185..891b5a48da3ca99988a91f920c52fb4f252dc5c0 100644
--- a/src/views/settings/components/AddModel.vue
+++ b/src/views/settings/components/AddModel.vue
@@ -129,6 +129,7 @@ watch(
}
if (props.model) {
+ // 编辑模式:使用模型自己的数据
const { openaiApiKey, openaiBaseUrl, maxTokens, modelName, type, provider } =
props.model;
form.value = {
@@ -139,8 +140,8 @@ watch(
type: type ? (Array.isArray(type) ? type : [type]) : [],
provider: provider,
};
- }
- if (props.provider) {
+ } else if (props.provider) {
+ // 新增模式:使用provider的预设URL
form.value.url = props.provider.url;
form.value.provider = props.provider.provider;
}