feat(web): 增加节点分组
This commit is contained in:
@@ -14,7 +14,7 @@ const inputVariableChecker: NodeChecker = (id, inputSchema, nodes, edges, data)
|
||||
if (!isEmpty(inputs)) {
|
||||
let outputVariables = new Set([
|
||||
...getAllIncomerNodeOutputVariables(id, nodes, edges, data).map(i => `${i.id}.${i.variable}`),
|
||||
...Object.keys(inputSchema)
|
||||
...Object.keys(inputSchema),
|
||||
])
|
||||
for (const key of Object.keys(inputs)) {
|
||||
let variable = inputs[key]?.variable ?? ''
|
||||
@@ -31,43 +31,55 @@ const inputVariableChecker: NodeChecker = (id, inputSchema, nodes, edges, data)
|
||||
}
|
||||
|
||||
type NodeDefine = {
|
||||
key: string,
|
||||
group: string,
|
||||
name: string,
|
||||
description: string,
|
||||
component: any,
|
||||
checkers: NodeChecker[],
|
||||
}
|
||||
|
||||
const NodeRegistry: Record<string, NodeDefine> = {
|
||||
'output-node': {
|
||||
name: '输出',
|
||||
description: '定义输出变量',
|
||||
component: OutputNode,
|
||||
checkers: [inputVariableChecker],
|
||||
},
|
||||
'llm-node': {
|
||||
export const NodeRegistry: NodeDefine[] = [
|
||||
{
|
||||
key: 'llm-node',
|
||||
group: '普通节点',
|
||||
name: '大模型',
|
||||
description: '使用大模型对话',
|
||||
component: LlmNode,
|
||||
checkers: [inputVariableChecker],
|
||||
},
|
||||
'knowledge-node': {
|
||||
{
|
||||
key: 'knowledge-node',
|
||||
group: '普通节点',
|
||||
name: '知识库',
|
||||
description: '',
|
||||
component: KnowledgeNode,
|
||||
checkers: [inputVariableChecker],
|
||||
},
|
||||
'code-node': {
|
||||
{
|
||||
key: 'code-node',
|
||||
group: '普通节点',
|
||||
name: '代码执行',
|
||||
description: '执行自定义的处理代码',
|
||||
component: CodeNode,
|
||||
checkers: [inputVariableChecker],
|
||||
},
|
||||
'switch-node': {
|
||||
name: '分支节点',
|
||||
{
|
||||
key: 'switch-node',
|
||||
group: '逻辑节点',
|
||||
name: '分支',
|
||||
description: '根据不同的情况前往不同的分支',
|
||||
component: SwitchNode,
|
||||
checkers: [],
|
||||
},
|
||||
}
|
||||
{
|
||||
key: 'output-node',
|
||||
group: '输出节点',
|
||||
name: '输出',
|
||||
description: '定义输出变量',
|
||||
component: OutputNode,
|
||||
checkers: [inputVariableChecker],
|
||||
},
|
||||
]
|
||||
|
||||
export default NodeRegistry
|
||||
export const NodeRegistryMap: Record<string, NodeDefine> = NodeRegistry.reduce((a, v) => ({...a, [v.key]: v}), {})
|
||||
|
||||
Reference in New Issue
Block a user