use the @ai-sdk provider to chat with the chatgpt web
[!IMPORTANT] This provider can only run in a browser extension environment.
this package is published on jsr
npx jsr add @slow-groovin/chatgpt-web-ai-provider
pnpm dlx jsr add @slow-groovin/chatgpt-web-ai-provider
bunx jsr add @slow-groovin/chatgpt-web-ai-provider
import { storage } from "wxt/utils/storage";
import { createChatgptWebProvider } from "chatgpt-web-ai-provider";
const provider = createChatgptWebProvider({
//getter for access_token in storage
accessToken: () => {
return storage.getItem(ACCESS_TOKEN_KEY);
},
//setter for access_token in storage
accessTokenSetter: (v) => {
return storage.setItem(ACCESS_TOKEN_KEY, {
value: v,
savedAt: Date.now(),
});
},
//getter for oai in cookie
async oai() {
const deviceId = await browser.cookies.get({
name: "Oai-Device-Id",
url: "https://chatgpt.com/",
});
return {
oaiDeviceId: deviceId?.value ?? "",
oaiLanguage: navigator.language,
};
},
});
const model = provider.languageModel("gpt4o-mini", {
use_search: true,
});
const { textStream } = streamText({
model: chatModel,
prompt: "hello? what's GPT-4.1? When is it released?",
});
const models = await provider.getModels();
-
use_search
: use search
- Open the extension's options page,
- Use F12 to open the console -> Network.