This plugin is installed from GitHub. Please go to Plugins to reinstall
+
{
strategy
?
-
// TODO: list empty need a icon
diff --git a/web/app/components/workflow/nodes/_base/components/install-plugin-button.tsx b/web/app/components/workflow/nodes/_base/components/install-plugin-button.tsx
index 08095b8e0b..1ae5fab864 100644
--- a/web/app/components/workflow/nodes/_base/components/install-plugin-button.tsx
+++ b/web/app/components/workflow/nodes/_base/components/install-plugin-button.tsx
@@ -2,14 +2,15 @@ import Button from '@/app/components/base/button'
import { RiInstallLine, RiLoader2Line } from '@remixicon/react'
import type { ComponentProps } from 'react'
import classNames from '@/utils/classnames'
+import { useTranslation } from 'react-i18next'
type InstallPluginButtonProps = Omit
, 'children'>
export const InstallPluginButton = (props: InstallPluginButtonProps) => {
const { loading, className, ...rest } = props
- // TODO: add i18n label
+ const { t } = useTranslation()
return
}
diff --git a/web/app/components/workflow/nodes/agent/panel.tsx b/web/app/components/workflow/nodes/agent/panel.tsx
index 54c42c9953..277c745fe1 100644
--- a/web/app/components/workflow/nodes/agent/panel.tsx
+++ b/web/app/components/workflow/nodes/agent/panel.tsx
@@ -289,7 +289,6 @@ const AgentPanel: FC> = (props) => {
...inputs,
agent_parameters: value,
})}
- nodeId={props.id}
/>
diff --git a/web/app/components/workflow/run/utils/format-log/iteration/data.ts b/web/app/components/workflow/run/utils/format-log/iteration/data.ts
index 17c85ab48c..54ad8c4dd1 100644
--- a/web/app/components/workflow/run/utils/format-log/iteration/data.ts
+++ b/web/app/components/workflow/run/utils/format-log/iteration/data.ts
@@ -1,112 +1,80 @@
-export const simpleIterationData = {
+export const simpleIterationData = (() => {
// start -> code(output: [1, 2, 3]) -> iteration(output: ['aaa', 'aaa', 'aaa']) -> end(output: ['aaa', 'aaa', 'aaa'])
- in: [
- {
- id: '36c9860a-39e6-4107-b750-655b07895f47',
- index: 1,
- predecessor_node_id: null,
- node_id: '1735023354069',
- node_type: 'start',
- title: 'Start',
- inputs: {
- 'sys.files': [],
- 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7',
- 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080',
- 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d',
- },
- process_data: null,
- outputs: {
- 'sys.files': [],
- 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7',
- 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080',
- 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d',
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.011458,
- execution_metadata: null,
- extras: {},
- created_at: 1735023510,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023510,
+ const startNode = {
+ id: '36c9860a-39e6-4107-b750-655b07895f47',
+ index: 1,
+ predecessor_node_id: null,
+ node_id: '1735023354069',
+ node_type: 'start',
+ title: 'Start',
+ inputs: {
+ 'sys.files': [],
+ 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
+ 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7',
+ 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080',
+ 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d',
},
- {
- id: 'a3105c5d-ff9e-44ea-9f4c-ab428958af20',
- index: 2,
- predecessor_node_id: '1735023354069',
- node_id: '1735023361224',
- node_type: 'code',
- title: 'Code',
- inputs: null,
- process_data: null,
- outputs: {
- result: [
- 1,
- 2,
- 3,
- ],
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.103333,
- execution_metadata: null,
- extras: {},
- created_at: 1735023510,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
+ process_data: null,
+ outputs: {
+ 'sys.files': [],
+ 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
+ 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7',
+ 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080',
+ 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d',
},
- {
- id: 'a823134d-9f1a-45a4-8977-db838d076316',
- index: 3,
- predecessor_node_id: '1735023361224',
- node_id: '1735023391914',
- node_type: 'iteration',
- title: 'Iteration',
- inputs: null,
- process_data: null,
- outputs: {
- output: [
- 'aaa',
- 'aaa',
- 'aaa',
- ],
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.408383,
- execution_metadata: {
- iteration_duration_map: {
- 0: 0.118153,
- 1: 0.135956,
- 2: 0.128251,
- },
- total_tokens: 0,
- },
- extras: {},
- created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
+ status: 'succeeded',
+ error: null,
+ elapsed_time: 0.011458,
+ execution_metadata: null,
+ extras: {},
+ created_by_end_user: null,
+ finished_at: 1735023510,
+ }
+
+ const outputArrayNode = {
+ id: 'a3105c5d-ff9e-44ea-9f4c-ab428958af20',
+ index: 2,
+ predecessor_node_id: '1735023354069',
+ node_id: '1735023361224',
+ node_type: 'code',
+ title: 'Code',
+ inputs: null,
+ process_data: null,
+ outputs: {
+ result: [
+ 1,
+ 2,
+ 3,
+ ],
},
+ status: 'succeeded',
+ error: null,
+ elapsed_time: 0.103333,
+ execution_metadata: null,
+ extras: {},
+ finished_at: 1735023511,
+ }
+
+ const iterationNode = {
+ id: 'a823134d-9f1a-45a4-8977-db838d076316',
+ index: 3,
+ predecessor_node_id: '1735023361224',
+ node_id: '1735023391914',
+ node_type: 'iteration',
+ title: 'Iteration',
+ inputs: null,
+ process_data: null,
+ outputs: {
+ output: [
+ 'aaa',
+ 'aaa',
+ 'aaa',
+ ],
+ },
+
+ }
+
+ const iterations = [
{
id: 'a84a22d8-0f08-4006-bee2-fa7a7aef0420',
index: 4,
@@ -128,13 +96,6 @@ export const simpleIterationData = {
},
extras: {},
created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
finished_at: 1735023511,
},
{
@@ -158,13 +119,6 @@ export const simpleIterationData = {
},
extras: {},
created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
finished_at: 1735023511,
},
{
@@ -188,294 +142,49 @@ export const simpleIterationData = {
},
extras: {},
created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
finished_at: 1735023511,
},
- {
- id: 'e6ad6560-1aa3-43f3-89e3-e5287c9ea272',
- index: 7,
- predecessor_node_id: '1735023391914',
- node_id: '1735023417757',
- node_type: 'end',
- title: 'End',
- inputs: {
- output: [
- 'aaa',
- 'aaa',
- 'aaa',
- ],
- },
- process_data: null,
- outputs: {
- output: [
- 'aaa',
- 'aaa',
- 'aaa',
- ],
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.017552,
- execution_metadata: null,
- extras: {},
- created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
- },
- ],
- output: [
- {
- id: '36c9860a-39e6-4107-b750-655b07895f47',
- index: 1,
- predecessor_node_id: null,
- node_id: '1735023354069',
- node_type: 'start',
- title: 'Start',
- inputs: {
- 'sys.files': [],
- 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7',
- 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080',
- 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d',
- },
- process_data: null,
- outputs: {
- 'sys.files': [],
- 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7',
- 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080',
- 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d',
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.011458,
- execution_metadata: null,
- extras: {},
- created_at: 1735023510,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023510,
- },
- {
- id: 'a3105c5d-ff9e-44ea-9f4c-ab428958af20',
- index: 2,
- predecessor_node_id: '1735023354069',
- node_id: '1735023361224',
- node_type: 'code',
- title: 'Code',
- inputs: null,
- process_data: null,
- outputs: {
- result: [
- 1,
- 2,
- 3,
- ],
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.103333,
- execution_metadata: null,
- extras: {},
- created_at: 1735023510,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
- },
- {
- id: 'a823134d-9f1a-45a4-8977-db838d076316',
- index: 3,
- predecessor_node_id: '1735023361224',
- node_id: '1735023391914',
- node_type: 'iteration',
- title: 'Iteration',
- inputs: null,
- process_data: null,
- outputs: {
- output: [
- 'aaa',
- 'aaa',
- 'aaa',
- ],
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.408383,
- execution_metadata: {
- iteration_duration_map: {
- 0: 0.118153,
- 1: 0.135956,
- 2: 0.128251,
- },
- total_tokens: 0,
- },
- extras: {},
- created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
- details: [
- [
- {
- id: 'a84a22d8-0f08-4006-bee2-fa7a7aef0420',
- index: 4,
- predecessor_node_id: '1735023391914start',
- node_id: '1735023409906',
- node_type: 'code',
- title: 'Code 2',
- inputs: null,
- process_data: null,
- outputs: {
- result: 'aaa',
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.112688,
- execution_metadata: {
- iteration_id: '1735023391914',
- iteration_index: 0,
- },
- extras: {},
- created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
- },
- ],
- [
- {
- id: 'ff71d773-a916-4513-960f-d7dcc4fadd86',
- index: 5,
- predecessor_node_id: '1735023391914start',
- node_id: '1735023409906',
- node_type: 'code',
- title: 'Code 2',
- inputs: null,
- process_data: null,
- outputs: {
- result: 'aaa',
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.126034,
- execution_metadata: {
- iteration_id: '1735023391914',
- iteration_index: 1,
- },
- extras: {},
- created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
- },
- ],
- [
- {
- id: 'd91c3ef9-0162-4013-9272-d4cc7fb1f188',
- index: 6,
- predecessor_node_id: '1735023391914start',
- node_id: '1735023409906',
- node_type: 'code',
- title: 'Code 2',
- inputs: null,
- process_data: null,
- outputs: {
- result: 'aaa',
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.122716,
- execution_metadata: {
- iteration_id: '1735023391914',
- iteration_index: 2,
- },
- extras: {},
- created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
- },
- ],
+ ]
+
+ const endNode = {
+ id: 'e6ad6560-1aa3-43f3-89e3-e5287c9ea272',
+ index: 7,
+ predecessor_node_id: '1735023391914',
+ node_id: '1735023417757',
+ node_type: 'end',
+ title: 'End',
+ inputs: {
+ output: [
+ 'aaa',
+ 'aaa',
+ 'aaa',
],
},
- {
- id: 'e6ad6560-1aa3-43f3-89e3-e5287c9ea272',
- index: 7,
- predecessor_node_id: '1735023391914',
- node_id: '1735023417757',
- node_type: 'end',
- title: 'End',
- inputs: {
- output: [
- 'aaa',
- 'aaa',
- 'aaa',
- ],
- },
- process_data: null,
- outputs: {
- output: [
- 'aaa',
- 'aaa',
- 'aaa',
- ],
- },
- status: 'succeeded',
- error: null,
- elapsed_time: 0.017552,
- execution_metadata: null,
- extras: {},
- created_at: 1735023511,
- created_by_role: 'account',
- created_by_account: {
- id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96',
- name: 'Joel',
- email: 'iamjoel007@gmail.com',
- },
- created_by_end_user: null,
- finished_at: 1735023511,
+ process_data: null,
+ outputs: {
+ output: [
+ 'aaa',
+ 'aaa',
+ 'aaa',
+ ],
},
- ],
-}
+ status: 'succeeded',
+ error: null,
+ elapsed_time: 0.017552,
+ execution_metadata: null,
+ extras: {},
+ finished_at: 1735023511,
+ }
+
+ return {
+ in: [startNode, outputArrayNode, iterationNode, ...iterations, endNode],
+ output: [startNode, outputArrayNode, {
+ ...iterationNode,
+ details: [
+ [iterations[0]],
+ [iterations[1]],
+ [iterations[2]],
+ ],
+ }, endNode],
+ }
+})()
diff --git a/web/app/components/workflow/run/utils/format-log/iteration/index.spec.ts b/web/app/components/workflow/run/utils/format-log/iteration/index.spec.ts
index eb61902e18..4bcbcf53e8 100644
--- a/web/app/components/workflow/run/utils/format-log/iteration/index.spec.ts
+++ b/web/app/components/workflow/run/utils/format-log/iteration/index.spec.ts
@@ -2,8 +2,9 @@ import format from '.'
import { simpleIterationData } from './data'
describe('format api data to tracing panel data', () => {
+ // test('result should have no nodes in iteration node', () => {
+ // }
test('iteration should put nodes in details', () => {
- // console.log(format(simpleIterationData.in as any))
expect(format(simpleIterationData.in as any)).toEqual(simpleIterationData.output)
})
})
diff --git a/web/i18n/en-US/workflow.ts b/web/i18n/en-US/workflow.ts
index d651f038c6..2566dc67e5 100644
--- a/web/i18n/en-US/workflow.ts
+++ b/web/i18n/en-US/workflow.ts
@@ -703,6 +703,13 @@ const translation = {
configureTipDesc: 'After configuring the agentic strategy, this node will automatically load the remaining configurations. The strategy will affect the mechanism of multi-step tool reasoning. ',
},
learnMore: 'Learn more',
+ pluginNotInstalled: 'This plugin is not installed',
+ pluginNotInstalledDesc: 'This plugin is installed from GitHub. Please go to Plugins to reinstall',
+ linkToPlugin: 'Link to Plugins',
+ pluginInstaller: {
+ install: 'Install',
+ installing: 'Installing',
+ },
},
},
tracing: {
diff --git a/web/i18n/zh-Hans/workflow.ts b/web/i18n/zh-Hans/workflow.ts
index 37e84d5ee6..f2e1cf4881 100644
--- a/web/i18n/zh-Hans/workflow.ts
+++ b/web/i18n/zh-Hans/workflow.ts
@@ -703,6 +703,13 @@ const translation = {
configureTipDesc: '配置完成后,此节点将自动加载剩余配置。策略将影响多步工具推理的机制。',
},
learnMore: '了解更多',
+ pluginNotInstalled: '插件未安装',
+ pluginNotInstalledDesc: '此插件是从 GitHub 安装的。请转到插件重新安装',
+ linkToPlugin: '转到插件',
+ pluginInstaller: {
+ install: '安装',
+ installing: '安装中',
+ },
},
},
tracing: {