feat: sd setting
This commit is contained in:
parent
908ee0060f
commit
3935c725c9
|
@ -65,6 +65,7 @@ import {
|
|||
ServiceProvider,
|
||||
SlotID,
|
||||
UPDATE_URL,
|
||||
Stability,
|
||||
} from "../constant";
|
||||
import { Prompt, SearchService, usePromptStore } from "../store/prompt";
|
||||
import { ErrorBoundary } from "./error";
|
||||
|
@ -1041,6 +1042,45 @@ export function Settings() {
|
|||
</>
|
||||
);
|
||||
|
||||
const stabilityConfigComponent = accessStore.provider ===
|
||||
ServiceProvider.Stability && (
|
||||
<>
|
||||
<ListItem
|
||||
title={Locale.Settings.Access.Stability.Endpoint.Title}
|
||||
subTitle={
|
||||
Locale.Settings.Access.Stability.Endpoint.SubTitle +
|
||||
Stability.ExampleEndpoint
|
||||
}
|
||||
>
|
||||
<input
|
||||
type="text"
|
||||
value={accessStore.stabilityUrl}
|
||||
placeholder={Stability.ExampleEndpoint}
|
||||
onChange={(e) =>
|
||||
accessStore.update(
|
||||
(access) => (access.stabilityUrl = e.currentTarget.value),
|
||||
)
|
||||
}
|
||||
></input>
|
||||
</ListItem>
|
||||
<ListItem
|
||||
title={Locale.Settings.Access.Stability.ApiKey.Title}
|
||||
subTitle={Locale.Settings.Access.Stability.ApiKey.SubTitle}
|
||||
>
|
||||
<PasswordInput
|
||||
value={accessStore.stabilityApiKey}
|
||||
type="text"
|
||||
placeholder={Locale.Settings.Access.Stability.ApiKey.Placeholder}
|
||||
onChange={(e) => {
|
||||
accessStore.update(
|
||||
(access) => (access.stabilityApiKey = e.currentTarget.value),
|
||||
);
|
||||
}}
|
||||
/>
|
||||
</ListItem>
|
||||
</>
|
||||
);
|
||||
|
||||
return (
|
||||
<ErrorBoundary>
|
||||
<div className="window-header" data-tauri-drag-region>
|
||||
|
@ -1324,6 +1364,7 @@ export function Settings() {
|
|||
{baiduConfigComponent}
|
||||
{byteDanceConfigComponent}
|
||||
{alibabaConfigComponent}
|
||||
{stabilityConfigComponent}
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
|
|
|
@ -116,8 +116,9 @@ export enum ModelProvider {
|
|||
Qwen = "Qwen",
|
||||
}
|
||||
|
||||
export const StabilityPath = {
|
||||
export const Stability = {
|
||||
GeneratePath: "v2beta/stable-image/generate",
|
||||
ExampleEndpoint: "https://api.stability.ai",
|
||||
};
|
||||
|
||||
export const Anthropic = {
|
||||
|
|
|
@ -389,6 +389,17 @@ const cn = {
|
|||
SubTitle: "样例:",
|
||||
},
|
||||
},
|
||||
Stability: {
|
||||
ApiKey: {
|
||||
Title: "接口密钥",
|
||||
SubTitle: "使用自定义 Stability API Key",
|
||||
Placeholder: "Stability API Key",
|
||||
},
|
||||
Endpoint: {
|
||||
Title: "接口地址",
|
||||
SubTitle: "样例:",
|
||||
},
|
||||
},
|
||||
CustomModel: {
|
||||
Title: "自定义模型名",
|
||||
SubTitle: "增加自定义模型可选项,使用英文逗号隔开",
|
||||
|
|
|
@ -372,6 +372,17 @@ const en: LocaleType = {
|
|||
SubTitle: "Example: ",
|
||||
},
|
||||
},
|
||||
Stability: {
|
||||
ApiKey: {
|
||||
Title: "Stability API Key",
|
||||
SubTitle: "Use a custom Stability API Key",
|
||||
Placeholder: "Stability API Key",
|
||||
},
|
||||
Endpoint: {
|
||||
Title: "Endpoint Address",
|
||||
SubTitle: "Example: ",
|
||||
},
|
||||
},
|
||||
CustomModel: {
|
||||
Title: "Custom Models",
|
||||
SubTitle: "Custom model options, seperated by comma",
|
||||
|
|
|
@ -39,8 +39,6 @@ const DEFAULT_ALIBABA_URL = isApp
|
|||
? DEFAULT_API_HOST + "/api/proxy/alibaba"
|
||||
: ApiPath.Alibaba;
|
||||
|
||||
console.log("DEFAULT_ANTHROPIC_URL", DEFAULT_ANTHROPIC_URL);
|
||||
|
||||
const DEFAULT_ACCESS_STATE = {
|
||||
accessCode: "",
|
||||
useCustomConfig: false,
|
||||
|
@ -80,6 +78,10 @@ const DEFAULT_ACCESS_STATE = {
|
|||
alibabaUrl: DEFAULT_ALIBABA_URL,
|
||||
alibabaApiKey: "",
|
||||
|
||||
//stability
|
||||
stabilityUrl: "",
|
||||
stabilityApiKey: "",
|
||||
|
||||
// server config
|
||||
needCode: true,
|
||||
hideUserApiKey: false,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { StabilityPath, StoreKey } from "@/app/constant";
|
||||
import { Stability, StoreKey } from "@/app/constant";
|
||||
import { getHeaders } from "@/app/client/api";
|
||||
import { createPersistStore } from "@/app/utils/store";
|
||||
import { nanoid } from "nanoid";
|
||||
|
@ -63,7 +63,7 @@ export const useSdStore = createPersistStore<
|
|||
}
|
||||
const headers = getHeaders();
|
||||
delete headers["Content-Type"];
|
||||
fetch(`/api/stability/${StabilityPath.GeneratePath}/${data.model}`, {
|
||||
fetch(`/api/stability/${Stability.GeneratePath}/${data.model}`, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
...headers,
|
||||
|
|
Loading…
Reference in New Issue