diff --git a/README.md b/README.md index e03c4b138..57d197250 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@

NextChat (ChatGPT Next Web)

-English / [简体中文](./README_CN.md) +English / [简体中文](./README_CN.md) / [日本語](./README_JA.md) One-Click to get a well-designed cross-platform ChatGPT web UI, with GPT3, GPT4 & Gemini Pro support. @@ -207,226 +207,23 @@ After adding or modifying this environment variable, please redeploy the project ## Environment Variables -> [简体中文 > 如何配置 api key、访问密码、接口代理](./README_CN.md#环境变量) +> Most of this project's configurations are done through environment variables. Tutorial: [How to modify Vercel environment variables](./docs/vercel-en.md). -### `CODE` (optional) +### Basic Configuration + +#### `OPENAI_API_KEY` (required) + +Your OpenAI API key. You can separate multiple keys with commas for random polling between keys. + +#### `CODE` (optional) + +> Default: empty Access password, separated by comma. -### `OPENAI_API_KEY` (required) +**Warning**: If you don't set this value, anyone can access your deployment. This may lead to rapid token consumption. -Your openai api key, join multiple api keys with comma. - -### `BASE_URL` (optional) - -> Default: `https://api.openai.com` - -> Examples: `http://your-openai-proxy.com` - -Override openai api request base url. - -### `OPENAI_ORG_ID` (optional) - -Specify OpenAI organization ID. - -### `AZURE_URL` (optional) - -> Example: https://{azure-resource-url}/openai - -Azure deploy url. - -### `AZURE_API_KEY` (optional) - -Azure Api Key. - -### `AZURE_API_VERSION` (optional) - -Azure Api Version, find it at [Azure Documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions). - -### `GOOGLE_API_KEY` (optional) - -Google Gemini Pro Api Key. - -### `GOOGLE_URL` (optional) - -Google Gemini Pro Api Url. - -### `ANTHROPIC_API_KEY` (optional) - -anthropic claude Api Key. - -### `ANTHROPIC_API_VERSION` (optional) - -anthropic claude Api version. - -### `ANTHROPIC_URL` (optional) - -anthropic claude Api Url. - -### `BAIDU_API_KEY` (optional) - -Baidu Api Key. - -### `BAIDU_SECRET_KEY` (optional) - -Baidu Secret Key. - -### `BAIDU_URL` (optional) - -Baidu Api Url. - -### `BYTEDANCE_API_KEY` (optional) - -ByteDance Api Key. - -### `BYTEDANCE_URL` (optional) - -ByteDance Api Url. - -### `ALIBABA_API_KEY` (optional) - -Alibaba Cloud Api Key. - -### `ALIBABA_URL` (optional) - -Alibaba Cloud Api Url. - -### `IFLYTEK_URL` (Optional) - -iflytek Api Url. - -### `IFLYTEK_API_KEY` (Optional) - -iflytek Api Key. - -### `IFLYTEK_API_SECRET` (Optional) - -iflytek Api Secret. - -### `CHATGLM_API_KEY` (optional) - -ChatGLM Api Key. - -### `CHATGLM_URL` (optional) - -ChatGLM Api Url. - -### `HIDE_USER_API_KEY` (optional) - -> Default: Empty - -If you do not want users to input their own API key, set this value to 1. - -### `DISABLE_GPT4` (optional) - -> Default: Empty - -If you don't want users to use GPT-4, set this value to 1. This will hide all GPT-4 related models from the model list. - -### `ENABLE_BALANCE_QUERY` (optional) - -> Default: Empty - -If you do want users to query balance, set this value to 1. - -### `DISABLE_FAST_LINK` (optional) - -> Default: Empty - -If you want to disable parse settings from url, set this to 1. - -### `CUSTOM_MODELS` (optional) - -> Default: Empty -> Example: `+llama,+claude-2,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo` means add `llama, claude-2` to model list, and remove `gpt-3.5-turbo` from list, and display `gpt-4-1106-preview` as `gpt-4-turbo`. - -To control custom models, use `+` to add a custom model, use `-` to hide a model, use `name=displayName` to customize model name, separated by comma. - -User `-all` to disable all default models, `+all` to enable all default models. - -For Azure: use `modelName@Azure=deploymentName` to customize model name and deployment name. -> Example: `+gpt-3.5-turbo@Azure=gpt35` will show option `gpt35(Azure)` in model list. -> If you only can use Azure model, `-all,+gpt-3.5-turbo@Azure=gpt35` will `gpt35(Azure)` the only option in model list. - -For ByteDance: use `modelName@bytedance=deploymentName` to customize model name and deployment name. -> Example: `+Doubao-lite-4k@bytedance=ep-xxxxx-xxx` will show option `Doubao-lite-4k(ByteDance)` in model list. - -### `DEFAULT_MODEL` (optional) - -Change default model - -### `WHITE_WEBDAV_ENDPOINTS` (optional) - -You can use this option if you want to increase the number of webdav service addresses you are allowed to access, as required by the format: -- Each address must be a complete endpoint -> `https://xxxx/yyy` -- Multiple addresses are connected by ', ' - -### `DEFAULT_INPUT_TEMPLATE` (optional) - -Customize the default template used to initialize the User Input Preprocessing configuration item in Settings. - -### `STABILITY_API_KEY` (optional) - -Stability API key. - -### `STABILITY_URL` (optional) - -Customize Stability API url. - -### `CLOUDFLARE_ACCOUNT_ID` (optional) - -Cloudflare Account ID. - -### `CLOUDFLARE_KV_NAMESPACE_ID` (optional) - -Cloudflare KV Namespace ID. - -### `CLOUDFLARE_KV_API_KEY` (optional) - -Cloudflare KV API Key. - -### `CLOUDFLARE_KV_TTL` (optional) - -Cloudflare KV cache expiration time. - -### `GTM_ID` (optional) - -Google Tag Manager ID. - -### `GA_ID` (optional) - -Google Analytics ID. Will use default value if not set. - -### `TENCENT_SECRET_ID` (optional) - -Tencent Cloud Secret ID. - -### `TENCENT_SECRET_KEY` (optional) - -Tencent Cloud Secret Key. - -### `TENCENT_URL` (optional) - -Tencent Cloud API URL. - -### `MOONSHOT_URL` (optional) - -Moonshot API URL. - -### `MOONSHOT_API_KEY` (optional) - -Moonshot API Key. - -### `XAI_URL` (optional) - -XAI API URL. - -### `XAI_API_KEY` (optional) - -XAI API Key. - -### `PROXY_URL` (optional) +#### `PROXY_URL` (optional) > Example: `http://127.0.0.1:7890` @@ -439,6 +236,328 @@ http://username:password@127.0.0.1:7890 Note: This configuration only works when deploying with Docker. +### Model Configuration + +#### `BASE_URL` (optional) + +> Default: `https://api.openai.com` + +> Examples: `http://your-openai-proxy.com` + +Override openai api request base url. + +> If you encounter SSL certificate issues, try setting the protocol to http. + +#### `OPENAI_ORG_ID` (optional) + +> Default: empty + +Specify OpenAI organization ID. + +#### `AZURE_URL` (optional) + +> Example: https://{azure-resource-url}/openai + +Azure deploy url. + +#### `AZURE_API_KEY` (optional) + +Azure Api Key. + +#### `AZURE_API_VERSION` (optional) + +Azure Api Version, find it at [Azure Documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions). + +### Other Model Providers + +#### `GOOGLE_API_KEY` (optional) + +Google Gemini Pro Api Key. + +#### `GOOGLE_URL` (optional) + +> Default: "https://generativelanguage.googleapis.com/" + +Google Gemini Pro Api Url. + +#### `ANTHROPIC_API_KEY` (optional) + +Anthropic Claude Api Key. + +#### `ANTHROPIC_API_VERSION` (optional) + +Anthropic Claude Api version. + +#### `ANTHROPIC_URL` (optional) + +> Default: "https://api.anthropic.com" + +Anthropic Claude Api Url. + +#### `BAIDU_API_KEY` (optional) + +Baidu Api Key. + +#### `BAIDU_SECRET_KEY` (optional) + +Baidu Secret Key. + +#### `BAIDU_URL` (optional) + +> Default: "https://aip.baidubce.com" + +Baidu Api Url. + +#### `BYTEDANCE_API_KEY` (optional) + +ByteDance Api Key. + +#### `BYTEDANCE_URL` (optional) + +> Default: "https://ark.cn-beijing.volces.com/api/" + +ByteDance Api Url. + +#### `ALIBABA_API_KEY` (optional) + +Alibaba Cloud Api Key. + +#### `ALIBABA_URL` (optional) + +> Default: "https://dashscope.aliyuncs.com/api/" + +Alibaba Cloud Api Url. + +#### `IFLYTEK_API_KEY` (optional) + +Iflytek Api Key. + +#### `IFLYTEK_API_SECRET` (optional) + +Iflytek Api Secret. + +#### `IFLYTEK_URL` (optional) + +> Default: "https://spark-api-open.xf-yun.com" + +Iflytek Api Url. + +#### `MOONSHOT_API_KEY` (optional) + +Moonshot API Key. + +#### `MOONSHOT_URL` (optional) + +> Default: "https://api.moonshot.cn" + +Moonshot API URL. + +#### `XAI_API_KEY` (optional) + +XAI API Key. + +#### `XAI_URL` (optional) + +> Default: "https://api.x.ai" + +XAI API URL. + +#### `CHATGLM_API_KEY` (optional) + +ChatGLM Api Key. + +#### `CHATGLM_URL` (optional) + +> Default: "https://open.bigmodel.cn" + +ChatGLM Api Url. + +#### `TENCENT_SECRET_ID` (optional) + +Tencent Cloud Secret ID. + +#### `TENCENT_SECRET_KEY` (optional) + +Tencent Cloud Secret Key. + +#### `TENCENT_URL` (optional) + +> Default: "https://hunyuan.tencentcloudapi.com" + +Tencent Cloud API URL. + +#### `CUSTOM_MODELS` (optional) + +> Example: `+llama,+claude-2,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo` means add `llama, claude-2` to model list, and remove `gpt-3.5-turbo` from list, and display `gpt-4-1106-preview` as `gpt-4-turbo`. + +To control custom models, use `+` to add a custom model, use `-` to hide a model, use `name=displayName` to customize model name, separated by comma. + +Use `-all` to disable all default models, `+all` to enable all default models. + +For Azure: use `modelName@Azure=deploymentName` to customize model name and deployment name. +> Example: `+gpt-3.5-turbo@Azure=gpt35` will show option `gpt35(Azure)` in model list. +> If you only can use Azure model, `-all,+gpt-3.5-turbo@Azure=gpt35` will make `gpt35(Azure)` the only option in model list. + +For ByteDance: use `modelName@bytedance=deploymentName` to customize model name and deployment name. +> Example: `+Doubao-lite-4k@bytedance=ep-xxxxx-xxx` will show option `Doubao-lite-4k(ByteDance)` in model list. + +#### `DEFAULT_MODEL` (optional) + +> Default: empty + +Change default model. + +### Features + +#### `HIDE_USER_API_KEY` (optional) + +> Default: empty + +If you do not want users to input their own API key, set this value to 1. + +#### `DISABLE_GPT4` (optional) + +> Default: empty + +If you don't want users to use GPT-4, set this value to 1. This will hide all GPT-4 related models from the model list. + +#### `ENABLE_BALANCE_QUERY` (optional) + +> Default: empty + +If you do want users to query balance, set this value to 1. + +#### `DISABLE_FAST_LINK` (optional) + +> Default: empty + +If you want to disable parse settings from url, set this to 1. + +#### `CHAT_PAGE_SIZE` (optional) + +> Default: 15 + +Number of chat messages to load per page. + +#### `MAX_RENDER_MSG_COUNT` (optional) + +> Default: 45 + +Maximum number of messages to render in chat window. + +#### `DEFAULT_INPUT_TEMPLATE` (optional) + +> Default: "{{input}}" + +Customize the default template used to initialize the User Input Preprocessing configuration item in Settings. + +### TTS Related + +#### `DEFAULT_TTS_ENGINE` (optional) + +> Default: `OpenAI-TTS` + +Default text-to-speech engine. + +#### `DEFAULT_TTS_ENGINES` (optional) + +> Default: `["OpenAI-TTS", "Edge-TTS"]` + +Available text-to-speech engines. + +#### `DEFAULT_TTS_MODEL` (optional) + +> Default: `tts-1` + +Default OpenAI TTS model. + +#### `DEFAULT_TTS_VOICE` (optional) + +> Default: `alloy` + +Default TTS voice. + +#### `DEFAULT_TTS_MODELS` (optional) + +> Default: `["tts-1", "tts-1-hd"]` + +Available OpenAI TTS models. + +#### `DEFAULT_TTS_VOICES` (optional) + +> Default: `["alloy", "echo", "fable", "onyx", "nova", "shimmer"]` + +Available TTS voices. + +### Other Services + +#### `WHITE_WEBDAV_ENDPOINTS` (optional) + +You can use this option if you want to increase the number of webdav service addresses you are allowed to access, as required by the format: +- Each address must be a complete endpoint +> `https://xxxx/yyy` +- Multiple addresses are connected by ', ' + +#### `STABILITY_API_KEY` (optional) + +> Default: empty + +Stability API key. + +#### `STABILITY_URL` (optional) + +> Default: "https://api.stability.ai" + +Customize Stability API url. + +#### `CLOUDFLARE_ACCOUNT_ID` (optional) + +> Default: empty + +Cloudflare Account ID. + +#### `CLOUDFLARE_KV_NAMESPACE_ID` (optional) + +> Default: empty + +Cloudflare KV Namespace ID. + +#### `CLOUDFLARE_KV_API_KEY` (optional) + +> Default: empty + +Cloudflare KV API Key. + +#### `CLOUDFLARE_KV_TTL` (optional) + +> Default: empty + +Cloudflare KV cache expiration time. + +#### `GTM_ID` (optional) + +> Default: empty + +Google Tag Manager ID. + +#### `GA_ID` (optional) + +> Default: "G-89WN60ZK2E" + +Google Analytics ID. Will use default value if not set. + +#### `SAAS_CHAT_URL` (optional) + +> Default: "https://nextchat.dev/chat" + +SaaS chat URL. + +#### `SAAS_CHAT_UTM_URL` (optional) + +> Default: "https://nextchat.dev/chat?utm=github" + +SaaS chat URL with UTM parameters. + ## Requirements NodeJS >= 18, Docker >= 20 diff --git a/README_CN.md b/README_CN.md index 508e888a8..200089227 100644 --- a/README_CN.md +++ b/README_CN.md @@ -6,6 +6,8 @@

