Gemini Voyager 默认模型功能全解析:一键星标锁定默认模型,自动为每个新对话切换
2026/9/21 19:24:20 网站建设 项目流程
  • AI 应用
  • 前端

【免费下载链接】voyager

Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any websites, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;其中的提示词管理器可用于任意网站,如 DeepSeek Harness。

项目地址:https://gitcode.com/gh_mirrors/ge/voyager
点击查看免费下载

导读

Gemini Voyager 是面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强型浏览器扩展,其「默认模型」(Default Model)功能允许用户把偏好的 Gemini™ 模型设为默认值,从而告别每次开启新对话都要手动切换模型的繁琐操作。本文以 docs/ru/guide/default-model.md 为主线,结合扩展的源码实现(modelLocker.ts)与测试用例(modelLocker.test.ts),完整讲解该功能的交互方式、底层自动锁定原理、存储机制与故障保护策略。读完后你不仅会熟练使用星标设置默认模型,还能理解其在 SPA 页面、多语言界面与 Gemini 改版下的适配细节。

该功能自 Voyager 1.1.9 版本起提供支持,当前源码中仍持续演进(如 2026 版 Gemini 界面适配、思考级别默认值等增强)。

功能特性一览

「默认模型」模块的核心能力可归纳为以下四点(均与源码实现一一对应):

  • 交互式设置(Interactive Setup):直接在 Gemini 原生的模型选择菜单中注入「星标」按钮,无需进入扩展设置页即可设置默认模型。实现位于 injectStarButtons,通过MutationObserver监听菜单面板渲染后动态注入.gv-default-star-btn按钮。
  • 自动切换(Auto-Switching):每当开启新对话时,扩展会自动将模型切换到你所设定的默认模型。对应 checkAndLockModel 的锁定循环逻辑。
  • 偏好持久化(Persistent Preference):选择结果保存在浏览器存储中,并通过chrome.storage.sync跨设备同步。存储键定义在 common.ts。
  • SPA 优化(SPA Optimized):无论点击「新建对话」按钮、使用快捷键,还是返回首页,都能精准触发切换动作。这得益于 routeWatcher 对 Gemini 单页应用路由变更的监听。

使用方法:三步完成默认模型设置

按照官方文档的操作步骤,即可在 Gemini 页面中完成设置:

  1. 点击 Gemini 输入框上方的模型选择器,打开模型下拉菜单。
  2. 将鼠标悬停到你偏好的模型行上,点击该行标题右侧出现的星标图标(空星)。
  3. 当星标变为实心(填充)状态时,表示该模型已被设为默认。
  4. 此后扩展会在所有新对话中自动选中该模型。
  5. 如需取消默认设置,只需再次点击实心星标即可。

操作细节与源码印证

  • 星标按钮只在真正的模型选择菜单中注入,而不会污染 Gemini 的设置菜单、主题菜单等其他下拉面板。源码通过多重选择器守卫实现:仅当菜单面板包含[data-mode-id].mode-title.title-and-description等模型菜单特征时才注入(injectStarButtons),对应测试用例does not inject star buttons into the settings menudoes not inject star buttons into the theme submenu验证了这一行为。
  • 点击星标时会触发乐观 UI 更新:先立即更新按钮状态并弹出提示 Toast,再在后台异步写入存储(handleStarClick),保证交互零卡顿。
  • 星标同时支持桌面端 Material 菜单mat-mdc-menu-panel)与移动端紧凑底部面板mat-action-list.gds-mode-switch-menu-list),并在 2026 版 Gemini 改版后兼容cdk-overlay-pane+gem-menu-item的新布局。

存储机制与跨设备同步

默认模型的选择结果存储于浏览器同步存储区,相关键名定义在 src/core/types/common.ts:

存储键说明取值形态
gvDefaultModel默认模型设置优先为{ id, name, pill? }对象;历史版本可能仅为模型名字符串
gvDefaultThinkingLevel默认思考级别(Standard/Extended){ index, label, mode? }对象
gvDefaultModelAutoApply自动应用的总开关(kill switch)布尔值;缺失时视为启用(向后兼容)

其中id是 Gemini 模型行的稳定标识(如data-mode-id或 jslog 元数据中提取的 16 位十六进制 ID),name是完整模型名(如3.1 Pro),pill是 Gemini 触发器上显示的短标签(如Flash)。存储采用chrome.storage.sync,因此偏好会跟随浏览器账号跨设备同步。

值得注意的设计是gvDefaultModelAutoApply这个总开关:即使 Gemini 改版导致自动锁定失效,用户仍可关闭自动应用来暂停切换行为,而页面内的星标设置/清除功能依旧可用。关闭时源码会主动清扫所有已注入的星标按钮(sweepDefaultModelUi),避免出现「多个模型同时显示为默认」的脏状态。

自动切换的底层原理:锁定循环(Lock Loop)

设置好默认模型后,扩展如何保证新对话一定使用该模型?核心逻辑是checkAndLockModel启动的一个最多 5 次、每次间隔 1 秒的锁定循环(checkAndLockModel):

  1. 路径判定:仅当当前 URL 匹配新对话路径时才会锁定,支持/app与多账号路径/u/0/app,以及 Gem 路径/gem/xyzisNewConversation,modelLocker.ts)。
  2. 快路径(Fast Path):优先读取触发器 pill 文本(如输入框上显示Pro),与存储的默认模型做双向匹配;若已匹配则直接终止循环,绝不在已正确的对话上打开菜单造成闪烁
  3. 慢路径(Slow Path):若 pill 不匹配,则模拟点击模型选择器打开菜单,在菜单项中按id或名称定位目标模型行并执行click(),随后关闭菜单、把焦点还给输入框(focusChatInputAfterAutoSwitch,modelLocker.ts)。

测试用例对该机制进行了充分验证,例如:

  • auto-locks model when menu uses role="menuitem" variant:验证在 2026 版新菜单结构(role="menuitem"+data-mode-id)下能正确锁定到「思考」模型而不是默认的「快速」模型;
  • locks by>
  • AI 应用
  • 前端

【免费下载链接】voyager

Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any websites, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;其中的提示词管理器可用于任意网站,如 DeepSeek Harness。

项目地址:https://gitcode.com/gh_mirrors/ge/voyager
点击查看免费下载

相关推荐

上一篇:10分钟掌握分布式ID生成:IdGen完全指南
下一篇:告别繁琐GIS操作:Rasterio命令行工具实战指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询