settings.js
export default {
// Options for the Keyv cache, see https://www.npmjs.com/package/keyv.
// This is used for storing conversations, and supports additional drivers (conversations are stored in memory by default).
// Only necessary when using ChatGPTClient
, or BingAIClient
in jailbreak mode.
cacheOptions: {},
// If set, ChatGPTClient
and BingAIClient
will use keyv-file
to store conversations to this JSON file instead of in memory.
// However, cacheOptions.store
will override this if set
storageFilePath: process.env.STORAGE_FILE_PATH || './cache.json',
chatGptClient: {
// Your OpenAI API key (for ChatGPTClient
)
openaiApiKey: process.env.OPENAI_API_KEY || 'API',
// (Optional) Support for a reverse proxy for the completions endpoint (private API server).
// Warning: This will expose your openaiApiKey
to a third party. Consider the risks before using this.
// reverseProxyUrl: 'https://chatgpt.hato.ai/completions',
// (Optional) Parameters as described in https://platform.openai.com/docs/api-reference/completions
modelOptions: {
// You can override the model name and any other parameters here.
// The default model is gpt-3.5-turbo
.
model: 'gpt-3.5-turbo',
// Set max_tokens here to override the default max_tokens of 1000 for the completion.
// max_tokens: 1000,
},
// (Optional) Davinci models have a max context length of 4097 tokens, but you may need to change this for other models.
// maxContextTokens: 4097,
// (Optional) You might want to lower this to save money if using a paid model like text-davinci-003
.
// Earlier messages will be dropped until the prompt is within the limit.
// maxPromptTokens: 3097,
// (Optional) Set custom instructions instead of "You are ChatGPT...".
// (Optional) Set a custom name for the user
// userLabel: 'User',
// (Optional) Set a custom name for ChatGPT ("ChatGPT" by default)
// chatGptLabel: 'Bob',
// promptPrefix: 'You are Bob, a cowboy in Western times...',
// A proxy string like "http://:"
proxy: 'http://127.0.0.1:10809',
// (Optional) Set to true to enable console.debug()
logging
debug: false,
},
// Options for the Bing client
bingAiClient: {
// Necessary for some people in different countries, e.g. China (https://cn.bing.com)
host: 'https://www.bing.com',
// The "_U" cookie value from bing.com
userToken: 'TOKEN',
// If the above doesn't work, provide all your cookies as a string instead
cookies: '',
// A proxy string like "http://:"
proxy: 'http://127.0.0.1:10809',
// (Optional) Set to true to enable console.debug()
logging
debug: false,
},
chatGptBrowserClient: {
// (Optional) Support for a reverse proxy for the conversation endpoint (private API server).
// Warning: This will expose your access token to a third party. Consider the risks before using this.
reverseProxyUrl: '', //'https://bypass.churchless.tech/api/conversation',
// Access token from https://chat.openai.com/api/auth/session
accessToken: 'TOKEN',
// Cookies from chat.openai.com (likely not required if using reverse proxy server).
cookies: '',
// A proxy string like "http://:"
proxy: 'http://127.0.0.1:10809',
// (Optional) Set to true to enable console.debug()
logging
debug: false,
},
// Options for the API server
apiOptions: {
port: process.env.API_PORT || 3001,
host: process.env.API_HOST || 'localhost',
// (Optional) Set to true to enable console.debug()
logging
debug: true,
// (Optional) Possible options: "chatgpt", "chatgpt-browser", "bing". (Default: "chatgpt")
clientToUse: 'chatgpt',
// (Optional) Generate titles for each conversation for clients that support it (only ChatGPTClient for now).
// This will be returned as a title
property in the first response of the conversation.
generateTitles: false,
// (Optional) Set this to allow changing the client or client options in POST /conversation.
// To disable, set to null
.
perMessageClientOptionsWhitelist: {
// The ability to switch clients using clientOptions.clientToUse
will be disabled if validClientsToUse
is not set.
// To allow switching clients per message, you must set validClientsToUse
to a non-empty array.
validClientsToUse: ['bing', 'chatgpt', 'chatgpt-browser'], // values from possible clientToUse
options above
// The Object key, e.g. "chatgpt", is a value from validClientsToUse
.
// If not set, ALL options will be ALLOWED to be changed. For example, bing
is not defined in perMessageClientOptionsWhitelist
above,
// so all options for bingAiClient
will be allowed to be changed.
// If set, ONLY the options listed here will be allowed to be changed.
// In this example, each array element is a string representing a property in chatGptClient
above.
chatgpt: [
'promptPrefix',
'userLabel',
'chatGptLabel',
// Setting modelOptions.temperature
here will allow changing ONLY the temperature.
// Other options like modelOptions.model
will not be allowed to be changed.
// If you want to allow changing all modelOptions
, define modelOptions
here instead of modelOptions.temperature
.
'modelOptions.temperature',
],
},
},
// Options for the CLI app
cliOptions: {
// (Optional) Possible options: "chatgpt", "bing".
// clientToUse: 'bing',
},
};
the cli could work properly, but it seems webui cannot connect to the api correctly (reflected as GUI didnt return any GPT's reply.
is there anything wrong with the settings?