From 634849ec12ccc66fca429c31f6f3236c08171b8b Mon Sep 17 00:00:00 2001 From: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Tue, 23 May 2023 13:58:18 -0400 Subject: [PATCH] fix(Bing): Use full cookies string instead of just _U cookie (#369) --- api/.env.example | 5 ++-- api/app/clients/bingai.js | 6 ++--- .../components/Input/SetTokenDialog/index.jsx | 26 ++++++++++--------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/api/.env.example b/api/.env.example index 81d8582df9..f8b5a17596 100644 --- a/api/.env.example +++ b/api/.env.example @@ -59,8 +59,9 @@ OPENAI_MODELS=gpt-3.5-turbo,gpt-3.5-turbo-0301,text-davinci-003,gpt-4 ########################## # Also used for Sydney and jailbreak - -# BingAI Tokens: the "_U" cookies value from bing.com +# As of 5/23/23, to use Bing, you will need your full cookie string from bing.com. Use dev tools or an extension while +# logged into the site to view it in your network request Cookie header value. For full instructions, see my comment here: +# https://github.com/waylaidwanderer/node-chatgpt-api/issues/378#issuecomment-1559868368 # Set to "user_provided" to allow the user to provide its token from the UI. # Leave it blank to disable this endpoint. BINGAI_TOKEN="user_provided" diff --git a/api/app/clients/bingai.js b/api/app/clients/bingai.js index c4ad3b9e00..b0351120ea 100644 --- a/api/app/clients/bingai.js +++ b/api/app/clients/bingai.js @@ -23,10 +23,10 @@ const askBing = async ({ const bingAIClient = new BingAIClient({ // "_U" cookie from bing.com - userToken: - process.env.BINGAI_TOKEN == 'user_provided' ? token : process.env.BINGAI_TOKEN ?? null, + // userToken: + // process.env.BINGAI_TOKEN == 'user_provided' ? token : process.env.BINGAI_TOKEN ?? null, // If the above doesn't work, provide all your cookies as a string instead - // cookies: '', + cookies: process.env.BINGAI_TOKEN == 'user_provided' ? token : process.env.BINGAI_TOKEN ?? null, debug: false, cache: store, host: process.env.BINGAI_HOST || null, diff --git a/client/src/components/Input/SetTokenDialog/index.jsx b/client/src/components/Input/SetTokenDialog/index.jsx index 197f034362..1f73c597b9 100644 --- a/client/src/components/Input/SetTokenDialog/index.jsx +++ b/client/src/components/Input/SetTokenDialog/index.jsx @@ -1,9 +1,6 @@ -import React, { useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import DialogTemplate from '../../ui/DialogTemplate'; import { Dialog } from '../../ui/Dialog.tsx'; -import { Input } from '../../ui/Input.tsx'; -import { Label } from '../../ui/Label.tsx'; -import { cn } from '~/utils/'; import * as Checkbox from '@radix-ui/react-checkbox'; import { CheckIcon } from '@radix-ui/react-icons'; import FileUpload from '../NewConversationMenu/FileUpload'; @@ -24,9 +21,6 @@ const SetTokenDialog = ({ open, onOpenChange, endpoint }) => { const [showPanel, setShowPanel] = useState(false); const { getToken, saveToken } = store.useToken(endpoint); - const defaultTextProps = - 'rounded-md border border-gray-300 bg-transparent text-sm shadow-[0_0_10px_rgba(0,0,0,0.10)] outline-none placeholder:text-gray-400 focus:outline-none focus:ring-gray-400 focus:ring-opacity-20 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-400 dark:bg-gray-700 dark:text-gray-50 dark:shadow-[0_0_15px_rgba(0,0,0,0.10)] dark:focus:border-gray-400 dark:focus:outline-none dark:focus:ring-0 dark:focus:ring-gray-400 dark:focus:ring-offset-0'; - const submit = () => { saveToken(token); onOpenChange(false); @@ -49,13 +43,21 @@ const SetTokenDialog = ({ open, onOpenChange, endpoint }) => { const helpText = { bingAI: ( - The Bing Access Token is the "_U" cookie from bing.com. Use dev tools or an extension while - logged into the site to view it. + {`As of 5/23/23, to use Bing, you will need your full cookie string from bing.com. Use dev tools or an extension while + logged into the site to view it in your network request Cookie header value. For full instructions, see my `} + + comment here + ), chatGPTBrowser: ( - To get your Access token For ChatGPT 'Free Version', login to{' '} + {`To get your Access token For ChatGPT 'Free Version', login to `} { > Create a Service Account - . Make sure to click 'Create and Continue' to give at least the 'Vertex AI User' role. - Lastly, create a JSON key to import here. + {`. Make sure to click 'Create and Continue' to give at least the 'Vertex AI User' role. + Lastly, create a JSON key to import here.`} ) };