└── README.md /README.md: -------------------------------------------------------------------------------- 1 | 源于: https://github.com/MagicalMadoka 2 | 3 | 对于大部分用户已经失效了,散了吧(图一乐 4 | 5 | ### 油猴脚本 6 | ```js 7 | // ==UserScript== 8 | // @name ChatGPT Backend API Hook 9 | // @namespace http://tampermonkey.net/ 10 | // @version 0.5 11 | // @description Hook ChatGPT backend API and add missing features 12 | // @match https://chatgpt.com/* 13 | // @grant none 14 | // ==/UserScript== 15 | 16 | (function() { 17 | 'use strict'; 18 | 19 | 20 | const mockResponse = `{ 21 | "models": [ 22 | { 23 | "slug": "text-davinci-002-render-sha", 24 | "max_tokens": 8191, 25 | "title": "Default (GPT-3.5)", 26 | "description": "我们最快的模型,非常适合大多数日常任务。", 27 | "tags": [ 28 | "gpt3.5" 29 | ], 30 | "capabilities": {}, 31 | "product_features": {} 32 | }, 33 | { 34 | "slug": "gpt-4o", 35 | "max_tokens": 8192, 36 | "title": "Scallion", 37 | "description": "浏览、高级数据分析和 DALL·E 现已集成到 GPT-4 中", 38 | "tags": [ 39 | "confidential", 40 | "gpt4" 41 | ], 42 | "capabilities": {}, 43 | "product_features": { 44 | "attachments": { 45 | "type": "retrieval", 46 | "accepted_mime_types": [ 47 | "text/x-java", 48 | "application/x-latext", 49 | "text/javascript", 50 | "text/x-script.python", 51 | "application/pdf", 52 | "text/html", 53 | "text/x-php", 54 | "text/x-c", 55 | "text/x-csharp", 56 | "application/vnd.openxmlformats-officedocument.presentationml.presentation", 57 | "text/x-tex", 58 | "application/json", 59 | "text/plain", 60 | "application/msword", 61 | "text/x-ruby", 62 | "text/markdown", 63 | "text/x-sh", 64 | "text/x-typescript", 65 | "text/x-c++", 66 | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" 67 | ], 68 | "image_mime_types": [ 69 | "image/jpeg", 70 | "image/gif", 71 | "image/webp", 72 | "image/png" 73 | ], 74 | "can_accept_all_mime_types": true 75 | } 76 | }, 77 | "enabled_tools": [ 78 | "tools", 79 | "tools2" 80 | ] 81 | }, 82 | { 83 | "slug": "auto", 84 | "max_tokens": 8192, 85 | "title": "Dynamic", 86 | "description": "使用合适的模型来满足我的请求", 87 | "tags": [ 88 | "confidential", 89 | "gpt4" 90 | ], 91 | "capabilities": {}, 92 | "product_features": { 93 | "attachments": { 94 | "type": "retrieval", 95 | "accepted_mime_types": [ 96 | "text/x-java", 97 | "application/x-latext", 98 | "text/javascript", 99 | "text/x-script.python", 100 | "application/pdf", 101 | "text/html", 102 | "text/x-php", 103 | "text/x-c", 104 | "text/x-csharp", 105 | "application/vnd.openxmlformats-officedocument.presentationml.presentation", 106 | "text/x-tex", 107 | "application/json", 108 | "text/plain", 109 | "application/msword", 110 | "text/x-ruby", 111 | "text/markdown", 112 | "text/x-sh", 113 | "text/x-typescript", 114 | "text/x-c++", 115 | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" 116 | ], 117 | "image_mime_types": [ 118 | "image/jpeg", 119 | "image/gif", 120 | "image/webp", 121 | "image/png" 122 | ], 123 | "can_accept_all_mime_types": true 124 | } 125 | }, 126 | "enabled_tools": [ 127 | "tools", 128 | "tools2" 129 | ] 130 | } 131 | ], 132 | "categories": [ 133 | { 134 | "category": "gpt_3.5", 135 | "human_category_name": "GPT-3.5", 136 | "human_category_short_name": "3.5", 137 | "icon": "bolt", 138 | "icon_src": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi41NjU1IDIuMTEwN0MxMy41Njg2IDAuOTIxNiAxNS40OTU2IDEuODU3NjEgMTUuMTgxIDMuMzgxMjJMMTQuMjI3NCA4LjAwMDAzSDE5LjkyMzlDMjEuMTk5OSA4LjAwMDAzIDIxLjg5MzIgOS40OTE5NyAyMS4wNzA0IDEwLjQ2NzNMMTEuNDM0MyAyMS44ODk0QzEwLjQzMTEgMjMuMDc4NSA4LjUwNDI0IDIyLjE0MjUgOC44MTg3OSAyMC42MTg5TDkuNzcyMzYgMTZINC4wNzU4OEMyLjc5OTg3IDE2IDIuMTA2NTggMTQuNTA4MSAyLjkyOTM4IDEzLjUzMjhMMTIuNTY1NSAyLjExMDdaIiBmaWxsPSIjMjgyODI4Ii8+Cjwvc3ZnPgo=", 139 | "subscription_level": "free", 140 | "default_model": "text-davinci-002-render-sha", 141 | "code_interpreter_model": "text-davinci-002-render-sha-code-interpreter", 142 | "plugins_model": "text-davinci-002-render-sha-plugins", 143 | "color": "#47C761", 144 | "short_explainer": "非常适合用于日常任务", 145 | "tagline": "最快速" 146 | }, 147 | { 148 | "category": "AG8PqS2q", 149 | "human_category_name": "GPT-4o", 150 | "human_category_short_name": "4o", 151 | "icon": "stars", 152 | "icon_src": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5LjkxOTQgMC44OTY4ODhDMTkuODkzOCAwLjY3MDk5NCAxOS43MDI4IDAuNTAwMjMgMTkuNDc1NSAwLjVDMTkuMjQ4MSAwLjQ5OTc3IDE5LjA1NjcgMC42NzAxMzEgMTkuMDMwOCAwLjg5NTk4QzE4LjkwOTQgMS45NDc0IDE4LjU5NzIgMi42Njg3MiAxOC4xMDggMy4xNTc5NkMxNy42MTg3IDMuNjQ3MjEgMTYuODk3NCAzLjk1OTQ1IDE1Ljg0NTkgNC4wODA3MkMxNS42MjAxIDQuMTA2NzcgMTUuNDQ5OCA0LjI5ODEyIDE1LjQ1IDQuNTI1NDZDMTUuNDUwMiA0Ljc1MjggMTUuNjIxIDQuOTQzOCAxNS44NDY5IDQuOTY5MzhDMTYuODgwNSA1LjA4NjQ2IDE3LjYxODMgNS4zOTg2NCAxOC4xMiA1Ljg5MTI1QzE4LjYxODkgNi4zODExOCAxOC45MzcgNy4xMDE0NyAxOS4wMjk1IDguMTQyMzVDMTkuMDUwMSA4LjM3MzI5IDE5LjI0MzYgOC41NTAyNiAxOS40NzU1IDguNTVDMTkuNzA3MyA4LjU0OTc0IDE5LjkwMDYgOC4zNzIzNCAxOS45MjA1IDguMTQxMzVDMjAuMDA5MiA3LjExODA1IDIwLjMyNyA2LjM4MTU0IDIwLjgyOTIgNS44NzkyOUMyMS4zMzE2IDUuMzc3MDUgMjIuMDY4IDUuMDU5MTMgMjMuMDkxMyA0Ljk3MDU2QzIzLjMyMjMgNC45NTA1NiAyMy40OTk4IDQuNzU3MzYgMjMuNSA0LjUyNTUxQzIzLjUwMDIgNC4yOTM2NSAyMy4zMjMyIDQuMTAwMDUgMjMuMDkyMyA0LjA3OTU0QzIyLjA1MTUgMy45ODcwOCAyMS4zMzEyIDMuNjY4OTEgMjAuODQxMiAzLjE2OTk2QzIwLjM0ODcgMi42NjgyNyAyMC4wMzY0IDEuOTMwNTMgMTkuOTE5NCAwLjg5Njg4OFoiIGZpbGw9IiMyODI4MjgiLz4KPHBhdGggZD0iTTExLjk5MjYgMy44MjA1N0MxMS45MjY5IDMuMjM5NjkgMTEuNDM1OCAyLjgwMDYgMTAuODUxMiAyLjhDMTAuMjY2NiAyLjc5OTQgOS43NzQ1MiAzLjIzNzQ4IDkuNzA3NTkgMy44MTgyM0M5LjM5NTczIDYuNTIxOTEgOC41OTI4MyA4LjM3NjY4IDcuMzM0NzYgOS42MzQ3NkM2LjA3NjcgMTAuODkyOCA0LjIyMTkxIDExLjY5NTcgMS41MTgyMyAxMi4wMDc2QzAuOTM3NDg0IDEyLjA3NDUgMC40OTk0MDMgMTIuNTY2NiAwLjUwMDAwMSAxMy4xNTEyQzAuNTAwNTk5IDEzLjczNTggMC45Mzk2OTIgMTQuMjI2OSAxLjUyMDU3IDE0LjI5MjZDNC4xNzg1MiAxNC41OTM3IDYuMDc1NTUgMTUuMzk2NSA3LjM2NTU5IDE2LjY2MzNDOC42NDg2MiAxNy45MjMxIDkuNDY2NzYgMTkuNzc1MSA5LjcwNDQ4IDIyLjQ1MThDOS43NTcyNyAyMy4wNDU2IDEwLjI1NTEgMjMuNTAwNyAxMC44NTEzIDIzLjVDMTEuNDQ3NSAyMy40OTkzIDExLjk0NDMgMjMuMDQzMSAxMS45OTU3IDIyLjQ0OTFDMTIuMjIzNCAxOS44MTc4IDEzLjA0MSAxNy45MjQgMTQuMzMyNCAxNi42MzI0QzE1LjYyNCAxNS4zNDEgMTcuNTE3OCAxNC41MjM0IDIwLjE0OTEgMTQuMjk1N0MyMC43NDMxIDE0LjI0NDMgMjEuMTk5MyAxMy43NDc1IDIxLjIgMTMuMTUxM0MyMS4yMDA3IDEyLjU1NTEgMjAuNzQ1NiAxMi4wNTczIDIwLjE1MTggMTIuMDA0NUMxNy40NzUxIDExLjc2NjggMTUuNjIzMSAxMC45NDg3IDE0LjM2MzMgOS42NjU1OUMxMy4wOTY1IDguMzc1NTUgMTIuMjkzNyA2LjQ3ODUyIDExLjk5MjYgMy44MjA1N1oiIGZpbGw9IiMyODI4MjgiLz4KPC9zdmc+Cg==", 153 | "subscription_level": "plus", 154 | "default_model": "gpt-4o", 155 | "color": "#5B41F9", 156 | "short_explainer": "Newest and most advanced model", 157 | "tagline": "智能且快速" 158 | }, 159 | { 160 | "category": "auto", 161 | "human_category_name": "Dynamic", 162 | "human_category_short_name": "", 163 | "icon": "connected", 164 | "icon_src": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDcuNDJhMjIgMjIgMCAwIDAtMi40NTMgMi4xMjdBMjIgMjIgMCAwIDAgNy40MiAxMmEyMiAyMiAwIDAgMCAyLjEyNyAyLjQ1M2MuODA3LjgwOCAxLjYzNiAxLjUyIDIuNDUzIDIuMTI4YTIyIDIyIDAgMCAwIDIuNDUzLTIuMTI4QTIyIDIyIDAgMCAwIDE2LjU4IDEyYTIyIDIyIDAgMCAwLTIuMTI3LTIuNDUzQTIyIDIyIDAgMCAwIDEyIDcuNDJtMS43NTEtMS4xNTRhMjUgMjUgMCAwIDEgMi4xMDQgMS44OCAyNSAyNSAwIDAgMSAxLjg4IDIuMTAzYy4zMTYtLjU1LjU3Ni0xLjA4NS43NzktMS41OS4zNS0uODc4LjUwNy0xLjYyNS41MDMtMi4yMDYtLjAwMy0uNTc0LS4xNi0uOTEzLS4zNTgtMS4xMTEtLjE5OS0uMTk5LS41MzctLjM1Ni0xLjExMi0uMzYtLjU4LS4wMDMtMS4zMjguMTUzLTIuMjA1LjUwNC0uNTA2LjIwMy0xLjA0LjQ2NC0xLjU5Ljc4Wm0zLjk4MyA3LjQ4NWEyNSAyNSAwIDAgMS0xLjg4IDIuMTA0IDI1IDI1IDAgMCAxLTIuMTAzIDEuODggMTMgMTMgMCAwIDAgMS41OS43NzljLjg3OC4zNSAxLjYyNS41MDcgMi4yMDYuNTAzLjU3NC0uMDAzLjkxMy0uMTYgMS4xMTEtLjM1OC4xOTktLjE5OS4zNTYtLjUzOC4zNi0xLjExMi4wMDMtLjU4LS4xNTQtMS4zMjgtLjUwNC0yLjIwNWExMyAxMyAwIDAgMC0uNzgtMS41OVpNMTIgMTguOTljLjg5LjU3IDEuNzY4IDEuMDMgMi42MDUgMS4zNjQgMS4wMjYuNDEgMi4wMzYuNjUyIDIuOTU1LjY0Ni45MjUtLjAwNiAxLjgyOC0uMjY3IDIuNS0uOTQuNjczLS42NzIuOTM0LTEuNTc1Ljk0LTIuNS4wMDYtLjkxOS0uMjM2LTEuOTI5LS42NDYtMi45NTRBMTUuNyAxNS43IDAgMCAwIDE4Ljk5IDEyYTE1LjYgMTUuNiAwIDAgMCAxLjM2NC0yLjYwNmMuNDEtMS4wMjUuNjUyLTIuMDM1LjY0Ni0yLjk1NC0uMDA2LS45MjUtLjI2Ny0xLjgyOC0uOTQtMi41LS42NzItLjY3My0xLjU3NS0uOTM0LTIuNS0uOTQtLjkxOS0uMDA2LTEuOTI5LjIzNS0yLjk1NC42NDYtLjgzOC4zMzUtMS43MTYuNzk1LTIuNjA2IDEuMzY0YTE1LjcgMTUuNyAwIDAgMC0yLjYwNi0xLjM2NEM4LjM3IDMuMjM2IDcuMzYgMi45OTQgNi40NCAzYy0uOTI1LjAwNi0xLjgyOC4yNjctMi41Ljk0LS42NzMuNjcyLS45MzQgMS41NzUtLjk0IDIuNS0uMDA2LjkxOS4yMzUgMS45MjkuNjQ2IDIuOTU1QTE1LjcgMTUuNyAwIDAgMCA1LjAxIDEyYy0uNTcuODktMS4wMyAxLjc2OC0xLjM2NCAyLjYwNS0uNDEgMS4wMjYtLjY1MiAyLjAzNi0uNjQ2IDIuOTU1LjAwNi45MjUuMjY3IDEuODI4Ljk0IDIuNS42NzIuNjczIDEuNTc1LjkzNCAyLjUuOTQuOTIuMDA2IDEuOTMtLjIzNSAyLjk1NS0uNjQ2QTE1LjcgMTUuNyAwIDAgMCAxMiAxOC45OW0tMS43NTEtMS4yNTVhMjUgMjUgMCAwIDEtMi4xMDQtMS44OCAyNSAyNSAwIDAgMS0xLjg4LTIuMTA0Yy0uMzE1LjU1LS41NzYgMS4wODUtLjc3OSAxLjU5LS4zNS44NzgtLjUwNyAxLjYyNS0uNTAzIDIuMjA2LjAwMy41NzQuMTYuOTEzLjM1OSAxLjExMS4xOTguMTk5LjUzNy4zNTYgMS4xMTEuMzYuNTguMDAzIDEuMzI4LS4xNTMgMi4yMDUtLjUwNC41MDYtLjIwMyAxLjA0LS40NjMgMS41OS0uNzhabS0zLjk4My03LjQ4NmEyNSAyNSAwIDAgMSAxLjg4LTIuMTA0IDI1IDI1IDAgMCAxIDIuMTAzLTEuODggMTMgMTMgMCAwIDAtMS41OS0uNzc5Yy0uODc4LS4zNS0xLjYyNS0uNTA3LTIuMjA2LS41MDMtLjU3NC4wMDMtLjkxMy4xNi0xLjExMS4zNTktLjE5OS4xOTgtLjM1Ni41MzctLjM2IDEuMTExLS4wMDMuNTguMTUzIDEuMzI4LjUwNCAyLjIwNS4yMDMuNTA2LjQ2NCAxLjA0Ljc4IDEuNTlaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD48L3N2Zz4=", 165 | "subscription_level": "free", 166 | "default_model": "auto", 167 | "plugins_model": "gpt-4-plugins", 168 | "color": "", 169 | "short_explainer": "为改善速度和智能程度而进行了优化。", 170 | "tagline": "" 171 | } 172 | ] 173 | }`; 174 | 175 | const originalFetch = window.fetch; 176 | 177 | window.fetch = async function(url, options) { 178 | if (typeof url === 'string' && url.includes('/backend-api/models')) { 179 | return new Promise(resolve => { 180 | resolve(new Response(mockResponse, { 181 | status: 200, 182 | headers: { 'Content-Type': 'application/json' } 183 | })); 184 | }); 185 | } else { 186 | return originalFetch(url, options); 187 | } 188 | }; 189 | })(); 190 | ``` 191 | --------------------------------------------------------------------------------