mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-02 08:06:38 +08:00
merge
This commit is contained in:
parent
c8f2d8029b
commit
932c1103f2
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
. "$(dirname -- "$0")/_/husky.sh"
|
. "$(dirname -- "$0")/_/husky.sh"
|
||||||
|
|
||||||
#npx lint-staged
|
npx lint-staged
|
||||||
|
@ -1286,95 +1286,94 @@ export function Settings() {
|
|||||||
</ListItem>
|
</ListItem>
|
||||||
</List>
|
</List>
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
<List id={SlotID.CustomModel}>
|
{/*<List id={SlotID.CustomModel}>*/}
|
||||||
{accessCodeComponent}
|
{/* {accessCodeComponent}*/}
|
||||||
|
|
||||||
{!accessStore.hideUserApiKey && (
|
{/* {!accessStore.hideUserApiKey && (*/}
|
||||||
<>
|
{/* <>*/}
|
||||||
{useCustomConfigComponent}
|
{/* {useCustomConfigComponent}*/}
|
||||||
|
|
||||||
{accessStore.useCustomConfig && (
|
{/* {accessStore.useCustomConfig && (*/}
|
||||||
<>
|
{/* <>*/}
|
||||||
<ListItem
|
{/* <ListItem*/}
|
||||||
title={Locale.Settings.Access.Provider.Title}
|
{/* title={Locale.Settings.Access.Provider.Title}*/}
|
||||||
subTitle={Locale.Settings.Access.Provider.SubTitle}
|
{/* subTitle={Locale.Settings.Access.Provider.SubTitle}*/}
|
||||||
>
|
{/* >*/}
|
||||||
<Select
|
{/* <Select*/}
|
||||||
value={accessStore.provider}
|
{/* value={accessStore.provider}*/}
|
||||||
onChange={(e) => {
|
{/* onChange={(e) => {*/}
|
||||||
accessStore.update(
|
{/* accessStore.update(*/}
|
||||||
(access) =>
|
{/* (access) =>*/}
|
||||||
(access.provider = e.target
|
{/* (access.provider = e.target*/}
|
||||||
.value as ServiceProvider),
|
{/* .value as ServiceProvider),*/}
|
||||||
);
|
{/* );*/}
|
||||||
}}
|
{/* }}*/}
|
||||||
>
|
{/* >*/}
|
||||||
{Object.entries(ServiceProvider).map(([k, v]) => (
|
{/* {Object.entries(ServiceProvider).map(([k, v]) => (*/}
|
||||||
<option value={v} key={k}>
|
{/* <option value={v} key={k}>*/}
|
||||||
{k}
|
{/* {k}*/}
|
||||||
</option>
|
{/* </option>*/}
|
||||||
))}
|
{/* ))}*/}
|
||||||
</Select>
|
{/* </Select>*/}
|
||||||
</ListItem>
|
{/* </ListItem>*/}
|
||||||
|
|
||||||
{openAIConfigComponent}
|
{/* {openAIConfigComponent}*/}
|
||||||
{azureConfigComponent}
|
{/* {azureConfigComponent}*/}
|
||||||
{googleConfigComponent}
|
{/* {googleConfigComponent}*/}
|
||||||
{anthropicConfigComponent}
|
{/* {anthropicConfigComponent}*/}
|
||||||
{baiduConfigComponent}
|
{/* {baiduConfigComponent}*/}
|
||||||
{byteDanceConfigComponent}
|
{/* {byteDanceConfigComponent}*/}
|
||||||
{alibabaConfigComponent}
|
{/* {alibabaConfigComponent}*/}
|
||||||
</>
|
{/* </>*/}
|
||||||
)}
|
{/* )}*/}
|
||||||
</>
|
{/* </>*/}
|
||||||
)}
|
{/* )}*/}
|
||||||
-->
|
|
||||||
<!-- 多行注释
|
|
||||||
{!shouldHideBalanceQuery && !clientConfig?.isApp ? (
|
{/* {!shouldHideBalanceQuery && !clientConfig?.isApp ? (*/}
|
||||||
<ListItem
|
{/* <ListItem*/}
|
||||||
title={Locale.Settings.Usage.Title}
|
{/* title={Locale.Settings.Usage.Title}*/}
|
||||||
subTitle={
|
{/* subTitle={*/}
|
||||||
showUsage
|
{/* showUsage*/}
|
||||||
? loadingUsage
|
{/* ? loadingUsage*/}
|
||||||
? Locale.Settings.Usage.IsChecking
|
{/* ? Locale.Settings.Usage.IsChecking*/}
|
||||||
: Locale.Settings.Usage.SubTitle(
|
{/* : Locale.Settings.Usage.SubTitle(*/}
|
||||||
usage?.used ?? "[?]",
|
{/* usage?.used ?? "[?]",*/}
|
||||||
usage?.subscription ?? "[?]",
|
{/* usage?.subscription ?? "[?]",*/}
|
||||||
)
|
{/* )*/}
|
||||||
: Locale.Settings.Usage.NoAccess
|
{/* : Locale.Settings.Usage.NoAccess*/}
|
||||||
}
|
{/* }*/}
|
||||||
>
|
{/* >*/}
|
||||||
{!showUsage || loadingUsage ? (
|
{/* {!showUsage || loadingUsage ? (*/}
|
||||||
<div />
|
{/* <div />*/}
|
||||||
) : (
|
{/* ) : (*/}
|
||||||
<IconButton
|
{/* <IconButton*/}
|
||||||
icon={<ResetIcon></ResetIcon>}
|
{/* icon={<ResetIcon></ResetIcon>}*/}
|
||||||
text={Locale.Settings.Usage.Check}
|
{/* text={Locale.Settings.Usage.Check}*/}
|
||||||
onClick={() => checkUsage(true)}
|
{/* onClick={() => checkUsage(true)}*/}
|
||||||
/>
|
{/* />*/}
|
||||||
)}
|
{/* )}*/}
|
||||||
</ListItem>
|
{/* </ListItem>*/}
|
||||||
) : null}
|
{/* ) : null}*/}
|
||||||
|
|
||||||
|
{/* <ListItem*/}
|
||||||
|
{/* title={Locale.Settings.Access.CustomModel.Title}*/}
|
||||||
|
{/* subTitle={Locale.Settings.Access.CustomModel.SubTitle}*/}
|
||||||
|
{/* >*/}
|
||||||
|
{/* <input*/}
|
||||||
|
{/* type="text"*/}
|
||||||
|
{/* value={config.customModels}*/}
|
||||||
|
{/* placeholder="model1,model2,model3"*/}
|
||||||
|
{/* onChange={(e) =>*/}
|
||||||
|
{/* config.update(*/}
|
||||||
|
{/* (config) => (config.customModels = e.currentTarget.value),*/}
|
||||||
|
{/* )*/}
|
||||||
|
{/* }*/}
|
||||||
|
{/* ></input>*/}
|
||||||
|
{/* </ListItem>*/}
|
||||||
|
{/*</List>*/}
|
||||||
|
|
||||||
<ListItem
|
|
||||||
title={Locale.Settings.Access.CustomModel.Title}
|
|
||||||
subTitle={Locale.Settings.Access.CustomModel.SubTitle}
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
value={config.customModels}
|
|
||||||
placeholder="model1,model2,model3"
|
|
||||||
onChange={(e) =>
|
|
||||||
config.update(
|
|
||||||
(config) => (config.customModels = e.currentTarget.value),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
></input>
|
|
||||||
</ListItem>
|
|
||||||
</List>
|
|
||||||
-->
|
|
||||||
<List>
|
<List>
|
||||||
<ModelConfigList
|
<ModelConfigList
|
||||||
modelConfig={config.modelConfig}
|
modelConfig={config.modelConfig}
|
||||||
|
@ -282,6 +282,16 @@ export const DEFAULT_MODELS = [
|
|||||||
{
|
{
|
||||||
name: "gpt-3.5-turbo",
|
name: "gpt-3.5-turbo",
|
||||||
describe: "GPT-3,质量一般,便宜",
|
describe: "GPT-3,质量一般,便宜",
|
||||||
|
available: false,
|
||||||
|
provider: {
|
||||||
|
id: "openai",
|
||||||
|
providerName: "OpenAI",
|
||||||
|
providerType: "openai",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "gpt-4o-mini",
|
||||||
|
describe: "新出的,可以尝鲜",
|
||||||
available: true,
|
available: true,
|
||||||
provider: {
|
provider: {
|
||||||
id: "openai",
|
id: "openai",
|
||||||
@ -299,16 +309,6 @@ export const DEFAULT_MODELS = [
|
|||||||
providerType: "azure",
|
providerType: "azure",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: "gpt-4o-mini",
|
|
||||||
describe: "新出的,可以尝鲜",
|
|
||||||
available: true,
|
|
||||||
provider: {
|
|
||||||
id: "openai",
|
|
||||||
providerName: "OpenAI",
|
|
||||||
providerType: "openai",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "gpt-4-turbo-2024-04-09",
|
name: "gpt-4-turbo-2024-04-09",
|
||||||
describe: "GPT-4,标准版",
|
describe: "GPT-4,标准版",
|
||||||
|
@ -140,7 +140,7 @@ export const useAppConfig = createPersistStore(
|
|||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
name: StoreKey.Config,
|
name: StoreKey.Config,
|
||||||
version: 3.99,
|
version: 3.991,
|
||||||
migrate(persistedState, version) {
|
migrate(persistedState, version) {
|
||||||
const state = persistedState as ChatConfig;
|
const state = persistedState as ChatConfig;
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ export const useAppConfig = createPersistStore(
|
|||||||
// return { ...DEFAULT_CONFIG };
|
// return { ...DEFAULT_CONFIG };
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (version < 3.99) {
|
if (version < 3.991) {
|
||||||
// state.modelConfig = DEFAULT_CONFIG.modelConfig;
|
// state.modelConfig = DEFAULT_CONFIG.modelConfig;
|
||||||
return { ...DEFAULT_CONFIG };
|
return { ...DEFAULT_CONFIG };
|
||||||
// state.modelConfig.template =
|
// state.modelConfig.template =
|
||||||
|
@ -159,7 +159,8 @@ export const usePromptStore = createPersistStore(
|
|||||||
|
|
||||||
onRehydrateStorage(state) {
|
onRehydrateStorage(state) {
|
||||||
// const PROMPT_URL = "https://cos.xiaosi.cc/next/public/prompts.json";
|
// const PROMPT_URL = "https://cos.xiaosi.cc/next/public/prompts.json";
|
||||||
const PROMPT_URL = "https://qn.xiaosi.cc/json/chat/prompts.json";
|
// const PROMPT_URL = "https://qn.xiaosi.cc/json/chat/prompts.json";
|
||||||
|
const PROMPT_URL = "./prompts.json"
|
||||||
const GPT_PROMPT_URL =
|
const GPT_PROMPT_URL =
|
||||||
"https://qn.xiaosi.cc/json/chat/prompt_library.json";
|
"https://qn.xiaosi.cc/json/chat/prompt_library.json";
|
||||||
|
|
||||||
|
@ -489,7 +489,9 @@
|
|||||||
"你现在将成为一个名为Midjourney的生成式人工智能的提示词生成器。Midjourney人工智能将根据给定的提示词生成图像。\n我将提供一组关键词[1],你需要依据这些关键词为Midjourney生成提示词。\n你永远不会以任何方式更改下面列出的结构和格式,并遵守以下准则:\n你不会以任何形式写描述或使用:。永远不要在[ar]和[v]之间加逗 述现场的情绪/感受和氛围。\n[5] = 风格,例如:摄影、绘画、插图、雕塑、艺术品、文书工作、3d等).[1]\n[6] = 如何实现[5]的描述(例如,带有相机模型和适当相机设置的摄影(如Macro、Fisheye Style、Portrait)、带有关于所用材料和工作材料的详细描述的绘画、带有引擎设置的渲染、数字插图、木刻艺术(以及可以定义为输出类型的其他(完全按照书写方式使用)\n格式:\n您所写的内容必须与以下结构中的格式完全相同,包括/和:\n这是Midjourney提示词结构:/mj [1],[2],[3],[4],[5],[6],[ar][v]。\n这是你的任务:你将为我提供的每组关键词[1]生成4个提示词,每个提示词在描述、环境、氛围和实现方面都是不同的方法。\n你提供的提示词将是中文的。\n请注意:\n-如果我提供的关键词不是真实的,请不要描述为真实、逼真、照片或照片。例如,一个由纸或与幻想有关的场景构成的概念。\n-为每个关键词生成的提示之一必须是逼真的摄影风格。你还应该为它选择镜头类型和尺寸。不要为逼真的摄影提示选择择术家。\n所有的结果翻译为英文"
|
"你现在将成为一个名为Midjourney的生成式人工智能的提示词生成器。Midjourney人工智能将根据给定的提示词生成图像。\n我将提供一组关键词[1],你需要依据这些关键词为Midjourney生成提示词。\n你永远不会以任何方式更改下面列出的结构和格式,并遵守以下准则:\n你不会以任何形式写描述或使用:。永远不要在[ar]和[v]之间加逗 述现场的情绪/感受和氛围。\n[5] = 风格,例如:摄影、绘画、插图、雕塑、艺术品、文书工作、3d等).[1]\n[6] = 如何实现[5]的描述(例如,带有相机模型和适当相机设置的摄影(如Macro、Fisheye Style、Portrait)、带有关于所用材料和工作材料的详细描述的绘画、带有引擎设置的渲染、数字插图、木刻艺术(以及可以定义为输出类型的其他(完全按照书写方式使用)\n格式:\n您所写的内容必须与以下结构中的格式完全相同,包括/和:\n这是Midjourney提示词结构:/mj [1],[2],[3],[4],[5],[6],[ar][v]。\n这是你的任务:你将为我提供的每组关键词[1]生成4个提示词,每个提示词在描述、环境、氛围和实现方面都是不同的方法。\n你提供的提示词将是中文的。\n请注意:\n-如果我提供的关键词不是真实的,请不要描述为真实、逼真、照片或照片。例如,一个由纸或与幻想有关的场景构成的概念。\n-为每个关键词生成的提示之一必须是逼真的摄影风格。你还应该为它选择镜头类型和尺寸。不要为逼真的摄影提示选择择术家。\n所有的结果翻译为英文"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"tw": [
|
||||||
|
[]
|
||||||
|
],
|
||||||
"en": [
|
"en": [
|
||||||
[]
|
[]
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user