diff --git a/easyflow-ui-admin/packages/tinyflow-ui/src/components/nodes/LLMNode.svelte b/easyflow-ui-admin/packages/tinyflow-ui/src/components/nodes/LLMNode.svelte
index 023a945b..322ceb88 100644
--- a/easyflow-ui-admin/packages/tinyflow-ui/src/components/nodes/LLMNode.svelte
+++ b/easyflow-ui-admin/packages/tinyflow-ui/src/components/nodes/LLMNode.svelte
@@ -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 @@