fix: 按下游查询节点控制 LLM 配置显示

- 仅展示可绑定的下游数据查询节点,无候选时隐藏查询数据信息

- 移除模型设置下的冗余模型标签
This commit is contained in:
2026-07-29 16:18:58 +08:00
parent d45c67a317
commit 9c3badc55c

View File

@@ -15,6 +15,7 @@
import ParamTokenEditor from '../core/ParamTokenEditor.svelte';
import {
buildEditorReferenceParameters,
collectDownstreamNodeIds,
FIELD_BINDING_META_KEY,
syncManagedParametersForFields,
updateFieldBindingMeta,
@@ -29,6 +30,9 @@
let currentNode = useNodesData(currentNodeId);
const { addParameter } = useAddParameter();
const { nodes, edges } = $derived(useStore());
const downstreamNodeIds = $derived.by(() => {
return new Set(collectDownstreamNodeIds(currentNodeId, edges || []));
});
const editorParameters = $derived.by(() => {
const parameters = buildEditorReferenceParameters(
currentNodeId,
@@ -52,7 +56,9 @@
});
const queryContextOptions = $derived.by(() => {
return (nodes || [])
.filter((node: any) => node?.id !== currentNodeId && node?.type === 'search-dataset-node')
.filter((node: any) =>
downstreamNodeIds.has(node?.id) && node?.type === 'search-dataset-node'
)
.map((node: any) => ({
label: node?.data?.title || '查询数据',
value: node.id,
@@ -215,22 +221,23 @@
<RefParameterList dataKeyName="images" noneParameterText="无图片参数" />
<Heading level={3} mt="10px">查询数据信息</Heading>
<div class="setting-item">
<Select
items={queryContextOptions}
multiple={true}
style="width: 100%"
placeholder="请选择查询数据节点"
onSelect={(item)=>{
toggleQueryContextNode(String(item.value));
}}
value={queryContextNodeIds}
/>
</div>
{#if queryContextOptions.length > 0}
<Heading level={3} mt="10px">查询数据信息</Heading>
<div class="setting-item">
<Select
items={queryContextOptions}
multiple={true}
style="width: 100%"
placeholder="请选择查询数据节点"
onSelect={(item)=>{
toggleQueryContextNode(String(item.value));
}}
value={queryContextNodeIds}
/>
</div>
{/if}
<Heading level={3} mt="10px">模型设置</Heading>
<div class="setting-title">模型</div>
<div class="setting-item">
<Select items={llmArray} variant="model" style="width: 100%" placeholder="请选择模型" onSelect={(item)=>{
const newValue = item.value;