feat: support builtin AI

This commit is contained in:
Gabe
2025-10-04 21:25:54 +08:00
parent c353c88db8
commit 7b2b48f0d1
23 changed files with 558 additions and 243 deletions

View File

@@ -1,4 +1,4 @@
import { useCallback, useMemo } from "react";
import { useCallback, useEffect, useMemo } from "react";
import { DEFAULT_API_LIST, API_SPE_TYPES } from "../config";
import { useSetting } from "./Setting";
@@ -12,6 +12,19 @@ function useApiState() {
export function useApiList() {
const { transApis, updateSetting } = useApiState();
useEffect(() => {
const curSlugs = new Set(transApis.map((api) => api.apiSlug));
const missApis = DEFAULT_API_LIST.filter(
(api) => !curSlugs.has(api.apiSlug)
);
if (missApis.length > 0) {
updateSetting((prev) => ({
...prev,
transApis: [...(prev?.transApis || []), ...missApis],
}));
}
}, [transApis, updateSetting]);
const userApis = useMemo(
() =>
transApis
@@ -55,7 +68,9 @@ export function useApiList() {
(apiSlug) => {
updateSetting((prev) => ({
...prev,
transApis: (prev?.transApis || []).filter((api) => api.apiSlug !== apiSlug),
transApis: (prev?.transApis || []).filter(
(api) => api.apiSlug !== apiSlug
),
}));
},
[updateSetting]