feat(webui): redesign settings and BYOK configuration

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Xubin Ren
2026-05-08 23:48:01 +08:00
committed by Xubin Ren
co-authored by Cursor
parent 451d740849
commit 2cc32ca07c
25 changed files with 1679 additions and 216 deletions
+22 -1
View File
@@ -1,4 +1,10 @@
import type { ChatSummary, SettingsPayload, SettingsUpdate, SlashCommand } from "./types";
import type {
ChatSummary,
ProviderSettingsUpdate,
SettingsPayload,
SettingsUpdate,
SlashCommand,
} from "./types";
export class ApiError extends Error {
status: number;
@@ -147,3 +153,18 @@ export async function updateSettings(
if (update.provider !== undefined) query.set("provider", update.provider);
return request<SettingsPayload>(`${base}/api/settings/update?${query}`, token);
}
export async function updateProviderSettings(
token: string,
update: ProviderSettingsUpdate,
base: string = "",
): Promise<SettingsPayload> {
const query = new URLSearchParams();
query.set("provider", update.provider);
if (update.apiKey !== undefined) query.set("api_key", update.apiKey);
if (update.apiBase !== undefined) query.set("api_base", update.apiBase);
return request<SettingsPayload>(
`${base}/api/settings/provider/update?${query}`,
token,
);
}