V4.8.17 feature (#3485)
* feat: add third party account config (#3443) * temp * editor workflow variable style * add team to dispatch * i18n * delete console * change openai account position * fix * fix * fix * fix * fix * 4.8.17 test (#3461) * perf: external provider config * perf: ui * feat: add template config (#3434) * change template position * template config * delete console * delete * fix * fix * perf: Mongo visutal field (#3464) * remve invalid code * perf: team member visutal code * perf: virtual search; perf: search test data * fix: ts * fix: image response headers * perf: template code * perf: auth layout;perf: auto save (#3472) * perf: auth layout * perf: auto save * perf: auto save * fix: template guide display & http input support external variables (#3475) * fix: template guide display * http editor support external workflow variables * perf: auto save;fix: ifelse checker line break; (#3478) * perf: auto save * perf: auto save * fix: ifelse checker line break * perf: doc * perf: doc * fix: update var type error * 4.8.17 test (#3479) * perf: auto save * perf: auto save * perf: template code * 4.8.17 test (#3480) * perf: auto save * perf: auto save * perf: model price model * feat: add react memo * perf: model provider filter * fix: ts (#3481) * perf: auto save * perf: auto save * fix: ts * simple app tool select (#3473) * workflow plugin userguide & simple tool ui * simple tool filter * reuse component * change component to hook * fix * perf: too selector modal (#3484) * perf: auto save * perf: auto save * perf: markdown render * perf: too selector * fix: app version require tmbId * perf: templates refresh * perf: templates refresh * hide auto save error tip * perf: toolkit guide --------- Co-authored-by: heheer <heheer@sealos.io>
This commit is contained in:
@@ -4,14 +4,14 @@ import type { FastGPTFeConfigsType } from '@fastgpt/global/common/system/types/i
|
||||
import type { FastGPTConfigFileType } from '@fastgpt/global/common/system/types/index.d';
|
||||
import { PluginSourceEnum } from '@fastgpt/global/core/plugin/constants';
|
||||
import { getFastGPTConfigFromDB } from '@fastgpt/service/common/system/config/controller';
|
||||
import { PluginTemplateType } from '@fastgpt/global/core/plugin/type';
|
||||
import { FastGPTProUrl } from '@fastgpt/service/common/system/constants';
|
||||
import { isProduction } from '@fastgpt/global/common/system/constants';
|
||||
import { initFastGPTConfig } from '@fastgpt/service/common/system/tools';
|
||||
import json5 from 'json5';
|
||||
import { SystemPluginTemplateItemType } from '@fastgpt/global/core/workflow/type';
|
||||
import { defaultGroup } from '@fastgpt/web/core/workflow/constants';
|
||||
import { defaultGroup, defaultTemplateTypes } from '@fastgpt/web/core/workflow/constants';
|
||||
import { MongoPluginGroups } from '@fastgpt/service/core/app/plugin/pluginGroupSchema';
|
||||
import { MongoTemplateTypes } from '@fastgpt/service/core/app/templates/templateTypeSchema';
|
||||
|
||||
export const readConfigData = (name: string) => {
|
||||
const splitName = name.split('.');
|
||||
@@ -164,7 +164,7 @@ function getSystemPlugin() {
|
||||
global.communityPlugins = fileTemplates;
|
||||
}
|
||||
|
||||
export async function initSystemPlugins() {
|
||||
export async function initSystemPluginGroups() {
|
||||
try {
|
||||
const { groupOrder, ...restDefaultGroup } = defaultGroup;
|
||||
await MongoPluginGroups.updateOne(
|
||||
@@ -182,3 +182,27 @@ export async function initSystemPlugins() {
|
||||
console.error('Error initializing system plugins:', error);
|
||||
}
|
||||
}
|
||||
|
||||
export async function initAppTemplateTypes() {
|
||||
try {
|
||||
await Promise.all(
|
||||
defaultTemplateTypes.map((templateType) => {
|
||||
const { typeOrder, ...rest } = templateType;
|
||||
|
||||
return MongoTemplateTypes.updateOne(
|
||||
{
|
||||
typeId: templateType.typeId
|
||||
},
|
||||
{
|
||||
$set: rest
|
||||
},
|
||||
{
|
||||
upsert: true
|
||||
}
|
||||
);
|
||||
})
|
||||
);
|
||||
} catch (error) {
|
||||
console.error('Error initializing system templates:', error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,14 @@ import { createDatasetTrainingMongoWatch } from '@/service/core/dataset/training
|
||||
import { MongoSystemConfigs } from '@fastgpt/service/common/system/config/schema';
|
||||
import { MongoSystemPlugin } from '@fastgpt/service/core/app/plugin/systemPluginSchema';
|
||||
import { debounce } from 'lodash';
|
||||
import { MongoAppTemplate } from '@fastgpt/service/core/app/templates/templateSchema';
|
||||
import { getAppTemplatesAndLoadThem } from '@fastgpt/templates/register';
|
||||
|
||||
export const startMongoWatch = async () => {
|
||||
reloadConfigWatch();
|
||||
refetchSystemPlugins();
|
||||
createDatasetTrainingMongoWatch();
|
||||
refetchAppTemplates();
|
||||
};
|
||||
|
||||
const reloadConfigWatch = () => {
|
||||
@@ -38,3 +41,18 @@ const refetchSystemPlugins = () => {
|
||||
}, 500)
|
||||
);
|
||||
};
|
||||
|
||||
const refetchAppTemplates = () => {
|
||||
const changeStream = MongoAppTemplate.watch();
|
||||
|
||||
changeStream.on(
|
||||
'change',
|
||||
debounce(async (change) => {
|
||||
setTimeout(() => {
|
||||
try {
|
||||
getAppTemplatesAndLoadThem(true);
|
||||
} catch (error) {}
|
||||
}, 5000);
|
||||
}, 500)
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user