mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 04:15:25 +00:00
fix: direct tool server
This commit is contained in:
parent
4b22aa819c
commit
f4047eea77
3 changed files with 38 additions and 10 deletions
|
|
@ -347,25 +347,20 @@ export const getToolServerData = async (token: string, url: string) => {
|
|||
return data;
|
||||
};
|
||||
|
||||
export const getToolServersData = async (i18n, servers: object[]) => {
|
||||
export const getToolServersData = async (servers: object[]) => {
|
||||
return (
|
||||
await Promise.all(
|
||||
servers
|
||||
.filter((server) => server?.config?.enable)
|
||||
.map(async (server) => {
|
||||
let error = null;
|
||||
const data = await getToolServerData(
|
||||
(server?.auth_type ?? 'bearer') === 'bearer' ? server?.key : localStorage.token,
|
||||
(server?.path ?? '').includes('://')
|
||||
? server?.path
|
||||
: `${server?.url}${(server?.path ?? '').startsWith('/') ? '' : '/'}${server?.path}`
|
||||
).catch((err) => {
|
||||
toast.error(
|
||||
$i18n.t(`Failed to connect to {{URL}} OpenAPI tool server`, {
|
||||
URL: (server?.path ?? '').includes('://')
|
||||
? server?.path
|
||||
: `${server?.url}${(server?.path ?? '').startsWith('/') ? '' : '/'}${server?.path}`
|
||||
})
|
||||
);
|
||||
error = err;
|
||||
return null;
|
||||
});
|
||||
|
||||
|
|
@ -377,6 +372,13 @@ export const getToolServersData = async (i18n, servers: object[]) => {
|
|||
info: info,
|
||||
specs: specs
|
||||
};
|
||||
} else if (error) {
|
||||
return {
|
||||
error,
|
||||
url: server?.url
|
||||
};
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})
|
||||
)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,20 @@
|
|||
toolServers: servers
|
||||
});
|
||||
|
||||
toolServers.set(await getToolServersData($i18n, $settings?.toolServers ?? []));
|
||||
let toolServersData = await getToolServersData($settings?.toolServers ?? []);
|
||||
toolServersData = toolServersData.filter((data) => {
|
||||
if (data.error) {
|
||||
toast.error(
|
||||
$i18n.t(`Failed to connect to {{URL}} OpenAPI tool server`, {
|
||||
URL: data?.url
|
||||
})
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
toolServers.set(toolServersData);
|
||||
};
|
||||
|
||||
onMount(async () => {
|
||||
|
|
|
|||
|
|
@ -114,7 +114,20 @@
|
|||
|
||||
banners.set(await getBanners(localStorage.token));
|
||||
tools.set(await getTools(localStorage.token));
|
||||
toolServers.set(await getToolServersData($i18n, $settings?.toolServers ?? []));
|
||||
|
||||
let toolServersData = await getToolServersData($settings?.toolServers ?? []);
|
||||
toolServersData = toolServersData.filter((data) => {
|
||||
if (data.error) {
|
||||
toast.error(
|
||||
$i18n.t(`Failed to connect to {{URL}} OpenAPI tool server`, {
|
||||
URL: data?.url
|
||||
})
|
||||
);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
toolServers.set(toolServersData);
|
||||
|
||||
document.addEventListener('keydown', async function (event) {
|
||||
const isCtrlPressed = event.ctrlKey || event.metaKey; // metaKey is for Cmd key on Mac
|
||||
|
|
|
|||
Loading…
Reference in a new issue