发布 v1.10 #5

Merged
czm merged 147 commits from develop into main 2026-08-20 11:36:27 +08:00
Showing only changes of commit 9c3badc55c - Show all commits

View File

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