diff --git a/extensions/raycast-gemini/CHANGELOG.md b/extensions/raycast-gemini/CHANGELOG.md index 3370f6729d8..3a221e36819 100644 --- a/extensions/raycast-gemini/CHANGELOG.md +++ b/extensions/raycast-gemini/CHANGELOG.md @@ -1,5 +1,11 @@ # Google Gemini Changelog +## [New Models and Features] - {PR_MERGE_DATE} + +- 🤖 Update model variants +- ⚙️ Set default model to Gemini 2.0 Flash which is already production ready +- 🙋 Support custom model names as a supplement for listed common models. + ## [Append Selected Text to Chat] - 2025-02-04 - Ability to append selected text to the chat command with the `Append to Chat` command. Shortcut: `Ctrl + Shift + V` diff --git a/extensions/raycast-gemini/package.json b/extensions/raycast-gemini/package.json index 55c7bfef947..fa572e65bf8 100644 --- a/extensions/raycast-gemini/package.json +++ b/extensions/raycast-gemini/package.json @@ -45,29 +45,37 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } ] }, @@ -117,31 +125,39 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] + ] }, { "name": "prompt", @@ -181,31 +197,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -237,31 +260,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -293,31 +323,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -349,31 +386,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -405,31 +449,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -461,31 +512,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -517,31 +575,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -573,31 +638,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -629,31 +701,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -685,31 +764,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -749,31 +835,38 @@ "title": "Default", "value": "default" }, + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } - ] }, { @@ -817,33 +910,48 @@ "title": "Model", "type": "dropdown", "required": false, - "default": "gemini-1.5-flash-latest", + "default": "gemini-2.0-flash", "data": [ + { + "title": "Gemini 1.5 Flash", + "value": "gemini-1.5-flash-latest" + }, { "title": "Gemini 1.5 Pro", "value": "gemini-1.5-pro-latest" }, { - "title": "Gemini 1.5 Flash", - "value": "gemini-1.5-flash-latest" + "title": "LearnLM 1.5 Pro Experimental", + "value": "learnlm-1.5-pro-experimental" }, { - "title": "Gemini 2.0 Flash Experimental", - "value": "gemini-2.0-flash-exp" + "title": "Gemini 2.0 Flash-Lite Preview", + "value": "gemini-2.0-flash-lite-preview-02-05" }, { - "title": "Gemini Experimental 1206", - "value": "gemini-exp-1206" + "title": "Gemini 2.0 Flash", + "value": "gemini-2.0-flash" }, { "title": "Gemini 2.0 Flash Thinking Experimental", - "value": "gemini-2.0-flash-thinking-exp-1219" + "value": "gemini-2.0-flash-thinking-exp" }, { - "title": "LearnLM 1.5 Pro Experimental", - "value": "learnlm-1.5-pro-experimental" + "title": "Gemini Experimental 1206", + "value": "gemini-exp-1206" + }, + { + "title": "Gemini 2.0 Pro Experimental", + "value": "gemini-2.0-pro-exp" } ] + }, + { + "name": "customModel", + "title": "Custom Model", + "description": "Custom model in case you use a special model that is not listed in the dropdown. It will override the default model. Keep this empty if you don't have a custom model.", + "type": "textfield", + "required": false } ], "dependencies": { diff --git a/extensions/raycast-gemini/src/api/gemini.jsx b/extensions/raycast-gemini/src/api/gemini.jsx index d175914b8d6..1f837259341 100644 --- a/extensions/raycast-gemini/src/api/gemini.jsx +++ b/extensions/raycast-gemini/src/api/gemini.jsx @@ -1,21 +1,21 @@ import { - Form, - Detail, - ActionPanel, Action, - Toast, - showToast, - getSelectedText, + ActionPanel, + Detail, + Form, getPreferenceValues, + getSelectedText, + Icon, Keyboard, launchCommand, LaunchType, - Icon, + showToast, + Toast, } from "@raycast/api"; -import { useState, useEffect } from "react"; -import fetch from "node-fetch"; -import Gemini from "gemini-ai"; import fs from "fs"; +import Gemini from "gemini-ai"; +import fetch from "node-fetch"; +import { useEffect, useState } from "react"; export default (props, { context = undefined, allowPaste = false, useSelected = false, buffer = [] }) => { const Pages = { @@ -25,7 +25,10 @@ export default (props, { context = undefined, allowPaste = false, useSelected = let { query: argQuery } = props.arguments; if (!argQuery) argQuery = props.fallbackText ?? ""; - const { apiKey, defaultModel, model } = getPreferenceValues(); + const { apiKey, model, customModel } = getPreferenceValues(); + // set defaultModel to customModel if customModel is a non-empty string + const isCustomModelValid = Boolean(customModel && customModel.trim().length > 0); + const defaultModel = isCustomModelValid ? customModel : getPreferenceValues().defaultModel; const [page, setPage] = useState(Pages.Detail); const [markdown, setMarkdown] = useState(""); const [isLoading, setIsLoading] = useState(true);