mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-30 07:08:50 +01:00
feat: support user-provided token to bingAI and chatgptBrowser
This commit is contained in:
parent
a953fc9f2b
commit
bbf2f8a6ca
22 changed files with 309 additions and 86 deletions
|
|
@ -79,9 +79,9 @@ const useConversation = () => {
|
|||
({ snapshot }) =>
|
||||
async (_conversation, messages = null, preset = null) => {
|
||||
const prevConversation = await snapshot.getPromise(conversation);
|
||||
const endpointsFilter = await snapshot.getPromise(endpoints.endpointsFilter);
|
||||
const endpointsConfig = await snapshot.getPromise(endpoints.endpointsConfig);
|
||||
_switchToConversation(_conversation, messages, preset, {
|
||||
endpointsFilter,
|
||||
endpointsConfig,
|
||||
prevConversation
|
||||
});
|
||||
},
|
||||
|
|
@ -92,7 +92,7 @@ const useConversation = () => {
|
|||
conversation,
|
||||
messages = null,
|
||||
preset = null,
|
||||
{ endpointsFilter = {}, prevConversation = {} }
|
||||
{ endpointsConfig = {}, prevConversation = {} }
|
||||
) => {
|
||||
let { endpoint = null } = conversation;
|
||||
|
||||
|
|
@ -100,7 +100,7 @@ const useConversation = () => {
|
|||
// get the default model
|
||||
conversation = getDefaultConversation({
|
||||
conversation,
|
||||
endpointsFilter,
|
||||
endpointsConfig,
|
||||
prevConversation,
|
||||
preset
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import text from './text';
|
|||
import submission from './submission';
|
||||
import search from './search';
|
||||
import preset from './preset';
|
||||
import token from './token';
|
||||
|
||||
export default {
|
||||
...conversation,
|
||||
|
|
@ -15,5 +16,6 @@ export default {
|
|||
...text,
|
||||
...submission,
|
||||
...search,
|
||||
...preset
|
||||
...preset,
|
||||
...token
|
||||
};
|
||||
|
|
|
|||
21
client/src/store/token.js
Normal file
21
client/src/store/token.js
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { atom, useRecoilState } from 'recoil';
|
||||
|
||||
const tokenRefreshHints = atom({
|
||||
key: 'tokenRefreshHints',
|
||||
default: 1
|
||||
});
|
||||
|
||||
const useToken = endpoint => {
|
||||
const [hints, setHints] = useRecoilState(tokenRefreshHints);
|
||||
const getToken = () => localStorage.getItem(`${endpoint}_token`);
|
||||
const saveToken = value => {
|
||||
localStorage.setItem(`${endpoint}_token`, value);
|
||||
setHints(prev => prev + 1);
|
||||
};
|
||||
|
||||
return { token: getToken(), getToken, saveToken };
|
||||
};
|
||||
|
||||
export default {
|
||||
useToken
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue