您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
[带记忆功能]自动切换DeepSeek+智能同步用户设置+状态持久化
当前为
// ==UserScript== // @name 腾讯元宝自动切换模型(记忆版) // @namespace http://tampermonkey.net/ // @version 1.5 // @description [带记忆功能]自动切换DeepSeek+智能同步用户设置+状态持久化 // @license MIT // @author YourName // @match https://yuanbao.tencent.com/* // @icon https://cdn-bot.hunyuan.tencent.com/logo.png // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle // @run-at document-end // ==/UserScript== (function() { 'use strict'; // 增强配置系统 const CONFIG = { TARGET_MODEL: 'DeepSeek', DEFAULT_SETTINGS: { DEEP_THINK: true, WEB_SEARCH: true }, RETRY_INTERVAL: 800, MAX_RETRY: 6, SYNC_DELAY: 1200 }; // 智能选择器系统 const SELECTORS = { MODEL_SWITCH: 'button[dt-button-id="model_switch"]', MODEL_LIST_ITEM: modelName => `//div[contains(@class,"drop-down-item")][.//div[text()="${modelName}"]]`, DEEP_THINK: 'button[dt-button-id="deep_think"]', WEB_SEARCH: 'button[dt-button-id="online_search"]', CHAT_CONTAINER: '.chat-container', INPUT_AREA: '.input-area' }; // 状态管理系统 let isProcessing = false; let retryCount = 0; let userSettings = {}; // 存储系统初始化 const initStorage = () => { userSettings = Object.fromEntries( Object.keys(CONFIG.DEFAULT_SETTINGS).map(key => [ key, GM_getValue(key, CONFIG.DEFAULT_SETTINGS[key]) ]) ); }; // 元素等待系统 const waitForElement = async (selector, isXPath = false) => { return new Promise((resolve, reject) => { const startTime = Date.now(); const checker = () => { let element; if (isXPath) { const result = document.evaluate( selector, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ); element = result.singleNodeValue; } else { element = document.querySelector(selector); } if (element) { resolve(element); } else if (Date.now() - startTime < CONFIG.RETRY_INTERVAL * CONFIG.MAX_RETRY) { setTimeout(checker, CONFIG.RETRY_INTERVAL); } else { reject(new Error(`元素加载超时: ${selector}`)); } }; checker(); }); }; // 安全交互系统 const safeClick = async (element, retries = 3) => { try { element.scrollIntoView({behavior: 'auto', block: 'center'}); await new Promise(r => setTimeout(r, 200)); element.click(); await new Promise(r => setTimeout(r, 300)); } catch (error) { if (retries > 0) { await safeClick(element, retries - 1); } else { throw new Error('元素点击失败'); } } }; // 模型控制系统 const switchModel = async () => { if (isProcessing) return; isProcessing = true; try { // 打开模型切换面板 const switchBtn = await waitForElement(SELECTORS.MODEL_SWITCH); await safeClick(switchBtn); // 选择目标模型 const modelItem = await waitForElement( SELECTORS.MODEL_LIST_ITEM(CONFIG.TARGET_MODEL), true ); await safeClick(modelItem); console.log('模型切换成功'); // 等待界面更新 await new Promise(r => setTimeout(r, CONFIG.SYNC_DELAY)); await applyUserSettings(); } catch (error) { console.error('模型控制异常:', error); } finally { isProcessing = false; retryCount = 0; } }; // 用户设置应用系统 const applyUserSettings = async () => { const syncFeature = async (selector, settingKey) => { try { const element = await waitForElement(selector); const shouldActive = userSettings[settingKey]; const isActive = element.classList.contains('style__checked___EGENo'); if (shouldActive !== isActive) { await safeClick(element); console.log(`${settingKey} 已同步: ${shouldActive}`); } } catch (error) { console.error(`${settingKey} 同步失败:`, error); } }; await Promise.all([ syncFeature(SELECTORS.DEEP_THINK, 'DEEP_THINK'), syncFeature(SELECTORS.WEB_SEARCH, 'WEB_SEARCH') ]); }; // 用户行为监听系统 const initUserListener = () => { // 监听功能开关变化 const handleSettingChange = (event, settingKey) => { const isActive = event.target.closest('button') .classList.contains('style__checked___EGENo'); GM_setValue(settingKey, isActive); userSettings[settingKey] = isActive; }; document.addEventListener('click', event => { if (event.target.closest(SELECTORS.WEB_SEARCH)) { handleSettingChange(event, 'WEB_SEARCH'); } if (event.target.closest(SELECTORS.DEEP_THINK)) { handleSettingChange(event, 'DEEP_THINK'); } }); }; // 动态样式注入 const injectStyles = () => { GM_addStyle(` .tamper-status { position: fixed; bottom: 15px; right: 15px; padding: 8px 15px; background: rgba(40,40,40,0.9); color: #00ff9d; border-radius: 6px; font-family: 'Segoe UI', sans-serif; box-shadow: 0 2px 8px rgba(0,0,0,0.2); z-index: 99999; backdrop-filter: blur(3px); } `); const statusDiv = document.createElement('div'); statusDiv.className = 'tamper-status'; statusDiv.textContent = '✓ 优化脚本运行中'; document.body.appendChild(statusDiv); }; // 主初始化系统 const init = async () => { initStorage(); injectStyles(); initUserListener(); const observer = new MutationObserver(async () => { try { const currentModel = document.querySelector(SELECTORS.MODEL_SWITCH) ?.querySelector('.t-button__text')?.textContent; if (currentModel !== CONFIG.TARGET_MODEL) { await switchModel(); } else { await applyUserSettings(); } } catch (error) { console.error('界面监控异常:', error); } }); observer.observe(document.body, { childList: true, subtree: true, attributes: false }); // 初始同步 }; // 启动程序 if (document.readyState === 'complete') { init(); } else { window.addEventListener('load', init); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址