通过一键操作直接从用户界面获取、复制Access Token,提升您的OpenAI聊天体验。
目前為
// ==UserScript==
// @name OpenAI Token增强型管理
// @namespace http://tampermonkey.net/
// @version 2.4
// @description 通过一键操作直接从用户界面获取、复制Access Token,提升您的OpenAI聊天体验。
// @author Yongmo & GPT-4
// @match https://chat.openai.com/*
// @match https://chatgpt.com/*
// @grant GM_xmlhttpRequest
// @grant GM_setClipboard
// @grant GM_addStyle
// ==/UserScript==
(function() {
'use strict';
// 创建一个悬浮面板,用于放置按钮和显示Token信息
const panel = document.createElement('div');
panel.style.cssText = 'position: fixed; top: 20px; right: 20px; z-index: 1000; padding: 15px; border: 1px solid #ccc; border-radius: 12px; background: white; box-shadow: 0 4px 8px rgba(0,0,0,0.3); font-family: "Microsoft YaHei", sans-serif; display: flex; flex-direction: column; align-items: start;';
// 添加按钮样式
const buttonStyle = 'margin-bottom: 10px; padding: 8px 15px; border: none; border-radius: 6px; color: white; cursor: pointer; font-size: 16px; width: 100%; text-align: center;';
// 获取AccessToken按钮
const btnFetchToken = document.createElement('button');
btnFetchToken.textContent = '获取 AccessToken';
btnFetchToken.style.cssText = buttonStyle + 'background-color: #28a745;';
// 显示AccessToken的文本区域
const accessTokenDisplay = document.createElement('textarea');
accessTokenDisplay.style.cssText = 'width: 100%; height: 60px; margin-bottom: 10px; padding: 10px; border-radius: 6px; border: 1px solid #ccc;';
// 一键复制AccessToken按钮
const btnCopyAccessToken = document.createElement('button');
btnCopyAccessToken.textContent = '复制 AccessToken';
btnCopyAccessToken.style.cssText = buttonStyle + 'background-color: #007bff;';
// 隐藏面板按钮
const btnHidePanel = document.createElement('button');
btnHidePanel.textContent = '隐藏面板';
btnHidePanel.style.cssText = buttonStyle + 'background-color: #ffc107;'; // 金黄色按钮
btnHidePanel.onclick = function() {
panel.style.display = 'none';
};
// 将按钮和显示区域添加到面板
panel.appendChild(btnFetchToken);
panel.appendChild(accessTokenDisplay);
panel.appendChild(btnCopyAccessToken);
panel.appendChild(btnHidePanel);
document.body.appendChild(panel);
// 按钮点击事件:获取AccessToken
btnFetchToken.onclick = function() {
fetch("https://chatgpt.com/api/auth/session", {
method: "GET",
headers: {
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7,en-GB;q=0.6,en-US;q=0.5',
'User-Agent': navigator.userAgent,
'Origin': 'https://chatgpt.com',
'Referer': 'https://chatgpt.com/',
'Sec-Ch-Ua': '"Microsoft Edge";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
'Sec-Ch-Ua-Arch': '"x86"',
'Sec-Ch-Ua-Bitness': '"64"',
'Sec-Ch-Ua-Full-Version': '"117.0.2045.7"',
'Sec-Ch-Ua-Full-Version-List': '"Microsoft Edge";v="117.0.2045.7", "Not;A=Brand";v="8.0.0.0", "Chromium";v="117.0.5938.11"',
'Sec-Ch-Ua-Mobile': '?0',
'Sec-Ch-Ua-Model': '""',
'Sec-Ch-Ua-Platform': '"Windows"',
'Sec-Ch-Ua-Platform-Version': '"10.0.0"',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin'
}
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
return response.json();
})
.then(data => {
// 获取accessToken
const accessToken = data.accessToken;
if (accessToken) {
accessTokenDisplay.value = accessToken;
console.log(`Access Token: ${accessToken}`);
} else {
console.error('Access Token not found in the response.');
}
})
.catch(error => {
console.error('Request failed:', error);
});
};
// 按钮点击事件:复制AccessToken
btnCopyAccessToken.onclick = function() {
const accessToken = accessTokenDisplay.value;
if (!accessToken) {
alert('请先获取有效的AccessToken.');
return;
}
const message = 'ChatGPT Plus国内使用网址:https://new.oaifree.com \n\n AccessToken转ShareToken网址:https://chat.oaifree.com/token \n\n AccessToken号码:' + accessToken;
GM_setClipboard(message, 'text');
alert('已复制到剪贴板:\n' + message);
};
})();