fix: delete description

This commit is contained in:
WangCham
2025-10-24 20:37:48 +08:00
parent 075091ed06
commit 72ca62eae4
4 changed files with 34 additions and 31 deletions
-3
View File
@@ -83,7 +83,6 @@ class MCPRouterGroup(group.RouterGroup):
'name': data['name'], 'name': data['name'],
'mode': 'sse', 'mode': 'sse',
'enable': data.get('enable', False), 'enable': data.get('enable', False),
'description': data.get('description',''),
'extra_args': { 'extra_args': {
'url':data.get('url',''), 'url':data.get('url',''),
'headers':data.get('headers',{}), 'headers':data.get('headers',{}),
@@ -118,7 +117,6 @@ class MCPRouterGroup(group.RouterGroup):
data = await quart.request.json data = await quart.request.json
update_data = { update_data = {
'enable': data.get('enable', server.enable), 'enable': data.get('enable', server.enable),
'description': data.get('description', server.description),
} }
extra_args = server.extra_args or {} extra_args = server.extra_args or {}
@@ -175,7 +173,6 @@ class MCPRouterGroup(group.RouterGroup):
'name': server.name, 'name': server.name,
'mode': server.mode, 'mode': server.mode,
'enable': server.enable, 'enable': server.enable,
'description': server.description,
'extra_args': server.extra_args or {}, 'extra_args': server.extra_args or {},
}, self.ap) }, self.ap)
await session.initialize() await session.initialize()
-1
View File
@@ -8,7 +8,6 @@ class MCPServer(Base):
uuid = sqlalchemy.Column(sqlalchemy.String(255), primary_key=True, unique=True) uuid = sqlalchemy.Column(sqlalchemy.String(255), primary_key=True, unique=True)
name = sqlalchemy.Column(sqlalchemy.String(255), nullable=False) name = sqlalchemy.Column(sqlalchemy.String(255), nullable=False)
description = sqlalchemy.Column(sqlalchemy.Text, nullable=True)
enable = sqlalchemy.Column(sqlalchemy.Boolean, nullable=False, default=False) enable = sqlalchemy.Column(sqlalchemy.Boolean, nullable=False, default=False)
mode = sqlalchemy.Column(sqlalchemy.String(255), nullable=False) # stdio, sse mode = sqlalchemy.Column(sqlalchemy.String(255), nullable=False) # stdio, sse
extra_args = sqlalchemy.Column(sqlalchemy.JSON, nullable=False, default={}) extra_args = sqlalchemy.Column(sqlalchemy.JSON, nullable=False, default={})
+33 -27
View File
@@ -396,39 +396,44 @@ export default function PluginConfigPage() {
} }
} }
// 加载服务器数据用于编辑
async function loadServerForEdit(serverName: string) { async function loadServerForEdit(serverName: string) {
try { try {
const resp = await httpClient.getMCPServer(serverName); const resp = await httpClient.getMCPServer(serverName);
const server = resp.server; const server = resp.server ?? resp; // 有的接口包了一层,有的直接返回对象
// 填充表单数据 console.log('Loaded server for edit:', server);
form.setValue('name', server.name);
form.setValue('url', server.config.url || '');
form.setValue('timeout', server.config.timeout || 30);
form.setValue('ssereadtimeout', 300); // 默认值,如果后端有返回则使用后端的
// 填充 headers 作为 extra_args // 填充表单数据
if (server.config.headers) { form.setValue('name', server.name);
const headers = Object.entries(server.config.headers).map( form.setValue('url', server.extra_args?.url || '');
([key, value]) => ({ form.setValue('timeout', server.extra_args?.timeout || 30);
key, form.setValue('ssereadtimeout', 300);
type: 'string' as const,
value: String(value),
}),
);
setExtraArgs(headers);
form.setValue('extra_args', headers);
}
setEditingServerName(serverName); // 填充 headers
setIsEditMode(true); if (server.extra_args?.headers) {
setMcpSSEModalOpen(true); const headers = Object.entries(server.extra_args.headers).map(
} catch (error) { ([key, value]) => ({
console.error('Failed to load server:', error); key,
toast.error(t('mcp.loadFailed')); type: 'string' as const,
value: String(value),
}),
);
setExtraArgs(headers);
form.setValue('extra_args', headers);
} }
//在这里返回mcp里的tools
const tools = await httpClient.getMCPTools(server.name);
setEditingServerName(serverName);
setIsEditMode(true);
setMcpSSEModalOpen(true);
} catch (error) {
console.error('Failed to load server:', error);
toast.error(t('mcp.loadFailed'));
} }
}
async function handleFormSubmit(value: z.infer<typeof formSchema>) { async function handleFormSubmit(value: z.infer<typeof formSchema>) {
const extraArgsObj: Record<string, string | number | boolean> = {}; const extraArgsObj: Record<string, string | number | boolean> = {};
@@ -895,6 +900,7 @@ export default function PluginConfigPage() {
} }
}} }}
> >
<DialogContent> <DialogContent>
<DialogHeader> <DialogHeader>
<DialogTitle> <DialogTitle>
+1
View File
@@ -319,6 +319,7 @@ export interface ApiRespMCPServer {
} }
export interface MCPServer { export interface MCPServer {
extra_args: any;
name: string; name: string;
mode: 'stdio' | 'sse'; mode: 'stdio' | 'sse';
enable: boolean; enable: boolean;