NextChat

+[English](./README.md) / 简体中文 / [日本語](./README_JA.md) + 一键免费部署你的私人 ChatGPT 网页应用,支持 GPT3, GPT4 & Gemini Pro 模型。 [NextChatAI](https://nextchat.dev/chat?utm_source=readme) / [企业版](#%E4%BC%81%E4%B8%9A%E7%89%88) / [演示 Demo](https://chat-gpt-next-web.vercel.app/) / [反馈 Issues](https://github.com/Yidadaa/ChatGPT-Next-Web/issues) / [加入 Discord](https://discord.gg/zrhvHCr79N) @@ -86,139 +88,176 @@ code1,code2,code3 > 本项目大多数配置项都通过环境变量来设置,教程:[如何修改 Vercel 环境变量](./docs/vercel-cn.md)。 -### `OPENAI_API_KEY` (必填项) +### 基本配置 + +#### `OPENAI_API_KEY` (必填项) OpanAI 密钥,你在 openai 账户页面申请的 api key,使用英文逗号隔开多个 key,这样可以随机轮询这些 key。 -### `CODE` (可选) +#### `CODE` (可选) + +> 默认值: 空 访问密码,可选,可以使用逗号隔开多个密码。 **警告**:如果不填写此项,则任何人都可以直接使用你部署后的网站,可能会导致你的 token 被急速消耗完毕,建议填写此选项。 -### `BASE_URL` (可选) +#### `PROXY_URL` (可选) -> Default: `https://api.openai.com` +> 示例:`http://127.0.0.1:7890` -> Examples: `http://your-openai-proxy.com` +代理服务器地址。支持 HTTP 和 SOCKS 代理。 + +如果代理服务器需要认证,可以使用以下格式: +```bash +http://username:password@127.0.0.1:7890 +``` + +注意:此配置仅在使用 Docker 部署时有效。 + +### 模型配置相关 + +#### `BASE_URL` (可选) + +> 默认值:`https://api.openai.com` + +> 示例:`http://your-openai-proxy.com` OpenAI 接口代理 URL,如果你手动配置了 openai 接口代理,请填写此选项。 > 如果遇到 ssl 证书问题,请将 `BASE_URL` 的协议设置为 http。 -### `OPENAI_ORG_ID` (可选) +#### `OPENAI_ORG_ID` (可选) 指定 OpenAI 中的组织 ID。 -### `AZURE_URL` (可选) +#### `AZURE_URL` (可选) > 形如:https://{azure-resource-url}/openai Azure 部署地址。 -### `AZURE_API_KEY` (可选) +#### `AZURE_API_KEY` (可选) Azure 密钥。 -### `AZURE_API_VERSION` (可选) +#### `AZURE_API_VERSION` (可选) Azure Api 版本,你可以在这里找到:[Azure 文档](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions)。 -### `GOOGLE_API_KEY` (可选) +#### `GOOGLE_API_KEY` (可选) -Google Gemini Pro 密钥. +Google Gemini Pro 密钥。 -### `GOOGLE_URL` (可选) +#### `GOOGLE_URL` (可选) -Google Gemini Pro Api Url. +Google Gemini Pro Api Url。 -### `ANTHROPIC_API_KEY` (可选) +#### `ANTHROPIC_API_KEY` (可选) -anthropic claude Api Key. +Anthropic Claude Api Key。 -### `ANTHROPIC_API_VERSION` (可选) +#### `ANTHROPIC_API_VERSION` (可选) -anthropic claude Api version. +Anthropic Claude Api version。 -### `ANTHROPIC_URL` (可选) +#### `ANTHROPIC_URL` (可选) -anthropic claude Api Url. +Anthropic Claude Api Url。 -### `BAIDU_API_KEY` (可选) +#### `BAIDU_API_KEY` (可选) -Baidu Api Key. +Baidu Api Key。 -### `BAIDU_SECRET_KEY` (可选) +#### `BAIDU_SECRET_KEY` (可选) -Baidu Secret Key. +Baidu Secret Key。 -### `BAIDU_URL` (可选) +#### `BAIDU_URL` (可选) -Baidu Api Url. +> 默认值: "https://aip.baidubce.com" -### `BYTEDANCE_API_KEY` (可选) +Baidu Api Url。 -ByteDance Api Key. +#### `BYTEDANCE_API_KEY` (可选) -### `BYTEDANCE_URL` (可选) +ByteDance Api Key。 -ByteDance Api Url. +#### `BYTEDANCE_URL` (可选) -### `ALIBABA_API_KEY` (可选) +> 默认值: "https://ark.cn-beijing.volces.com/api/" -阿里云(千问)Api Key. +ByteDance Api Url。 -### `ALIBABA_URL` (可选) +#### `ALIBABA_API_KEY` (可选) -阿里云(千问)Api Url. +阿里云(千问)Api Key。 -### `IFLYTEK_URL` (可选) +#### `ALIBABA_URL` (可选) -讯飞星火Api Url. +> 默认值: "https://dashscope.aliyuncs.com/api/" -### `IFLYTEK_API_KEY` (可选) +阿里云(千问)Api Url。 -讯飞星火Api Key. +#### `IFLYTEK_API_KEY` (可选) -### `IFLYTEK_API_SECRET` (可选) +讯飞星火 Api Key。 -讯飞星火Api Secret. +#### `IFLYTEK_API_SECRET` (可选) -### `CHATGLM_API_KEY` (可选) +讯飞星火 Api Secret。 -ChatGLM Api Key. +#### `IFLYTEK_URL` (可选) -### `CHATGLM_URL` (可选) +> 默认值: "https://spark-api-open.xf-yun.com" -ChatGLM Api Url. +讯飞星火 Api Url。 +#### `MOONSHOT_API_KEY` (可选) -### `HIDE_USER_API_KEY` (可选) +Moonshot API 密钥。 -如果你不想让用户自行填入 API Key,将此环境变量设置为 1 即可。 +#### `MOONSHOT_URL` (可选) -### `DISABLE_GPT4` (可选) +> 默认值: "https://api.moonshot.cn" -> 默认值:空 +Moonshot API 地址。 -如果你不想让用户使用 GPT-4,将此环境变量设置为 1 即可。这将从模型列表中隐藏所有 GPT-4 相关的模型。 +#### `XAI_API_KEY` (可选) -### `ENABLE_BALANCE_QUERY` (可选) +XAI API 密钥。 -如果你想启用余额查询功能,将此环境变量设置为 1 即可。 +#### `XAI_URL` (可选) -### `DISABLE_FAST_LINK` (可选) +> 默认值: "https://api.x.ai" -如果你想禁用从链接解析预制设置,将此环境变量设置为 1 即可。 +XAI API 地址。 -### `WHITE_WEBDAV_ENDPOINTS` (可选) +#### `CHATGLM_API_KEY` (可选) -如果你想增加允许访问的webdav服务地址,可以使用该选项,格式要求: -- 每一个地址必须是一个完整的 endpoint -> `https://xxxx/xxx` -- 多个地址以`,`相连 +ChatGLM Api Key。 -### `CUSTOM_MODELS` (可选) +#### `CHATGLM_URL` (可选) + +> 默认值: "https://open.bigmodel.cn" + +ChatGLM Api Url。 + +#### `TENCENT_SECRET_ID` (可选) + +腾讯云 Secret ID。 + +#### `TENCENT_SECRET_KEY` (可选) + +腾讯云 Secret Key。 + +#### `TENCENT_URL` (可选) + +> 默认值: "https://hunyuan.tencentcloudapi.com" + +腾讯云 API 地址。 + +#### `CUSTOM_MODELS` (可选) > 示例:`+qwen-7b-chat,+glm-6b,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo` 表示增加 `qwen-7b-chat` 和 `glm-6b` 到模型列表,而从列表中删除 `gpt-3.5-turbo`,并将 `gpt-4-1106-preview` 模型名字展示为 `gpt-4-turbo`。 > 如果你想先禁用所有模型,再启用指定模型,可以使用 `-all,+gpt-3.5-turbo`,则表示仅启用 `gpt-3.5-turbo` @@ -232,87 +271,162 @@ ChatGLM Api Url. 在ByteDance的模式下,支持使用`modelName@bytedance=deploymentName`的方式配置模型名称和部署名称(deploy-name) > 示例: `+Doubao-lite-4k@bytedance=ep-xxxxx-xxx`这个配置会在模型列表显示一个`Doubao-lite-4k(ByteDance)`的选项 +#### `DEFAULT_MODEL` (可选) -### `DEFAULT_MODEL` (可选) +> 默认值: 空 更改默认模型 -### `DEFAULT_INPUT_TEMPLATE` (可选) +### 功能相关 + +#### `HIDE_USER_API_KEY` (可选) + +> 默认值: 空 + +如果你不想让用户自行填入 API Key,将此环境变量设置为 1 即可。 + +#### `DISABLE_GPT4` (可选) + +> 默认值:空 + +如果你不想让用户使用 GPT-4,将此环境变量设置为 1 即可。这将从模型列表中隐藏所有 GPT-4 相关的模型。 + +#### `ENABLE_BALANCE_QUERY` (可选) + +> 默认值: 空 + +如果你想启用余额查询功能,将此环境变量设置为 1 即可。 + +#### `DISABLE_FAST_LINK` (可选) + +> 默认值: 空 + +如果你想禁用从链接解析预制设置,将此环境变量设置为 1 即可。 + +#### `CHAT_PAGE_SIZE` (可选) + +> 默认值: 15 + +每页加载的聊天消息数量。 + +#### `MAX_RENDER_MSG_COUNT` (可选) + +> 默认值: 45 + +聊天窗口中最大渲染的消息数量。 + +#### `DEFAULT_INPUT_TEMPLATE` (可选) + +> 默认值: "{{input}}" 自定义默认的 template,用于初始化『设置』中的『用户输入预处理』配置项 -### `STABILITY_API_KEY` (optional) +### TTS 相关 + +#### `DEFAULT_TTS_ENGINE` (可选) + +> 默认值: `OpenAI-TTS` + +默认的文字转语音引擎。 + +#### `DEFAULT_TTS_ENGINES` (可选) + +> 默认值: `["OpenAI-TTS", "Edge-TTS"]` + +可用的文字转语音引擎列表。 + +#### `DEFAULT_TTS_MODEL` (可选) + +> 默认值: `tts-1` + +默认的 OpenAI TTS 模型。 + +#### `DEFAULT_TTS_VOICE` (可选) + +> 默认值: `alloy` + +默认的语音声音。 + +#### `DEFAULT_TTS_MODELS` (可选) + +> 默认值: `["tts-1", "tts-1-hd"]` + +可用的 OpenAI TTS 模型列表。 + +#### `DEFAULT_TTS_VOICES` (可选) + +> 默认值: `["alloy", "echo", "fable", "onyx", "nova", "shimmer"]` + +可用的语音声音列表。 + +### 其他服务 + +#### `WHITE_WEBDAV_ENDPOINTS` (可选) + +如果你想增加允许访问的webdav服务地址,可以使用该选项,格式要求: +- 每一个地址必须是一个完整的 endpoint +> `https://xxxx/xxx` +- 多个地址以`,`相连 + +#### `STABILITY_API_KEY` (optional) + +> 默认值: 空 Stability API密钥 -### `STABILITY_URL` (optional) +#### `STABILITY_URL` (optional) + +> 默认值: "https://api.stability.ai" 自定义的Stability API请求地址 -### `CLOUDFLARE_ACCOUNT_ID` (可选) +#### `CLOUDFLARE_ACCOUNT_ID` (可选) + +> 默认值: 空 Cloudflare 账户 ID。 -### `CLOUDFLARE_KV_NAMESPACE_ID` (可选) +#### `CLOUDFLARE_KV_NAMESPACE_ID` (可选) + +> 默认值: 空 Cloudflare KV 命名空间 ID。 -### `CLOUDFLARE_KV_API_KEY` (可选) +#### `CLOUDFLARE_KV_API_KEY` (可选) + +> 默认值: 空 Cloudflare KV API 密钥。 -### `CLOUDFLARE_KV_TTL` (可选) +#### `CLOUDFLARE_KV_TTL` (可选) + +> 默认值: 空 Cloudflare KV 缓存过期时间。 -### `GTM_ID` (可选) +#### `GTM_ID` (可选) + +> 默认值: 空 Google Tag Manager ID。 -### `GA_ID` (可选) +#### `GA_ID` (可选) + +> 默认值: "G-89WN60ZK2E" Google Analytics ID。如果不设置则使用默认值。 -### `TENCENT_SECRET_ID` (可选) +#### `SAAS_CHAT_URL` (可选) -腾讯云 Secret ID。 +> 默认值: "https://nextchat.dev/chat" -### `TENCENT_SECRET_KEY` (可选) +SaaS 聊天 URL。 -腾讯云 Secret Key。 +#### `SAAS_CHAT_UTM_URL` (可选) -### `TENCENT_URL` (可选) +> 默认值: "https://nextchat.dev/chat?utm=github" -腾讯云 API 地址。 - -### `MOONSHOT_URL` (可选) - -Moonshot API 地址。 - -### `MOONSHOT_API_KEY` (可选) - -Moonshot API 密钥。 - -### `XAI_URL` (可选) - -XAI API 地址。 - -### `XAI_API_KEY` (可选) - -XAI API 密钥。 - -### `PROXY_URL` (可选) - -> 示例:`http://127.0.0.1:7890` - -代理服务器地址。支持 HTTP 和 SOCKS 代理。 - -如果代理服务器需要认证,可以使用以下格式: -```bash -http://username:password@127.0.0.1:7890 -``` - -注意:此配置仅在使用 Docker 部署时有效。 +带 UTM 参数的 SaaS 聊天 URL。 ## 开发 @@ -401,3 +515,5 @@ bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/s ## 开源协议 [MIT](https://opensource.org/license/mit/) +``` + diff --git a/README_JA.md b/README_JA.md index 8c5a4b88a..9edb74b4c 100644 --- a/README_JA.md +++ b/README_JA.md @@ -3,6 +3,8 @@

NextChat

+[English](./README.md) / [简体中文](./README_CN.md) / 日本語 + ワンクリックで無料であなた専用の ChatGPT ウェブアプリをデプロイ。GPT3、GPT4 & Gemini Pro モデルをサポート。 [NextChatAI](https://nextchat.dev/chat?utm_source=readme) / [企業版](#企業版) / [デモ](https://chat-gpt-next-web.vercel.app/) / [フィードバック](https://github.com/Yidadaa/ChatGPT-Next-Web/issues) / [Discordに参加](https://discord.gg/zrhvHCr79N) @@ -90,192 +92,21 @@ code1,code2,code3 > 本プロジェクトのほとんどの設定は環境変数で行います。チュートリアル:[Vercel の環境変数を変更する方法](./docs/vercel-ja.md)。 -### `OPENAI_API_KEY` (必須) +### 基本設定 -OpenAI の API キー。OpenAI アカウントページで申請したキーをカンマで区切って複数設定できます。これにより、ランダムにキーが選択されます。 +#### `OPENAI_API_KEY` (必須) -### `CODE` (オプション) +OpenAI の API キー。複数のキーをカンマで区切って設定でき、ランダムに選択されます。 + +#### `CODE` (オプション) + +> デフォルト値: 空 アクセスパスワード。カンマで区切って複数設定可能。 **警告**:この項目を設定しないと、誰でもデプロイしたウェブサイトを利用でき、トークンが急速に消耗する可能性があるため、設定をお勧めします。 -### `BASE_URL` (オプション) - -> デフォルト: `https://api.openai.com` - -> 例: `http://your-openai-proxy.com` - -OpenAI API のプロキシ URL。手動で OpenAI API のプロキシを設定している場合はこのオプションを設定してください。 - -> SSL 証明書の問題がある場合は、`BASE_URL` のプロトコルを http に設定してください。 - -### `OPENAI_ORG_ID` (オプション) - -OpenAI の組織 ID を指定します。 - -### `AZURE_URL` (オプション) - -> 形式: https://{azure-resource-url}/openai/deployments/{deploy-name} -> `CUSTOM_MODELS` で `displayName` 形式で {deploy-name} を設定した場合、`AZURE_URL` から {deploy-name} を省略できます。 - -Azure のデプロイ URL。 - -### `AZURE_API_KEY` (オプション) - -Azure の API キー。 - -### `AZURE_API_VERSION` (オプション) - -Azure API バージョン。[Azure ドキュメント](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions)で確認できます。 - -### `GOOGLE_API_KEY` (オプション) - -Google Gemini Pro API キー。 - -### `GOOGLE_URL` (オプション) - -Google Gemini Pro API の URL。 - -### `ANTHROPIC_API_KEY` (オプション) - -Anthropic Claude API キー。 - -### `ANTHROPIC_API_VERSION` (オプション) - -Anthropic Claude API バージョン。 - -### `ANTHROPIC_URL` (オプション) - -Anthropic Claude API の URL。 - -### `BAIDU_API_KEY` (オプション) - -Baidu API キー。 - -### `BAIDU_SECRET_KEY` (オプション) - -Baidu シークレットキー。 - -### `BAIDU_URL` (オプション) - -Baidu API の URL。 - -### `BYTEDANCE_API_KEY` (オプション) - -ByteDance API キー。 - -### `BYTEDANCE_URL` (オプション) - -ByteDance API の URL。 - -### `ALIBABA_API_KEY` (オプション) - -アリババ(千问)API キー。 - -### `ALIBABA_URL` (オプション) - -アリババ(千问)API の URL。 - -### `HIDE_USER_API_KEY` (オプション) - -ユーザーが API キーを入力できないようにしたい場合は、この環境変数を 1 に設定します。 - -### `DISABLE_GPT4` (オプション) - -> デフォルト:空 - -ユーザーが GPT-4 を使用できないようにしたい場合は、この環境変数を 1 に設定します。これにより、モデルリストから GPT-4 関連のすべてのモデルが非表示になります。 - -### `ENABLE_BALANCE_QUERY` (オプション) - -バランスクエリ機能を有効にしたい場合は、この環境変数を 1 に設定します。 - -### `DISABLE_FAST_LINK` (オプション) - -リンクからのプリセット設定解析を無効にしたい場合は、この環境変数を 1 に設定します。 - -### `WHITE_WEBDAV_ENDPOINTS` (オプション) - -アクセス許可を与える WebDAV サービスのアドレスを追加したい場合、このオプションを使用します。フォーマット要件: -- 各アドレスは完全なエンドポイントでなければなりません。 -> `https://xxxx/xxx` -- 複数のアドレスは `,` で接続します。 - -### `CUSTOM_MODELS` (オプション) - -> 例:`+qwen-7b-chat,+glm-6b,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo` は `qwen-7b-chat` と `glm-6b` をモデルリストに追加し、`gpt-3.5-turbo` を削除し、`gpt-4-1106-preview` のモデル名を `gpt-4-turbo` として表示します。 -> すべてのモデルを無効にし、特定のモデルを有効にしたい場合は、`-all,+gpt-3.5-turbo` を使用します。これは `gpt-3.5-turbo` のみを有効にすることを意味します。 - -モデルリストを管理します。`+` でモデルを追加し、`-` でモデルを非表示にし、`モデル名=表示名` でモデルの表示名をカスタマイズし、カンマで区切ります。 - -Azure モードでは、`modelName@Azure=deploymentName` 形式でモデル名とデプロイ名(deploy-name)を設定できます。 -> 例:`+gpt-3.5-turbo@Azure=gpt35` この設定でモデルリストに `gpt35(Azure)` のオプションが表示されます。 - -ByteDance モードでは、`modelName@bytedance=deploymentName` 形式でモデル名とデプロイ名(deploy-name)を設定できます。 -> 例: `+Doubao-lite-4k@bytedance=ep-xxxxx-xxx` この設定でモデルリストに `Doubao-lite-4k(ByteDance)` のオプションが表示されます。 - -### `DEFAULT_MODEL` (オプション) - -デフォルトのモデルを変更します。 - -### `DEFAULT_INPUT_TEMPLATE` (オプション) - -『設定』の『ユーザー入力前処理』の初期設定に使用するテンプレートをカスタマイズします。 - -### `CLOUDFLARE_ACCOUNT_ID` (オプション) - -Cloudflare アカウント ID。 - -### `CLOUDFLARE_KV_NAMESPACE_ID` (オプション) - -Cloudflare KV ネームスペース ID。 - -### `CLOUDFLARE_KV_API_KEY` (オプション) - -Cloudflare KV API キー。 - -### `CLOUDFLARE_KV_TTL` (オプション) - -Cloudflare KV キャッシュの有効期限。 - -### `GTM_ID` (オプション) - -Google Tag Manager ID。 - -### `GA_ID` (オプション) - -Google Analytics ID。設定されていない場合はデフォルト値を使用します。 - -### `TENCENT_SECRET_ID` (オプション) - -Tencent Cloud Secret ID。 - -### `TENCENT_SECRET_KEY` (オプション) - -Tencent Cloud Secret Key。 - -### `TENCENT_URL` (オプション) - -Tencent Cloud API の URL。 - -### `MOONSHOT_URL` (オプション) - -Moonshot API の URL。 - -### `MOONSHOT_API_KEY` (オプション) - -Moonshot API キー。 - -### `XAI_URL` (オプション) - -XAI API の URL。 - -### `XAI_API_KEY` (オプション) - -XAI API キー。 - -### `PROXY_URL` (オプション) +#### `PROXY_URL` (オプション) > 例:`http://127.0.0.1:7890` @@ -288,6 +119,328 @@ http://username:password@127.0.0.1:7890 注意:この設定は Docker でデプロイする場合のみ有効です。 +### モデル設定 + +#### `BASE_URL` (オプション) + +> デフォルト値: `https://api.openai.com` + +> 例: `http://your-openai-proxy.com` + +OpenAI API のプロキシ URL。手動で OpenAI API のプロキシを設定している場合はこのオプションを設定してください。 + +> SSL 証明書の問題がある場合は、`BASE_URL` のプロトコルを http に設定してください。 + +#### `OPENAI_ORG_ID` (オプション) + +> デフォルト値: 空 + +OpenAI の組織 ID を指定します。 + +#### `AZURE_URL` (オプション) + +> 形式: https://{azure-resource-url}/openai/deployments/{deploy-name} + +Azure のデプロイ URL。 + +#### `AZURE_API_KEY` (オプション) + +Azure の API キー。 + +#### `AZURE_API_VERSION` (オプション) + +Azure API バージョン。[Azure ドキュメント](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions)で確認できます。 + +### その他のモデルプロバイダー + +#### `GOOGLE_API_KEY` (オプション) + +Google Gemini Pro API キー。 + +#### `GOOGLE_URL` (オプション) + +> デフォルト値: "https://generativelanguage.googleapis.com/" + +Google Gemini Pro API の URL。 + +#### `ANTHROPIC_API_KEY` (オプション) + +Anthropic Claude API キー。 + +#### `ANTHROPIC_API_VERSION` (オプション) + +Anthropic Claude API バージョン。 + +#### `ANTHROPIC_URL` (オプション) + +> デフォルト値: "https://api.anthropic.com" + +Anthropic Claude API の URL。 + +#### `BAIDU_API_KEY` (オプション) + +Baidu API キー。 + +#### `BAIDU_SECRET_KEY` (オプション) + +Baidu シークレットキー。 + +#### `BAIDU_URL` (オプション) + +> デフォルト値: "https://aip.baidubce.com" + +Baidu API の URL。 + +#### `BYTEDANCE_API_KEY` (オプション) + +ByteDance API キー。 + +#### `BYTEDANCE_URL` (オプション) + +> デフォルト値: "https://ark.cn-beijing.volces.com/api/" + +ByteDance API の URL。 + +#### `ALIBABA_API_KEY` (オプション) + +アリババ(千问)API キー。 + +#### `ALIBABA_URL` (オプション) + +> デフォルト値: "https://dashscope.aliyuncs.com/api/" + +アリババ(千问)API の URL。 + +#### `IFLYTEK_API_KEY` (オプション) + +讯飞星火 API キー。 + +#### `IFLYTEK_API_SECRET` (オプション) + +讯飞星火 API シークレット。 + +#### `IFLYTEK_URL` (オプション) + +> デフォルト値: "https://spark-api-open.xf-yun.com" + +讯飞星火 API の URL。 + +#### `MOONSHOT_API_KEY` (オプション) + +Moonshot API キー。 + +#### `MOONSHOT_URL` (オプション) + +> デフォルト値: "https://api.moonshot.cn" + +Moonshot API の URL。 + +#### `XAI_API_KEY` (オプション) + +XAI API キー。 + +#### `XAI_URL` (オプション) + +> デフォルト値: "https://api.x.ai" + +XAI API の URL。 + +#### `CHATGLM_API_KEY` (オプション) + +ChatGLM API キー。 + +#### `CHATGLM_URL` (オプション) + +> デフォルト値: "https://open.bigmodel.cn" + +ChatGLM API の URL。 + +#### `TENCENT_SECRET_ID` (オプション) + +Tencent Cloud シークレット ID。 + +#### `TENCENT_SECRET_KEY` (オプション) + +Tencent Cloud シークレットキー。 + +#### `TENCENT_URL` (オプション) + +> デフォルト値: "https://hunyuan.tencentcloudapi.com" + +Tencent Cloud API の URL。 + +#### `CUSTOM_MODELS` (オプション) + +> 例:`+llama,+claude-2,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo` は `llama, claude-2` をモデルリストに追加し、`gpt-3.5-turbo` を削除し、`gpt-4-1106-preview` のモデル名を `gpt-4-turbo` として表示します。 + +モデルリストを管理します。`+` でモデルを追加し、`-` でモデルを非表示にし、`モデル名=表示名` でモデルの表示名をカスタマイズし、カンマで区切ります。 + +`-all` ですべてのデフォルトモデルを無効にし、`+all` ですべてのデフォルトモデルを有効にします。 + +Azure モードでは、`modelName@Azure=deploymentName` 形式でモデル名とデプロイ名を設定できます。 +> 例:`+gpt-3.5-turbo@Azure=gpt35` この設定でモデルリストに `gpt35(Azure)` のオプションが表示されます。 +> Azure モデルのみを使用する場合は、`-all,+gpt-3.5-turbo@Azure=gpt35` を設定すると `gpt35(Azure)` のみが選択可能になります。 + +ByteDance モードでは、`modelName@bytedance=deploymentName` 形式でモデル名とデプロイ名を設定できます。 +> 例: `+Doubao-lite-4k@bytedance=ep-xxxxx-xxx` この設定でモデルリストに `Doubao-lite-4k(ByteDance)` のオプションが表示されます。 + +#### `DEFAULT_MODEL` (オプション) + +> デフォルト値: 空 + +デフォルトのモデルを変更します。 + +### 機能関連 + +#### `HIDE_USER_API_KEY` (オプション) + +> デフォルト値: 空 + +ユーザーが API キーを入力できないようにしたい場合は、この環境変数を 1 に設定します。 + +#### `DISABLE_GPT4` (オプション) + +> デフォルト値:空 + +ユーザーが GPT-4 を使用できないようにしたい場合は、この環境変数を 1 に設定します。これにより、モデルリストから GPT-4 関連のすべてのモデルが非表示になります。 + +#### `ENABLE_BALANCE_QUERY` (オプション) + +> デフォルト値: 空 + +バランスクエリ機能を有効にしたい場合は、この環境変数を 1 に設定します。 + +#### `DISABLE_FAST_LINK` (オプション) + +> デフォルト値: 空 + +リンクからのプリセット設定解析を無効にしたい場合は、この環境変数を 1 に設定します。 + +#### `CHAT_PAGE_SIZE` (オプション) + +> デフォルト値: 15 + +1ページあたりのチャットメッセージ数。 + +#### `MAX_RENDER_MSG_COUNT` (オプション) + +> デフォルト値: 45 + +チャットウィンドウに表示できるメッセージの最大数。 + +#### `DEFAULT_INPUT_TEMPLATE` (オプション) + +> デフォルト値: "{{input}}" + +『設定』の『ユーザー入力前処理』の初期設定に使用するテンプレート。 + +### TTS 関連 + +#### `DEFAULT_TTS_ENGINE` (オプション) + +> デフォルト値: `OpenAI-TTS` + +デフォルトの音声合成エンジン。 + +#### `DEFAULT_TTS_ENGINES` (オプション) + +> デフォルト値: `["OpenAI-TTS", "Edge-TTS"]` + +利用可能な音声合成エンジンのリスト。 + +#### `DEFAULT_TTS_MODEL` (オプション) + +> デフォルト値: `tts-1` + +デフォルトの OpenAI TTS モデル。 + +#### `DEFAULT_TTS_VOICE` (オプション) + +> デフォルト値: `alloy` + +デフォルトの音声。 + +#### `DEFAULT_TTS_MODELS` (オプション) + +> デフォルト値: `["tts-1", "tts-1-hd"]` + +利用可能な OpenAI TTS モデルのリスト。 + +#### `DEFAULT_TTS_VOICES` (オプション) + +> デフォルト値: `["alloy", "echo", "fable", "onyx", "nova", "shimmer"]` + +利用可能な音声のリスト。 + +### その他のサービス + +#### `WHITE_WEBDAV_ENDPOINTS` (オプション) + +アクセスを許可する WebDAV サービスのアドレスを追加する場合に使用します。フォーマット要件: +- 各アドレスは完全なエンドポイントである必要があります +> `https://xxxx/xxx` +- 複数のアドレスは `,` で接続します + +#### `STABILITY_API_KEY` (オプション) + +> デフォルト値: 空 + +Stability API キー。 + +#### `STABILITY_URL` (オプション) + +> デフォルト値: "https://api.stability.ai" + +カスタム Stability API の URL。 + +#### `CLOUDFLARE_ACCOUNT_ID` (オプション) + +> デフォルト値: 空 + +Cloudflare アカウント ID。 + +#### `CLOUDFLARE_KV_NAMESPACE_ID` (オプション) + +> デフォルト値: 空 + +Cloudflare KV ネームスペース ID。 + +#### `CLOUDFLARE_KV_API_KEY` (オプション) + +> デフォルト値: 空 + +Cloudflare KV API キー。 + +#### `CLOUDFLARE_KV_TTL` (オプション) + +> デフォルト値: 空 + +Cloudflare KV キャッシュの有効期限。 + +#### `GTM_ID` (オプション) + +> デフォルト値: 空 + +Google Tag Manager ID。 + +#### `GA_ID` (オプション) + +> デフォルト値: "G-89WN60ZK2E" + +Google Analytics ID。設定されていない場合はデフォルト値を使用します。 + +#### `SAAS_CHAT_URL` (オプション) + +> デフォルト値: "https://nextchat.dev/chat" + +SaaS チャット URL。 + +#### `SAAS_CHAT_UTM_URL` (オプション) + +> デフォルト値: "https://nextchat.dev/chat?utm=github" + +UTM パラメータ付きの SaaS チャット URL。 + ## 開発 diff --git a/docs/vercel-en.md b/docs/vercel-en.md new file mode 100644 index 000000000..cf09313a8 --- /dev/null +++ b/docs/vercel-en.md @@ -0,0 +1,39 @@ +# Vercel Usage Instructions + +## How to Create a New Project +After forking this project from Github, you need to create a new Vercel project in Vercel to redeploy it. Follow these steps: + +![vercel-create-1](./images/vercel/vercel-create-1.jpg) +1. Go to the Vercel console homepage; +2. Click "Add New"; +3. Select "Project". + +![vercel-create-2](./images/vercel/vercel-create-2.jpg) +1. In Import Git Repository, search for chatgpt-next-web; +2. Select the newly forked project and click Import. + +![vercel-create-3](./images/vercel/vercel-create-3.jpg) +1. On the project configuration page, click Environment Variables to start configuring environment variables; +2. Add environment variables named OPENAI_API_KEY and CODE ([access password](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/blob/main/docs/faq-en.md#what-is-the-environment-variable-code-is-it-necessary-to-set-it)); +3. Fill in the corresponding values for the environment variables; +4. Click Add to confirm adding the environment variables; +5. Make sure you've added OPENAI_API_KEY, otherwise it won't work; +6. Click Deploy, complete the creation, and wait patiently for about 5 minutes for deployment to complete. + +## How to Add a Custom Domain +[TODO] + +## How to Change Environment Variables +![vercel-env-edit](./images/vercel/vercel-env-edit.jpg) +1. Go to the Vercel project internal console and click the Settings button at the top; +2. Click Environment Variables on the left; +3. Click the button on the right of an existing entry; +4. Select Edit to make changes, then save. + +⚠️️ Note: Every time you modify environment variables, you need to [redeploy the project](#how-to-redeploy) to make the changes take effect! + +## How to Redeploy +![vercel-redeploy](./images/vercel/vercel-redeploy.jpg) +1. Go to the Vercel project internal console and click the Deployments button at the top; +2. Select the button on the right of the topmost item in the list; +3. Click Redeploy to start redeployment.