diff --git a/web/app/components/app/configuration/config/automatic/get-automatic-res.tsx b/web/app/components/app/configuration/config/automatic/get-automatic-res.tsx index ee77a6d6eb..8f3ff83eca 100644 --- a/web/app/components/app/configuration/config/automatic/get-automatic-res.tsx +++ b/web/app/components/app/configuration/config/automatic/get-automatic-res.tsx @@ -40,6 +40,7 @@ import Result from './result' import useGenData from './use-gen-data' import IdeaOutput from './idea-output' import ResPlaceholder from './res-placeholder' +import { useGenerateRuleTemplate } from '@/service/use-apps' const i18nPrefix = 'appDebug.generate' export type IGetAutomaticResProps = { @@ -142,6 +143,15 @@ const GetAutomaticRes: FC = ({ setEditorKey(`${flowId}-${Date.now()}`) } }, [t]) + + const { data: instructionTemplate } = useGenerateRuleTemplate(GeneratorType.prompt) + useEffect(() => { + if (!instruction && instructionTemplate) { + setInstruction(instructionTemplate.data) + setEditorKey(`${flowId}-${Date.now()}`) + } + }, [instructionTemplate]) + const isValid = () => { if (instruction.trim() === '') { Toast.notify({ diff --git a/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx b/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx index c4d0b58862..049ac7601a 100644 --- a/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx +++ b/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx @@ -24,6 +24,7 @@ import InstructionEditor from '../automatic/instruction-editor-in-workflow' import useGenData from '../automatic/use-gen-data' import Result from '../automatic/result' import ResPlaceholder from '../automatic/res-placeholder' +import { useGenerateRuleTemplate } from '@/service/use-apps' const i18nPrefix = 'appDebug.generate' export type IGetCodeGeneratorResProps = { @@ -79,6 +80,14 @@ export const GetCodeGeneratorResModal: FC = ( const { addVersion, current, currentVersionIndex, setCurrentVersionIndex, versions } = useGenData({ storageKey, }) + const [editorKey, setEditorKey] = useState(`${flowId}-0`) + const { data: instructionTemplate } = useGenerateRuleTemplate(GeneratorType.code) + useEffect(() => { + if (!instruction && instructionTemplate) { + setInstruction(instructionTemplate.data) + setEditorKey(`${flowId}-${Date.now()}`) + } + }, [instructionTemplate]) const isValid = () => { if (instruction.trim() === '') { @@ -211,6 +220,7 @@ export const GetCodeGeneratorResModal: FC = (
{t('appDebug.codegen.instruction')}
) => { body, }) } -export const generateRuleCode = (body: Record) => { - return post('/rule-code-generate', { - body, - }) -} export const fetchModelParams = (providerName: string, modelId: string) => { return get(`workspaces/current/model-providers/${providerName}/models/parameter-rules`, { diff --git a/web/service/use-apps.ts b/web/service/use-apps.ts index 1a3e9cedbb..0335eb5507 100644 --- a/web/service/use-apps.ts +++ b/web/service/use-apps.ts @@ -1,8 +1,9 @@ -import { get } from './base' +import { get, post } from './base' import type { App } from '@/types/app' import type { AppListResponse } from '@/models/app' import { useInvalid } from './use-base' import { useQuery } from '@tanstack/react-query' +import type { GeneratorType } from '@/app/components/app/configuration/config/automatic/types' const NAME_SPACE = 'apps' @@ -25,3 +26,15 @@ export const useAppDetail = (appID: string) => { queryFn: () => get(`/apps/${appID}`), }) } + +export const useGenerateRuleTemplate = (type: GeneratorType) => { + return useQuery({ + queryKey: [NAME_SPACE, 'generate-rule-template', type], + queryFn: () => post<{ data: string }>('instruction-generate/template', { + body: { + type, + }, + }), + retry: 0, + }) +}