您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动点击 Google AI Studio 中的 'Save Prompt' 按钮(当按钮可用时),并在按钮变灰后等待下次变为可用再点击。
// ==UserScript== // @name Google AI Studio 自动保存提示 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 自动点击 Google AI Studio 中的 'Save Prompt' 按钮(当按钮可用时),并在按钮变灰后等待下次变为可用再点击。 // @author Gemini 2.5 pro // @match *://aistudio.google.com/prompts/* // @icon https://www.gstatic.com/aistudio/ai_studio_favicon_64x64.png // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // --- 配置 --- const checkInterval = 2000; // 每隔多少毫秒检查一次按钮状态 (单位:毫秒) const initialDelay = 3000; // 脚本加载后等待多少毫秒开始运行 (确保页面元素加载) const saveButtonSelector = 'button[aria-label="Save prompt"][data-test-manual-save="outside"]'; // 保存按钮的选择器 // --- 状态变量 --- let canClickSave = true; // 标记是否可以点击保存按钮 // --- 主要逻辑函数 --- function checkAndClickSaveButton() { // 查找保存按钮 const saveButton = document.querySelector(saveButtonSelector); if (saveButton) { // 检查按钮是否启用 (没有 disabled 属性) const isEnabled = !saveButton.disabled; if (isEnabled && canClickSave) { // 如果按钮可用并且我们标记为可以点击 console.log('[AI Studio AutoSave] 检测到保存按钮可用,正在点击...'); saveButton.click(); canClickSave = false; // 点击后,标记为不可点击,直到按钮再次变灰 console.log('[AI Studio AutoSave] 保存按钮已点击,等待按钮变灰...'); } else if (!isEnabled) { // 如果按钮被禁用(变灰) if (!canClickSave) { // 只有当之前是不可点击状态时才重置和打印日志,避免重复打印 console.log('[AI Studio AutoSave] 检测到保存按钮已禁用,准备下次点击...'); canClickSave = true; // 重置标记,允许在下次按钮启用时点击 } } else { // 按钮可用,但我们已经点击过一次,正在等待它变灰 // console.log('[AI Studio AutoSave] 保存按钮可用,但已点击过,等待按钮状态变化...'); } } else { // console.log('[AI Studio AutoSave] 未找到保存按钮,继续检查...'); // 如果找不到按钮,也允许下次尝试点击(可能页面结构变化或未完全加载) canClickSave = true; } } // --- 启动脚本 --- console.log('[AI Studio AutoSave] 脚本已加载,将在', initialDelay / 1000, '秒后开始运行...'); // 延迟启动,给页面加载时间 setTimeout(() => { console.log('[AI Studio AutoSave] 开始运行自动保存检查...'); // 设置定时器,周期性检查按钮状态 setInterval(checkAndClickSaveButton, checkInterval); }, initialDelay); })();