diff --git a/packages/global/core/workflow/template/input.ts b/packages/global/core/workflow/template/input.ts
index 5d70d6391..49a0788a4 100644
--- a/packages/global/core/workflow/template/input.ts
+++ b/packages/global/core/workflow/template/input.ts
@@ -1,7 +1,7 @@
import { NodeInputKeyEnum } from '../constants';
import { FlowNodeInputTypeEnum } from '../node/constant';
import { WorkflowIOValueTypeEnum } from '../constants';
-import { chatNodeSystemPromptTip } from './tip';
+import { chatNodeSystemPromptTip, systemPromptTip } from './tip';
import { FlowNodeInputItemType } from '../type/io';
import { i18nT } from '../../../../web/i18n/utils';
@@ -55,7 +55,7 @@ export const Input_Template_System_Prompt: FlowNodeInputItemType = {
max: 3000,
valueType: WorkflowIOValueTypeEnum.string,
label: i18nT('common:core.ai.Prompt'),
- description: chatNodeSystemPromptTip,
+ description: systemPromptTip,
placeholder: chatNodeSystemPromptTip
};
diff --git a/packages/global/core/workflow/template/system/aiChat/index.ts b/packages/global/core/workflow/template/system/aiChat/index.ts
index e1d7d277e..99c606939 100644
--- a/packages/global/core/workflow/template/system/aiChat/index.ts
+++ b/packages/global/core/workflow/template/system/aiChat/index.ts
@@ -19,7 +19,7 @@ import {
Input_Template_UserChatInput,
Input_Template_Text_Quote
} from '../../input';
-import { chatNodeSystemPromptTip } from '../../tip';
+import { chatNodeSystemPromptTip, systemPromptTip } from '../../tip';
import { getHandleConfig } from '../../utils';
import { i18nT } from '../../../../../../web/i18n/utils';
@@ -94,7 +94,7 @@ export const AiChatModule: FlowNodeTemplateType = {
{
...Input_Template_System_Prompt,
label: i18nT('common:core.ai.Prompt'),
- description: chatNodeSystemPromptTip,
+ description: systemPromptTip,
placeholder: chatNodeSystemPromptTip
},
Input_Template_History,
diff --git a/packages/global/core/workflow/template/system/tools.ts b/packages/global/core/workflow/template/system/tools.ts
index c7e59f956..6c3315abb 100644
--- a/packages/global/core/workflow/template/system/tools.ts
+++ b/packages/global/core/workflow/template/system/tools.ts
@@ -16,7 +16,7 @@ import {
Input_Template_System_Prompt,
Input_Template_UserChatInput
} from '../input';
-import { chatNodeSystemPromptTip } from '../tip';
+import { chatNodeSystemPromptTip, systemPromptTip } from '../tip';
import { LLMModelTypeEnum } from '../../../ai/constants';
import { getHandleConfig } from '../utils';
import { i18nT } from '../../../../../web/i18n/utils';
@@ -62,7 +62,7 @@ export const ToolModule: FlowNodeTemplateType = {
{
...Input_Template_System_Prompt,
label: i18nT('common:core.ai.Prompt'),
- description: chatNodeSystemPromptTip,
+ description: systemPromptTip,
placeholder: chatNodeSystemPromptTip
},
Input_Template_History,
diff --git a/packages/global/core/workflow/template/tip.ts b/packages/global/core/workflow/template/tip.ts
index cec778c42..d02c64af6 100644
--- a/packages/global/core/workflow/template/tip.ts
+++ b/packages/global/core/workflow/template/tip.ts
@@ -1 +1,2 @@
export const chatNodeSystemPromptTip = 'core.app.tip.chatNodeSystemPromptTip';
+export const systemPromptTip = 'core.app.tip.systemPromptTip';
diff --git a/packages/web/components/common/Textarea/PromptEditor/Editor.tsx b/packages/web/components/common/Textarea/PromptEditor/Editor.tsx
index 3e0648907..c04bd11e0 100644
--- a/packages/web/components/common/Textarea/PromptEditor/Editor.tsx
+++ b/packages/web/components/common/Textarea/PromptEditor/Editor.tsx
@@ -32,9 +32,9 @@ import { useDeepCompareEffect } from 'ahooks';
import VariablePickerPlugin from './plugins/VariablePickerPlugin';
export default function Editor({
- h = 200,
+ minH = 200,
+ maxH = 400,
maxLength,
- showResize = true,
showOpenModal = true,
onOpenModal,
variables,
@@ -46,9 +46,9 @@ export default function Editor({
isFlow,
bg = 'white'
}: {
- h?: number;
+ minH?: number;
+ maxH?: number;
maxLength?: number;
- showResize?: boolean;
showOpenModal?: boolean;
onOpenModal?: () => void;
variables: EditorVariablePickerType[];
@@ -62,7 +62,6 @@ export default function Editor({
}) {
const [key, setKey] = useState(getNanoid(6));
const [_, startSts] = useTransition();
- const [height, setHeight] = useState(h);
const [focus, setFocus] = useState(false);
const initialConfig = {
@@ -74,25 +73,6 @@ export default function Editor({
}
};
- const initialY = useRef(0);
- const handleMouseDown = useCallback((e: React.MouseEvent) => {
- initialY.current = e.clientY;
-
- const handleMouseMove = (e: MouseEvent) => {
- const deltaY = e.clientY - initialY.current;
- setHeight((prevHeight) => (prevHeight + deltaY < h * 0.5 ? h * 0.5 : prevHeight + deltaY));
- initialY.current = e.clientY;
- };
-
- const handleMouseUp = () => {
- document.removeEventListener('mousemove', handleMouseMove);
- document.removeEventListener('mouseup', handleMouseUp);
- };
-
- document.addEventListener('mousemove', handleMouseMove);
- document.addEventListener('mouseup', handleMouseUp);
- }, []);
-
useDeepCompareEffect(() => {
if (focus) return;
setKey(getNanoid(6));
@@ -103,7 +83,6 @@ export default function Editor({
className="nowheel"
position={'relative'}
width={'full'}
- h={`${height}px`}
cursor={'text'}
color={'myGray.700'}
bg={focus ? 'white' : bg}
@@ -114,6 +93,10 @@ export default function Editor({
contentEditable={
}
placeholder={
@@ -158,19 +141,6 @@ export default function Editor({
0 ? [] : variables} />
- {showResize && (
-
-
-
- )}
{showOpenModal && (
void;
onBlur?: (text: string) => void;
- h?: number;
+ minH?: number;
+ maxH?: number;
maxLength?: number;
placeholder?: string;
title?: string;
@@ -58,12 +58,12 @@ const PromptEditor = ({
return (
<>
是标识每一帧字幕的标签,请严格按照对文本的分割逐帧翻译\n\n## Constraints:\n- 必须严格遵循四轮翻译流程:直译、意译、反思、提升\n- 译文要忠实原文,准确无误,不能遗漏或曲解原意\n- 最终译文使用Markdown的代码块呈现,但是不用输出markdown这个单词\n- 是标识每一帧字幕的标签,请严格按照对文本的分割逐帧翻译,每一帧字幕末尾不要加\\n 回车标识,且第一帧字幕开头不需要加标识\n\n## Goals:\n- 通过四轮翻译流程,将{{source_lang}}字幕译成高质量的{{target_lang}}字幕\n- 翻译的字幕要准确传达原字幕意思,语言表达力求浅显易懂,朗朗上口 \n\n## Workflow:\n1. 第一轮直译:严格按照逐句翻译,不遗漏任何信息\n2. 第二轮意译:在直译的基础上用通俗流畅的{{target_lang}}意译原文,逐句翻译,保留标识标签\n3. 第三轮反思:仔细审视译文,分点列出一份建设性的批评和有用的建议清单以改进翻译,对每一句话提出建议,从以下四个角度展开\n (i) 准确性(纠正添加、误译、遗漏或未翻译的文本错误),\n (ii) 流畅性(应用{{target_lang}}的语法、拼写和标点规则,并确保没有不必要的重复),\n (iii) 风格(确保翻译反映源文本的风格并考虑其文化背景),\n (iv) 术语(确保术语使用一致且反映源文本所在领域,注意确保使用{{target_lang}}中的等效习语)\n4. 第四轮提升:严格遵循第三轮提出的建议对翻译修改,定稿出一个简洁畅达、符合大众观影习惯的字幕译文,保留标识标签\n\n## OutputFormat:\n- 每一轮前用【思考】说明该轮要点\n- 第一轮和第二轮翻译后用【翻译】呈现译文\n- 第三轮输出建议清单,分点列出,在每一点前用*xxx*标识这条建议对应的要点,如*风格*;建议前用【思考】说明该轮要点,建议后用【建议】呈现建议\n- 第四轮在\\`\\`\\`代码块中展示最终{{target_lang}}字幕文件内容,如\\`\\`\\`xxx\\`\\`\\`\n\n## Suggestions:\n- 直译时力求忠实原文,但注意控制每帧字幕的字数,必要时进行精简压缩\n- 意译时在准确表达原意的基础上,用最朴实无华的{{target_lang}}来表达\n- 反思环节重点关注译文是否符合{{target_lang}}表达习惯,是否通俗易懂,是否准确流畅,是否术语一致\n- 提升环节采用反思环节的建议对意译环节的翻译进行修改,适度采用一些口语化的表达、网络流行语等,增强字幕的亲和力\n- 注意是很重要的标识标签,请确保标签能在正确位置输出"
},
diff --git a/projects/app/public/appMarketTemplates/timeBot/template.json b/projects/app/public/appMarketTemplates/timeBot/template.json
index cf74b82d2..79d5fc059 100644
--- a/projects/app/public/appMarketTemplates/timeBot/template.json
+++ b/projects/app/public/appMarketTemplates/timeBot/template.json
@@ -100,7 +100,7 @@
"max": 3000,
"valueType": "string",
"label": "core.ai.Prompt",
- "description": "core.app.tip.chatNodeSystemPromptTip",
+ "description": "core.app.tip.systemPromptTip",
"placeholder": "core.app.tip.chatNodeSystemPromptTip",
"value": ""
},
diff --git a/projects/app/src/components/core/app/DatasetParamsModal.tsx b/projects/app/src/components/core/app/DatasetParamsModal.tsx
index 854789d2f..251cc644d 100644
--- a/projects/app/src/components/core/app/DatasetParamsModal.tsx
+++ b/projects/app/src/components/core/app/DatasetParamsModal.tsx
@@ -318,7 +318,8 @@ const DatasetParamsModal = ({
{t('common:core.ai.Prompt')}
-
+
{
@@ -190,7 +191,7 @@ const EditForm = ({
}}
variableLabels={formatVariables}
variables={formatVariables}
- placeholder={t('common:core.app.tip.chatNodeSystemPromptTip')}
+ placeholder={t('common:core.app.tip.systemPromptTip')}
title={t('common:core.ai.Prompt')}
/>
diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx
index fa5c143cb..673683508 100644
--- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx
+++ b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx
@@ -701,7 +701,7 @@ const RenderBody = ({
}}
showOpenModal={false}
variableLabels={variables}
- h={200}
+ minH={200}
/>
)}
diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx
index af889da30..849c249ed 100644
--- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx
+++ b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx
@@ -12,8 +12,7 @@ import {
NumberInput,
NumberInputField,
NumberInputStepper,
- Switch,
- Textarea
+ Switch
} from '@chakra-ui/react';
import { TUpdateListItem } from '@fastgpt/global/core/workflow/template/system/variableUpdate/type';
import { NodeInputKeyEnum, WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants';
@@ -25,7 +24,6 @@ import {
} from '@fastgpt/global/core/workflow/node/constant';
import Container from '../components/Container';
import MyIcon from '@fastgpt/web/components/common/Icon';
-import JsonEditor from '@fastgpt/web/components/common/Textarea/JsonEditor';
import { SmallAddIcon } from '@chakra-ui/icons';
import MyTooltip from '@fastgpt/web/components/common/MyTooltip';
import { ReferenceValueProps } from '@fastgpt/global/core/workflow/type/io';
@@ -219,7 +217,7 @@ const NodeVariableUpdate = ({ data, selected }: NodeProps) =>
onChange={handleUpdate}
showOpenModal={false}
variableLabels={variables}
- h={100}
+ minH={100}
/>
);
@@ -251,7 +249,7 @@ const NodeVariableUpdate = ({ data, selected }: NodeProps) =>
onChange={handleUpdate}
showOpenModal={false}
variableLabels={variables}
- h={100}
+ minH={100}
/>
);
diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ConnectionHandle.tsx b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ConnectionHandle.tsx
index d6cc94c60..29b96f3c6 100644
--- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ConnectionHandle.tsx
+++ b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ConnectionHandle.tsx
@@ -32,14 +32,18 @@ export const ConnectionSourceHandle = ({
);
/*
- If the node is folded, must show the handle
+ If the node is folded and has outputs, must show the handle
hide handle when:
- not folded
- not node
- not sourceHandle
- already connected
*/
- if (!isFoldNode && (!node || !node?.sourceHandle?.right || rightTargetConnected)) return null;
+ if (
+ !(isFoldNode && node?.outputs.length) &&
+ (!node || !node?.sourceHandle?.right || rightTargetConnected)
+ )
+ return null;
return (
{
}}
>
{
{
{
variables={variables}
title={t(item.label as any)}
maxLength={item.maxLength}
- h={150}
+ minH={100}
+ maxH={300}
placeholder={t((item.placeholder as any) || '')}
value={item.value}
onChange={onChange}
diff --git a/projects/app/src/web/core/app/templates.ts b/projects/app/src/web/core/app/templates.ts
index 456e42a9d..ec5128909 100644
--- a/projects/app/src/web/core/app/templates.ts
+++ b/projects/app/src/web/core/app/templates.ts
@@ -192,7 +192,7 @@ export const emptyTemplates: Record<
max: 3000,
valueType: WorkflowIOValueTypeEnum.string,
label: 'core.ai.Prompt',
- description: 'core.app.tip.chatNodeSystemPromptTip',
+ description: 'core.app.tip.systemPromptTip',
placeholder: 'core.app.tip.chatNodeSystemPromptTip',
value: ''
},
diff --git a/projects/app/src/web/core/app/utils.ts b/projects/app/src/web/core/app/utils.ts
index 69c09b977..e035a2a5a 100644
--- a/projects/app/src/web/core/app/utils.ts
+++ b/projects/app/src/web/core/app/utils.ts
@@ -140,7 +140,7 @@ export function form2AppWorkflow(
max: 3000,
valueType: WorkflowIOValueTypeEnum.string,
label: 'core.ai.Prompt',
- description: 'core.app.tip.chatNodeSystemPromptTip',
+ description: 'core.app.tip.systemPromptTip',
placeholder: 'core.app.tip.chatNodeSystemPromptTip',
value: formData.aiSettings.systemPrompt
},
@@ -461,7 +461,7 @@ export function form2AppWorkflow(
max: 3000,
valueType: WorkflowIOValueTypeEnum.string,
label: 'core.ai.Prompt',
- description: 'core.app.tip.chatNodeSystemPromptTip',
+ description: 'core.app.tip.systemPromptTip',
placeholder: 'core.app.tip.chatNodeSystemPromptTip',
value: formData.aiSettings.systemPrompt
},