From 449e495ba3ba5ddca5fcdc39436252eb3bc8f0ed Mon Sep 17 00:00:00 2001 From: Hu Gang <18768366022@163.com> Date: Mon, 19 May 2025 10:22:42 +0800 Subject: [PATCH] feat: create agent app --- src/apis/appCenter/index.ts | 2 + src/apis/appCenter/knowledge.ts | 29 + src/apis/appCenter/prompt.ts | 55 ++ src/apis/index.ts | 4 +- .../createapp/components/AgentAppConfig.vue | 752 ++++++++++++++++++ 5 files changed, 841 insertions(+), 1 deletion(-) create mode 100644 src/apis/appCenter/knowledge.ts create mode 100644 src/apis/appCenter/prompt.ts create mode 100644 src/views/createapp/components/AgentAppConfig.vue diff --git a/src/apis/appCenter/index.ts b/src/apis/appCenter/index.ts index f842150..1300da1 100644 --- a/src/apis/appCenter/index.ts +++ b/src/apis/appCenter/index.ts @@ -1,2 +1,4 @@ // Copyright (c) Huawei Technologies Co., Ltd. 2023-2025. All rights reserved. export * from './appCenterService'; +export * from './prompt'; +export * from './knowledge'; diff --git a/src/apis/appCenter/knowledge.ts b/src/apis/appCenter/knowledge.ts new file mode 100644 index 0000000..ab59da5 --- /dev/null +++ b/src/apis/appCenter/knowledge.ts @@ -0,0 +1,29 @@ +import { get, post, del } from '../server'; + +export interface KnowledgeBase { + kbId: string; + name: string; + isUsed: boolean; + description: string; +} + +const KNOWLEDGE_URL = '/api/knowledge'; + +/** + * 查询Prompt列表 + * @param keyword + * @returns + */ +const getKnowledgeList = (keyword?: string) => { + return get<{ + team_kb_list: { + teamId: string; + teamName: string; + kb_list: KnowledgeBase[]; + }[]; + }>(KNOWLEDGE_URL, { kbName: keyword }); +}; + +export const kbApi = { + getKnowledgeList, +}; diff --git a/src/apis/appCenter/prompt.ts b/src/apis/appCenter/prompt.ts new file mode 100644 index 0000000..8b11563 --- /dev/null +++ b/src/apis/appCenter/prompt.ts @@ -0,0 +1,55 @@ +import { get, post, del } from '../server'; + +export interface Prompt { + promptId: string; + name: string; + description: string; + prompt?: string; +} + +const PROMPT_URL = '/api/prompt'; + +/** + * 查询Prompt列表 + * @param keyword + * @returns + */ +const getPrompts = (keyword?: string) => { + return get<{ + prompts: Prompt[]; + totalPrompts: number; + }>(PROMPT_URL, { keyword }); +}; + +/** + * 创建或更新Prompt + * @param params + * @returns + */ +const createOrUpdatePrompts = (params: { + name: string; + description: string; + prompt: string; + promptId?: string; +}) => { + return post<{ + promptId: string; + }>(PROMPT_URL, params); +}; + +/** + * 删除Prompt + * @param promptId + * @returns + */ +const deletePrompt = (promptId: string) => { + return del<{ + promptId: string; + }>(`${PROMPT_URL}/${promptId}`); +}; + +export const promptApi = { + getPrompts, + createOrUpdatePrompts, + deletePrompt, +}; diff --git a/src/apis/index.ts b/src/apis/index.ts index 32242d5..5562d4b 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -19,7 +19,7 @@ import { mcpApi, } from './paths'; import { workFlowApi } from './workFlow'; -import { appCenterApi } from './appCenter'; +import { appCenterApi, promptApi, kbApi } from './appCenter'; export const api = { ...accountApi, @@ -33,4 +33,6 @@ export const api = { ...apiApi, ...modelApi, ...mcpApi, + ...promptApi, + ...kbApi, }; diff --git a/src/views/createapp/components/AgentAppConfig.vue b/src/views/createapp/components/AgentAppConfig.vue new file mode 100644 index 0000000..e5ed898 --- /dev/null +++ b/src/views/createapp/components/AgentAppConfig.vue @@ -0,0 +1,752 @@ + + + + -- Gitee