mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-15 07:31:19 +00:00
feat: add toolDescription field across various schemas and update related functions (#5452)
This commit is contained in:
@@ -101,6 +101,7 @@ export type RuntimeNodeItemType = {
|
||||
name: StoreNodeItemType['name'];
|
||||
avatar: StoreNodeItemType['avatar'];
|
||||
intro?: StoreNodeItemType['intro'];
|
||||
toolDescription?: StoreNodeItemType['toolDescription'];
|
||||
flowNodeType: StoreNodeItemType['flowNodeType'];
|
||||
showStatus?: StoreNodeItemType['showStatus'];
|
||||
isEntry?: boolean;
|
||||
|
@@ -252,6 +252,7 @@ export const storeNodes2RuntimeNodes = (
|
||||
name: node.name,
|
||||
avatar: node.avatar,
|
||||
intro: node.intro,
|
||||
toolDescription: node.toolDescription,
|
||||
flowNodeType: node.flowNodeType,
|
||||
showStatus: node.showStatus,
|
||||
isEntry: entryNodeIds.includes(node.nodeId),
|
||||
|
@@ -37,6 +37,7 @@ export type WorkflowTemplateType = {
|
||||
avatar: string;
|
||||
name: I18nStringType | string;
|
||||
intro?: I18nStringType | string;
|
||||
toolDescription?: string;
|
||||
|
||||
author?: string;
|
||||
courseUrl?: string;
|
||||
|
1
packages/global/core/workflow/type/node.d.ts
vendored
1
packages/global/core/workflow/type/node.d.ts
vendored
@@ -56,6 +56,7 @@ export type FlowNodeCommonType = {
|
||||
avatar?: string;
|
||||
name: string;
|
||||
intro?: string; // template list intro
|
||||
toolDescription?: string;
|
||||
showStatus?: boolean; // chatting response step status
|
||||
|
||||
version?: string;
|
||||
|
@@ -314,7 +314,11 @@ export async function getChildAppPreviewNode({
|
||||
}))
|
||||
}
|
||||
}
|
||||
: { systemTool: { toolId: app.id } })
|
||||
: {
|
||||
systemTool: {
|
||||
toolId: app.id
|
||||
}
|
||||
})
|
||||
},
|
||||
showSourceHandle: app.isFolder ? false : true,
|
||||
showTargetHandle: app.isFolder ? false : true
|
||||
@@ -368,6 +372,7 @@ export async function getChildAppPreviewNode({
|
||||
avatar: app.avatar,
|
||||
name: parseI18nString(app.name, lang),
|
||||
intro: parseI18nString(app.intro, lang),
|
||||
toolDescription: app.toolDescription,
|
||||
courseUrl: app.courseUrl,
|
||||
userGuide: app.userGuide,
|
||||
showStatus: true,
|
||||
@@ -462,8 +467,17 @@ export async function getChildAppRuntimeById({
|
||||
}
|
||||
|
||||
const dbPluginFormat = (item: SystemPluginConfigSchemaType): SystemPluginTemplateItemType => {
|
||||
const { name, avatar, intro, version, weight, templateType, associatedPluginId, userGuide } =
|
||||
item.customConfig!;
|
||||
const {
|
||||
name,
|
||||
avatar,
|
||||
intro,
|
||||
toolDescription,
|
||||
version,
|
||||
weight,
|
||||
templateType,
|
||||
associatedPluginId,
|
||||
userGuide
|
||||
} = item.customConfig!;
|
||||
|
||||
return {
|
||||
id: item.pluginId,
|
||||
@@ -475,6 +489,7 @@ const dbPluginFormat = (item: SystemPluginConfigSchemaType): SystemPluginTemplat
|
||||
name,
|
||||
avatar,
|
||||
intro,
|
||||
toolDescription,
|
||||
weight,
|
||||
templateType,
|
||||
originCost: item.originCost,
|
||||
@@ -556,6 +571,7 @@ export const getSystemTools = async (): Promise<SystemPluginTemplateItemType[]>
|
||||
name: item.name,
|
||||
avatar: item.avatar,
|
||||
intro: item.description,
|
||||
toolDescription: item.toolDescription,
|
||||
author: item.author,
|
||||
courseUrl: item.courseUrl,
|
||||
instructions: dbPluginConfig?.customConfig?.userGuide,
|
||||
|
1
packages/service/core/app/plugin/type.d.ts
vendored
1
packages/service/core/app/plugin/type.d.ts
vendored
@@ -17,6 +17,7 @@ export type SystemPluginConfigSchemaType = {
|
||||
name: string;
|
||||
avatar: string;
|
||||
intro?: string;
|
||||
toolDescription?: string;
|
||||
version: string;
|
||||
weight?: number;
|
||||
templateType: string;
|
||||
|
@@ -189,7 +189,7 @@ export const runToolWithFunctionCall = async (
|
||||
|
||||
return {
|
||||
name: item.nodeId,
|
||||
description: item.intro,
|
||||
description: item.toolDescription || item.intro,
|
||||
parameters: {
|
||||
type: 'object',
|
||||
properties,
|
||||
|
@@ -193,7 +193,7 @@ export const runToolWithPromptCall = async (
|
||||
|
||||
return {
|
||||
toolId: item.nodeId,
|
||||
description: item.intro,
|
||||
description: item.toolDescription || item.intro,
|
||||
parameters: {
|
||||
type: 'object',
|
||||
properties,
|
||||
|
@@ -246,7 +246,7 @@ export const runToolWithToolChoice = async (
|
||||
type: 'function',
|
||||
function: {
|
||||
name: item.nodeId,
|
||||
description: item.intro || item.name,
|
||||
description: item.toolDescription || item.intro || item.name,
|
||||
parameters: {
|
||||
type: 'object',
|
||||
properties,
|
||||
|
@@ -3,7 +3,7 @@
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@fastgpt-sdk/plugin": "^0.1.8",
|
||||
"@fastgpt-sdk/plugin": "^0.1.9",
|
||||
"@fastgpt/global": "workspace:*",
|
||||
"@modelcontextprotocol/sdk": "^1.12.1",
|
||||
"@node-rs/jieba": "2.0.1",
|
||||
|
10
pnpm-lock.yaml
generated
10
pnpm-lock.yaml
generated
@@ -121,8 +121,8 @@ importers:
|
||||
packages/service:
|
||||
dependencies:
|
||||
'@fastgpt-sdk/plugin':
|
||||
specifier: ^0.1.8
|
||||
version: 0.1.8(@types/node@20.17.24)
|
||||
specifier: ^0.1.9
|
||||
version: 0.1.9(@types/node@20.17.24)
|
||||
'@fastgpt/global':
|
||||
specifier: workspace:*
|
||||
version: link:../global
|
||||
@@ -1973,8 +1973,8 @@ packages:
|
||||
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
||||
'@fastgpt-sdk/plugin@0.1.8':
|
||||
resolution: {integrity: sha512-Db4wWJV/NjWcsKXXOUeNRNYeVBmW9yn9IqjYr7Mj+Z77YwN0gUFIek4tv+zQzsr9IoQgq+vptCEf6Ae9d48uaA==}
|
||||
'@fastgpt-sdk/plugin@0.1.9':
|
||||
resolution: {integrity: sha512-9OBflL5W9SSEnhlNR/deL7+AMVkj7DKZcHlHELZFCMX+y0dhHmpHIh5bDon3zaeny40K35iI7md6pqDZ5xp5tw==}
|
||||
|
||||
'@fastify/accept-negotiator@1.1.0':
|
||||
resolution: {integrity: sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==}
|
||||
@@ -11208,7 +11208,7 @@ snapshots:
|
||||
|
||||
'@eslint/js@8.57.1': {}
|
||||
|
||||
'@fastgpt-sdk/plugin@0.1.8(@types/node@20.17.24)':
|
||||
'@fastgpt-sdk/plugin@0.1.9(@types/node@20.17.24)':
|
||||
dependencies:
|
||||
'@fortaine/fetch-event-source': 3.0.6
|
||||
'@ts-rest/core': 3.52.1(@types/node@20.17.24)(zod@3.25.51)
|
||||
|
@@ -36,7 +36,8 @@ async function handler(
|
||||
flowNodeType: plugin.isFolder ? FlowNodeTypeEnum.toolSet : FlowNodeTypeEnum.tool,
|
||||
name: parseI18nString(plugin.name, lang),
|
||||
intro: parseI18nString(plugin.intro ?? '', lang),
|
||||
instructions: parseI18nString(plugin.userGuide ?? '', lang)
|
||||
instructions: parseI18nString(plugin.userGuide ?? '', lang),
|
||||
toolDescription: plugin.toolDescription
|
||||
}))
|
||||
.filter((item) => {
|
||||
if (searchKey) {
|
||||
|
Reference in New Issue
Block a user