V4.9.7 feature (#4669)

* update doc

* feat: Add coupon redemption feature for team subscriptions (#4595)

* feat: Add coupon redemption feature for team subscriptions

- Introduced `TeamCouponSub` and `TeamCouponSchema` types
- Added `redeemCoupon` API endpoint
- Updated UI to include a modal for coupon redemption
- Added new icon and translations for "Redeem coupon"

* perf: remove field teamId

* perf: use dynamic import

* refactor: move to page component

* perf: coupon code

* perf: mcp server

* perf: test

* auto layout (#4634)

* fix 4.9.6 (#4631)

* fix debug quote list

* delete next text node match

* fix extract default boolean value

* export latest 100 chat items

* fix quote item ui

* doc

* fix doc

* feat: auto layout

* perf: auto layout

* fix: auto layout null

* add start node

---------

Co-authored-by: heheer <heheer@sealos.io>

* fix: share link (#4644)

* Add workflow run duration;Get audio duration (#4645)

* add duration

* get audio duration

* Custom config path (#4649)

* feat: 通过环境变量DATA_PATH获取配置文件目录 (#4622)

通过环境变量DATA_PATH获取配置文件目录,以应对不同的部署方式的多样化需求

* feat: custom configjson path

* doc

---------

Co-authored-by: John Chen <sss1991@163.com>

* 程序api调用场景下,如果大量调用带有图片或视频,产生的聊天记录会导致后台mongo数据库异常。这个修改给api客户端一个禁止生成聊天记录的选项,避免这个后果。 (#3964)

* update special chatId

* perf: vector db rename

* update operationLog (#4647)

* update operationLog

* combine operationLogMap

* solve operationI18nLogMap bug

* remoce log

* feat: Rerank usage (#4654)

* refresh concat when update (#4655)

* fix: refresh code

* perf: timer lock

* Fix operationLog (#4657)

* perf: http streamable mcp

* add alipay (#4630)

* perf: subplan ui

* perf: pay code

* hiden bank tip

* Fix: pay error (#4665)

* fix quote number (#4666)

* remove log

---------

Co-authored-by: a.e. <49438478+I-Info@users.noreply.github.com>
Co-authored-by: heheer <heheer@sealos.io>
Co-authored-by: John Chen <sss1991@163.com>
Co-authored-by: gaord <bengao168@msn.com>
Co-authored-by: gggaaallleee <91131304+gggaaallleee@users.noreply.github.com>
This commit is contained in:
Archer
2025-04-26 16:17:21 +08:00
committed by GitHub
parent a669a60fe6
commit 0720bbe4da
143 changed files with 2067 additions and 1093 deletions

View File

@@ -35,6 +35,7 @@ import { getAppFolderPath } from '@/web/core/app/api/app';
import { AppFolderTypeList } from '@fastgpt/global/core/app/constants';
import MyIcon from '@fastgpt/web/components/common/Icon';
import { postCreateMcpServer, putUpdateMcpServer } from '../../../web/support/mcp/api';
import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip';
export type EditMcForm = {
id?: string;
@@ -62,7 +63,7 @@ const SelectAppModal = ({
{
appId: string;
toolName: string;
toolAlias: string;
appName: string;
avatar: string;
description: string;
}[]
@@ -76,7 +77,7 @@ const SelectAppModal = ({
data.map((item) => ({
appId: item.id,
toolName: item.name,
toolAlias: item.name,
appName: item.name,
avatar: item.avatar,
description: selectedApps.find((app) => app.appId === item.id)?.description || ''
}))
@@ -176,7 +177,7 @@ const SelectAppModal = ({
{
appId: item._id,
toolName: item.name,
toolAlias: item.name,
appName: item.name,
avatar: item.avatar,
description: item.intro
}
@@ -281,7 +282,7 @@ const EditMcpModal = ({
apps: data.apps.map((item) => ({
appId: item.appId,
toolName: item.toolName,
toolAlias: item.toolAlias,
appName: item.appName,
description: item.description
}))
}),
@@ -299,7 +300,7 @@ const EditMcpModal = ({
apps: data.apps.map((item) => ({
appId: item.appId,
toolName: item.toolName,
toolAlias: item.toolAlias,
appName: item.appName,
description: item.description
}))
}),
@@ -317,7 +318,7 @@ const EditMcpModal = ({
iconSrc="key"
title={isEdit ? t('dashboard_mcp:edit_mcp') : t('dashboard_mcp:create_mcp')}
w={'100%'}
maxW={['90vw', '600px']}
maxW={['90vw', '800px']}
isOpen
onClose={onClose}
>
@@ -339,8 +340,11 @@ const EditMcpModal = ({
<Table>
<Thead>
<Tr>
<Th>
{t('dashboard_mcp:tool_name')}
<QuestionTip label={t('dashboard_mcp:tool_name_tip')} />
</Th>
<Th>{t('dashboard_mcp:app_name')}</Th>
<Th>{t('dashboard_mcp:app_tool_name')}</Th>
<Th>{t('dashboard_mcp:app_description')}</Th>
<Th></Th>
</Tr>
@@ -349,15 +353,15 @@ const EditMcpModal = ({
{apps.map((app, index) => {
return (
<Tr key={app.id} fontWeight={500} fontSize={'mini'} color={'myGray.900'}>
<Td>{app.toolName}</Td>
<Td>
<Input
{...register(`apps.${index}.toolAlias`)}
placeholder={app.toolName}
{...register(`apps.${index}.toolName`, { required: true })}
placeholder={t('dashboard_mcp:tool_name_placeholder')}
bg={'myGray.50'}
w={'100%'}
/>
</Td>
<Td>{app.appName}</Td>
<Td>
<Input
{...register(`apps.${index}.description`, { required: true })}
@@ -413,7 +417,7 @@ const EditMcpModal = ({
e.map((item) => ({
appId: item.appId,
toolName: item.toolName,
toolAlias: item.toolAlias,
appName: item.appName,
description: item.description
}))
);