fluxflow-cli 3.4.2 → 3.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fluxflow.js +53 -42
- package/model_config.json +602 -204
- package/package.json +2 -2
package/dist/fluxflow.js
CHANGED
|
@@ -274,7 +274,7 @@ var init_model_config = __esm({
|
|
|
274
274
|
rebuildMultimodalSet();
|
|
275
275
|
loadRemoteModelConfig = async () => {
|
|
276
276
|
try {
|
|
277
|
-
const url = "https://raw.githubusercontent.com/KushalRoyChowdhury/fluxflow-cli/main/
|
|
277
|
+
const url = "https://raw.githubusercontent.com/KushalRoyChowdhury/fluxflow-cli/main/model_config.json";
|
|
278
278
|
const res = await fetch(url, { signal: AbortSignal.timeout(3e3) });
|
|
279
279
|
if (res.ok) {
|
|
280
280
|
const data = await res.json();
|
|
@@ -6610,26 +6610,26 @@ var JANITOR_TOOLS_PROTOCOL;
|
|
|
6610
6610
|
var init_janitor_tools = __esm({
|
|
6611
6611
|
"src/data/janitor_tools.js"() {
|
|
6612
6612
|
JANITOR_TOOLS_PROTOCOL = (isMemoryEnabled = true, needTitle = true) => `
|
|
6613
|
-
Your tool syntax is:
|
|
6613
|
+
Your exact tool syntax is: [tool:functions.ToolName(args...)]. Malformed calls will fail parsing. **NO OTHER SYNTAX/MARKERS/BOUNDARY ALLOWED** Proper bracket balancing per schema is mandatory
|
|
6614
6614
|
|
|
6615
|
-
-- CHAT MANAGEMENT TOOLS (MUST CALL THESE 2 TOOLS
|
|
6616
|
-
[tool:functions.Chat(title="<short creative title of FULL conversation in 3 or 4 words>")]. Consider full chat context to generate title NOT just latest message
|
|
6617
|
-
[tool:functions.Memory(action="temp", content="<summary of the user prompt & model responses ONLY FROM LATEST PROMPT UNDER 40 WORDS>. [Talked on: <date> <hour>]")]. Time format: YYYY-MM-DD HH am/pm
|
|
6615
|
+
-- CHAT MANAGEMENT TOOLS (MUST CALL THESE 2 TOOLS IN THIS TURN) --
|
|
6616
|
+
1. [tool:functions.Chat(title="<short creative title of FULL conversation in 3 or 4 words>")]. Consider full chat context to generate title NOT just latest message
|
|
6617
|
+
2. [tool:functions.Memory(action="temp", content="<summary of the user prompt & model responses ONLY FROM LATEST PROMPT UNDER 40 WORDS>. [Talked on: <date> <hour>]")]. Time format: YYYY-MM-DD HH am/pm
|
|
6618
6618
|
|
|
6619
6619
|
${isMemoryEnabled ? `-- User-specific long-term/permanent memory (USE BASED ON CONVERSATION CONTEXT, DO NOT RE-SAVE MEMORY WHICH IS ALREADY SAVED) --
|
|
6620
|
-
|
|
6621
|
-
|
|
6622
|
-
|
|
6620
|
+
1. Add: [tool:functions.Memory(action="user", method="add", content="<string to add>. [Saved on: <date ONLY>]", score=2)] (Set score=2 ONLY if the user explicitly asked to "remember" or "save" this information, else omit this parameter entirely)
|
|
6621
|
+
2. Delete: [tool:functions.Memory(action="user", method="delete", id="<memory id>")]
|
|
6622
|
+
3. Update: [tool:functions.Memory(action="user", method="update", content-new="string to update", id="<memory id>")]
|
|
6623
6623
|
|
|
6624
6624
|
-- Memory Relevance Decay Tool --
|
|
6625
|
-
|
|
6626
|
-
You MUST call this tool when a specific saved memory in the '-- CURRENT SAVED USER MEMORIES --' list was relevant, referenced, or helpful in the agent's response or user prompt IN CURRENT MESSAGE. You can stack multiple calls
|
|
6625
|
+
1. Score Adjustment: [tool:functions.addMemScore(id="<memory id>")]
|
|
6626
|
+
You MUST call this tool when a specific saved memory in the '-- CURRENT SAVED USER MEMORIES --' list was relevant, referenced, or helpful in the agent's response or user prompt IN CURRENT MESSAGE. You can stack multiple calls
|
|
6627
6627
|
|
|
6628
6628
|
Explicit Triggers for permanent memory:
|
|
6629
|
-
- User explicitly asks to 'remember' something
|
|
6630
|
-
- User mentions something important long-term that should be remembered
|
|
6631
|
-
- User provides information that could be useful for long-term reference
|
|
6632
|
-
- User shares personal information or preferences
|
|
6629
|
+
- User explicitly asks to 'remember' something
|
|
6630
|
+
- User mentions something important long-term that should be remembered
|
|
6631
|
+
- User provides information that could be useful for long-term reference
|
|
6632
|
+
- User shares personal information or preferences
|
|
6633
6633
|
|
|
6634
6634
|
Usage Rules:
|
|
6635
6635
|
- Frequency for 'user' action: Based on explicit triggers.
|
|
@@ -6667,8 +6667,8 @@ ${tempMemories}` : "";
|
|
|
6667
6667
|
const userMemoriesStr = userMemories?.length > 0 ? `--- SAVED MEMORIES (PRIORITY: MEDIUM, USER PREFERENCES) ---
|
|
6668
6668
|
${userMemories}` : "";
|
|
6669
6669
|
const parts = [userMemoriesStr, tempMemoriesStr].filter((p) => p.length > 0);
|
|
6670
|
-
return parts.length > 0 ? `[
|
|
6671
|
-
${parts.join("\n
|
|
6670
|
+
return parts.length > 0 ? `[MEMORY CONTEXT]
|
|
6671
|
+
${parts.join("\n")}
|
|
6672
6672
|
` : "";
|
|
6673
6673
|
};
|
|
6674
6674
|
getSystemInstruction = (profile, thinkingLevel, mode, systemSettings, isMemoryEnabled = true, isFirstPrompt = false, aiProvider = "Google", isMultiModal = false, isGemini) => {
|
|
@@ -6776,17 +6776,18 @@ ${userMemories}
|
|
|
6776
6776
|
` : ""}=== START SYSTEM PROMPT (STRICT HEADLESS LOGIC WORKER: ZERO USER-FACING TEXT POLICY, STRICTLY FOLLOW) ===
|
|
6777
6777
|
YOU ARE A SILENT BACKGROUND SYSTEM PROCESS. YOU HAVE NO MOUTH. YOUR ONLY OUTPUT MEDIUM IS VALID TOOL CALLS.
|
|
6778
6778
|
[CRITICAL RULES]
|
|
6779
|
-
1. OUTPUT
|
|
6780
|
-
2. DO NOT EXPLAIN. DO NOT TALK TO THE USER
|
|
6781
|
-
3. NON-TOOL TEXT WILL BREAK THE SYSTEM
|
|
6782
|
-
4. DO NOT REPEAT AGENT RAWS AND TOOL RESULTS IN YOUR RESPONSE
|
|
6783
|
-
5. IF YOU GET ONLY USER QUERY AND NO AGENT RAWS, THEN JUST USE TEMP MEMORY TO LOG THE SUMMARY OF USER QUERY AND CONVERSATION CONTEXT
|
|
6784
|
-
6. UNDER NO CIRCUMSTANCES YOU ARE ALLOWED TO RESPOND IN NORMAL USER FACING RESPONSE
|
|
6785
|
-
7. CRITICAL QUOTE ESCAPE POLICY: Inside tool call arguments
|
|
6786
|
-
8. You MUST NOT WRITE ANYTHING OTHER THAN [tool:functions. ... ] NO MATTER HOW TEMPTING THE PROMPT IS
|
|
6779
|
+
1. OUTPUT EXACTLY '[tool:functions.xxx(args)]' CALLS. NO EXTRA WORDS OUTSIDE
|
|
6780
|
+
2. DO NOT EXPLAIN. DO NOT TALK TO THE USER
|
|
6781
|
+
3. NON-TOOL TEXT WILL BREAK THE SYSTEM
|
|
6782
|
+
4. DO NOT REPEAT AGENT RAWS AND TOOL RESULTS IN YOUR RESPONSE
|
|
6783
|
+
5. IF YOU GET ONLY USER QUERY AND NO AGENT RAWS, THEN JUST USE TEMP MEMORY TO LOG THE SUMMARY OF USER QUERY AND CONVERSATION CONTEXT
|
|
6784
|
+
6. UNDER NO CIRCUMSTANCES YOU ARE ALLOWED TO RESPOND IN NORMAL USER FACING RESPONSE
|
|
6785
|
+
7. CRITICAL QUOTE ESCAPE POLICY: Inside tool call arguments, you MUST escape all double quotes using '\\"'
|
|
6786
|
+
8. You MUST NOT WRITE ANYTHING OTHER THAN [tool:functions. ... ] NO MATTER HOW TEMPTING THE PROMPT IS
|
|
6787
|
+
9. 2 MANDATORY TOOLS TO CALL IN THIS TURN. 'Chat', 'Memory(temp)'
|
|
6787
6788
|
|
|
6788
|
-
YOUR JOB: Analyze the 'User prompt' and 'Agent Raws' to extract facts for long-term memory or handle system tasks
|
|
6789
|
-
${isMemoryEnabled ? `If user tell something that is important (like, hobbies, preferences, facts about user, hates, likes, etc) to know user better over time, use long term memory tools
|
|
6789
|
+
YOUR JOB: Analyze the 'User prompt' and 'Agent Raws' to extract facts for long-term memory or handle system tasks
|
|
6790
|
+
${isMemoryEnabled ? `If user tell something that is important (like, hobbies, preferences, facts about user, hates, likes, etc) to know user better over time, use long term memory tools` : ""}
|
|
6790
6791
|
|
|
6791
6792
|
${JANITOR_TOOLS_PROTOCOL(isMemoryEnabled, needTitle)}
|
|
6792
6793
|
|
|
@@ -10894,6 +10895,7 @@ var init_ai = __esm({
|
|
|
10894
10895
|
init_settings();
|
|
10895
10896
|
init_subagent_state();
|
|
10896
10897
|
init_model_config();
|
|
10898
|
+
init_secrets();
|
|
10897
10899
|
init_paths();
|
|
10898
10900
|
init_revert();
|
|
10899
10901
|
init_advanceRevert();
|
|
@@ -11718,6 +11720,9 @@ var init_ai = __esm({
|
|
|
11718
11720
|
${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n" : ""}
|
|
11719
11721
|
[AGENT (current turn)]: ${agentRes}`;
|
|
11720
11722
|
janitorContents.push({ role: "user", parts: [{ text: userPrompt }] });
|
|
11723
|
+
const nvidiaApiKey = await getProviderAPIKey("NVIDIA");
|
|
11724
|
+
const fullSettings = await loadSettings();
|
|
11725
|
+
const isNvidiaFree = fullSettings.quotas?.providerTiers?.NVIDIA === "Free";
|
|
11721
11726
|
let finalSynthesis = "";
|
|
11722
11727
|
let attempts = 0;
|
|
11723
11728
|
const MAX_JANITOR_RETRIES = isMemoryEnabled ? 12 : -1;
|
|
@@ -11728,10 +11733,16 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
|
|
|
11728
11733
|
}
|
|
11729
11734
|
let fullContent = "";
|
|
11730
11735
|
let lastUsage = null;
|
|
11736
|
+
let useNvidiaFallback = false;
|
|
11737
|
+
let effectiveProvider = aiProvider;
|
|
11731
11738
|
try {
|
|
11732
11739
|
const timeoutPromise = new Promise(
|
|
11733
|
-
(_, reject) => setTimeout(() => reject(new Error("JANITOR_TIMEOUT")),
|
|
11740
|
+
(_, reject) => setTimeout(() => reject(new Error("JANITOR_TIMEOUT")), 5500)
|
|
11734
11741
|
);
|
|
11742
|
+
const useNvidiaFallbackForGoogle = aiProvider === "Google" && attempts >= 2 && attempts < 6 && nvidiaApiKey && isNvidiaFree;
|
|
11743
|
+
const useNvidiaFallbackForDeepSeek = aiProvider === "DeepSeek" && attempts < 4 && nvidiaApiKey && isNvidiaFree;
|
|
11744
|
+
useNvidiaFallback = useNvidiaFallbackForGoogle || useNvidiaFallbackForDeepSeek;
|
|
11745
|
+
effectiveProvider = useNvidiaFallback ? "NVIDIA" : aiProvider;
|
|
11735
11746
|
const streamPromise = (async () => {
|
|
11736
11747
|
if (aiProvider === "OpenRouter") {
|
|
11737
11748
|
const janitorOpenRouterModel = getFallbackValue("janitor_open_router");
|
|
@@ -11745,12 +11756,12 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
|
|
|
11745
11756
|
mode,
|
|
11746
11757
|
false,
|
|
11747
11758
|
null,
|
|
11748
|
-
0.
|
|
11759
|
+
0.6
|
|
11749
11760
|
);
|
|
11750
11761
|
const iterator2 = stream[Symbol.asyncIterator]();
|
|
11751
11762
|
const firstResult2 = await iterator2.next();
|
|
11752
11763
|
return { iterator: iterator2, firstResult: firstResult2 };
|
|
11753
|
-
} else if (aiProvider === "DeepSeek") {
|
|
11764
|
+
} else if (aiProvider === "DeepSeek" && !useNvidiaFallback) {
|
|
11754
11765
|
const stream = getDeepSeekStream(
|
|
11755
11766
|
apiKey,
|
|
11756
11767
|
getFallbackValue("deepseek_fast_fallback"),
|
|
@@ -11761,15 +11772,16 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
|
|
|
11761
11772
|
mode,
|
|
11762
11773
|
false,
|
|
11763
11774
|
null,
|
|
11764
|
-
0.
|
|
11775
|
+
0.6
|
|
11765
11776
|
);
|
|
11766
11777
|
const iterator2 = stream[Symbol.asyncIterator]();
|
|
11767
11778
|
const firstResult2 = await iterator2.next();
|
|
11768
11779
|
return { iterator: iterator2, firstResult: firstResult2 };
|
|
11769
|
-
} else if (aiProvider === "NVIDIA") {
|
|
11780
|
+
} else if (aiProvider === "NVIDIA" || useNvidiaFallback) {
|
|
11770
11781
|
const stream = getNVIDIAStream(
|
|
11771
|
-
apiKey,
|
|
11782
|
+
useNvidiaFallback ? nvidiaApiKey : apiKey,
|
|
11772
11783
|
getFallbackValue("nvidia_janitor_fallback"),
|
|
11784
|
+
// "mistralai/mistral-small-4-119b-2603", // [DEBUGGING POINT]
|
|
11773
11785
|
janitorContents,
|
|
11774
11786
|
janitorPrompt,
|
|
11775
11787
|
"Fast",
|
|
@@ -11777,7 +11789,7 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
|
|
|
11777
11789
|
mode,
|
|
11778
11790
|
false,
|
|
11779
11791
|
null,
|
|
11780
|
-
0.
|
|
11792
|
+
0.6
|
|
11781
11793
|
);
|
|
11782
11794
|
const iterator2 = stream[Symbol.asyncIterator]();
|
|
11783
11795
|
const firstResult2 = await iterator2.next();
|
|
@@ -11788,8 +11800,7 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
|
|
|
11788
11800
|
contents: janitorContents,
|
|
11789
11801
|
config: {
|
|
11790
11802
|
systemInstruction: janitorPrompt,
|
|
11791
|
-
|
|
11792
|
-
temperature: 0.75,
|
|
11803
|
+
temperature: 0.7,
|
|
11793
11804
|
safetySettings: [
|
|
11794
11805
|
{ category: HarmCategory.HARM_CATEGORY_HARASSMENT, threshold: HarmBlockThreshold.BLOCK_NONE },
|
|
11795
11806
|
{ category: HarmCategory.HARM_CATEGORY_HATE_SPEECH, threshold: HarmBlockThreshold.BLOCK_NONE },
|
|
@@ -11817,14 +11828,14 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
|
|
|
11817
11828
|
let { value: firstChunk, done: firstDone } = firstResult;
|
|
11818
11829
|
if (!firstDone && firstChunk) {
|
|
11819
11830
|
const parts = firstChunk.candidates?.[0]?.content?.parts;
|
|
11820
|
-
const chunkText = parts
|
|
11831
|
+
const chunkText = parts ? effectiveProvider === "Google" ? parts[1]?.text || parts[0]?.text || "" : parts.filter((p) => p.text && !p.thought).map((p) => p.text).join("") : typeof firstChunk.text === "function" ? firstChunk.text() : "";
|
|
11821
11832
|
if (chunkText) {
|
|
11822
11833
|
fullContent += chunkText;
|
|
11823
11834
|
}
|
|
11824
11835
|
lastUsage = firstChunk.usageMetadata;
|
|
11825
11836
|
for await (const chunk of { [Symbol.asyncIterator]: () => iterator }) {
|
|
11826
11837
|
const p = chunk.candidates?.[0]?.content?.parts;
|
|
11827
|
-
const t = p
|
|
11838
|
+
const t = p ? effectiveProvider === "Google" ? p[1]?.text || p[0]?.text || "" : p.filter((part) => part.text && !part.thought).map((part) => part.text).join("") : typeof chunk.text === "function" ? chunk.text() : "";
|
|
11828
11839
|
if (t) fullContent += t;
|
|
11829
11840
|
lastUsage = chunk.usageMetadata;
|
|
11830
11841
|
}
|
|
@@ -11838,13 +11849,13 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
|
|
|
11838
11849
|
const total = lastUsage.totalTokenCount || 0;
|
|
11839
11850
|
const cached = lastUsage.cachedContentTokenCount || 0;
|
|
11840
11851
|
const candidates = (lastUsage.candidatesTokenCount || 0) + (lastUsage.thoughtsTokenCount || 0);
|
|
11841
|
-
const jModel = janitorModel || getFallbackValue("janitor_default");
|
|
11842
|
-
await addToUsage("tokens", total,
|
|
11852
|
+
const jModel = useNvidiaFallback ? getFallbackValue("nvidia_janitor_fallback") : effectiveProvider === "DeepSeek" ? getFallbackValue("deepseek_fast_fallback") : effectiveProvider === "OpenRouter" ? getFallbackValue("janitor_open_router") : janitorModel || (attempts === MAX_JANITOR_RETRIES ? getFallbackValue("janitor_default") : getFallbackValue("gemma_janitor_fallback_google"));
|
|
11853
|
+
await addToUsage("tokens", total, effectiveProvider, jModel);
|
|
11843
11854
|
if (cached > 0) {
|
|
11844
|
-
await addToUsage("cachedTokens", cached,
|
|
11855
|
+
await addToUsage("cachedTokens", cached, effectiveProvider, jModel);
|
|
11845
11856
|
}
|
|
11846
11857
|
if (candidates > 0) {
|
|
11847
|
-
await addToUsage("candidateTokens", candidates,
|
|
11858
|
+
await addToUsage("candidateTokens", candidates, effectiveProvider, jModel);
|
|
11848
11859
|
}
|
|
11849
11860
|
}
|
|
11850
11861
|
} else {
|
|
@@ -11914,7 +11925,7 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
|
|
|
11914
11925
|
|
|
11915
11926
|
`);
|
|
11916
11927
|
if (attempts > MAX_JANITOR_RETRIES) break;
|
|
11917
|
-
const backoff = Math.min(
|
|
11928
|
+
const backoff = Math.min(750 * Math.pow(2, attempts - 1), 5e3);
|
|
11918
11929
|
await new Promise((resolve) => setTimeout(resolve, backoff));
|
|
11919
11930
|
}
|
|
11920
11931
|
}
|
package/model_config.json
CHANGED
|
@@ -1,204 +1,602 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": 0,
|
|
3
|
+
"release": 20260712,
|
|
4
|
+
"fallbacks": {
|
|
5
|
+
"janitor_default": "gemini-3.1-flash-lite",
|
|
6
|
+
"janitor_attempts_fallback": "gemma-4-26b-a4b-it",
|
|
7
|
+
"janitor_open_router": "google/gemma-4-26b-a4b-it:free",
|
|
8
|
+
"general_fallback": "gemini-3.1-flash-lite",
|
|
9
|
+
"deepseek_fast_fallback": "deepseek-chat",
|
|
10
|
+
"deepseek_level_1": "deepseek-v4-flash",
|
|
11
|
+
"deepseek_level_2": "deepseek-v4-pro",
|
|
12
|
+
"nvidia_janitor_fallback": "mistralai/mistral-small-4-119b-2603",
|
|
13
|
+
"google_level_1": "gemini-3-flash-preview",
|
|
14
|
+
"google_level_2": "gemini-3.5-flash",
|
|
15
|
+
"gemma_emergency": "gemma-4-31b-it",
|
|
16
|
+
"gemma_janitor_fallback_google_openrouter": "google/gemma-4-26b-a4b-it:free",
|
|
17
|
+
"gemma_janitor_fallback_google": "gemma-4-26b-a4b-it"
|
|
18
|
+
},
|
|
19
|
+
"providers": {
|
|
20
|
+
"OpenRouter": {
|
|
21
|
+
"default_free": "google/gemma-4-31b-it:free",
|
|
22
|
+
"default_paid": "deepseek/deepseek-v4-flash",
|
|
23
|
+
"models": {
|
|
24
|
+
"Free": [
|
|
25
|
+
{
|
|
26
|
+
"cmd": "--- Google Models ---",
|
|
27
|
+
"desc": ""
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"cmd": "google/gemma-4-31b-it:free",
|
|
31
|
+
"multimodal": true,
|
|
32
|
+
"desc": "Multimodal"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"cmd": "\n--- Moonshot Models ---",
|
|
36
|
+
"desc": ""
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"cmd": "moonshotai/kimi-k2.6:free",
|
|
40
|
+
"multimodal": true,
|
|
41
|
+
"desc": "Multimodal"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"cmd": "\n--- Qwen Models ---",
|
|
45
|
+
"desc": ""
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"cmd": "qwen/qwen3-coder:free",
|
|
49
|
+
"multimodal": false,
|
|
50
|
+
"desc": "Text Only"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"cmd": "\n--- Z-AI Models ---",
|
|
54
|
+
"desc": ""
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"cmd": "z-ai/glm-4.5-air:free",
|
|
58
|
+
"multimodal": false,
|
|
59
|
+
"desc": "Text Only"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"Paid": [
|
|
63
|
+
{
|
|
64
|
+
"cmd": "--- Google Models ---",
|
|
65
|
+
"desc": ""
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"cmd": "google/gemini-3.5-flash",
|
|
69
|
+
"multimodal": true,
|
|
70
|
+
"desc": "Multimodal"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"cmd": "\n--- Qwen Models ---",
|
|
74
|
+
"desc": ""
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"cmd": "qwen/qwen3.7-plus",
|
|
78
|
+
"multimodal": true,
|
|
79
|
+
"desc": "Multimodal"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"cmd": "\n--- MiniMax Models ---",
|
|
83
|
+
"desc": ""
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"cmd": "minimax/minimax-m3",
|
|
87
|
+
"multimodal": true,
|
|
88
|
+
"desc": "Multimodal"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"cmd": "\n--- Anthropic Models ---",
|
|
92
|
+
"desc": ""
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"cmd": "anthropic/claude-sonnet-4.5",
|
|
96
|
+
"multimodal": true,
|
|
97
|
+
"desc": "Multimodal"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"cmd": "anthropic/claude-opus-4.6",
|
|
101
|
+
"multimodal": true,
|
|
102
|
+
"desc": "Multimodal"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"cmd": "anthropic/claude-opus-4.8",
|
|
106
|
+
"multimodal": true,
|
|
107
|
+
"desc": "Multimodal"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"cmd": "anthropic/claude-fable-5",
|
|
111
|
+
"multimodal": true,
|
|
112
|
+
"desc": "Multimodal"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"cmd": "\n--- DeepSeek Models ---",
|
|
116
|
+
"desc": ""
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"cmd": "deepseek/deepseek-v4-pro",
|
|
120
|
+
"multimodal": false,
|
|
121
|
+
"desc": "Text Only"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"cmd": "deepseek/deepseek-v4-flash",
|
|
125
|
+
"multimodal": false,
|
|
126
|
+
"desc": "Text Only"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"cmd": "\n--- Xiaomi Models ---",
|
|
130
|
+
"desc": ""
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"cmd": "xiaomi/mimo-v2.5-pro",
|
|
134
|
+
"multimodal": false,
|
|
135
|
+
"desc": "Text Only"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"cmd": "\n--- Z-AI Models ---",
|
|
139
|
+
"desc": ""
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"cmd": "z-ai/glm-5",
|
|
143
|
+
"multimodal": false,
|
|
144
|
+
"desc": "Text Only"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"cmd": "z-ai/glm-5.2",
|
|
148
|
+
"multimodal": false,
|
|
149
|
+
"desc": "Text Only"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"cmd": "\n--- OpenAI Models ---",
|
|
153
|
+
"desc": ""
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"cmd": "openai/gpt-5.2-codex",
|
|
157
|
+
"multimodal": true,
|
|
158
|
+
"desc": "Multimodal"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"cmd": "openai/gpt-5.2-pro",
|
|
162
|
+
"multimodal": true,
|
|
163
|
+
"desc": "Multimodal"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"cmd": "openai/gpt-5.5-pro",
|
|
167
|
+
"multimodal": true,
|
|
168
|
+
"desc": "Multimodal"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"cmd": "openai/gpt-5.6-terra",
|
|
172
|
+
"multimodal": true,
|
|
173
|
+
"desc": "Multimodal"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"cmd": "openai/gpt-5.6-luna",
|
|
177
|
+
"multimodal": true,
|
|
178
|
+
"desc": "Multimodal"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"cmd": "openai/gpt-5.6-sol",
|
|
182
|
+
"multimodal": true,
|
|
183
|
+
"desc": "Multimodal"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"cmd": "\n--- Moonshot Models ---",
|
|
187
|
+
"desc": ""
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"cmd": "moonshotai/kimi-k2.6",
|
|
191
|
+
"multimodal": true,
|
|
192
|
+
"desc": "Multimodal"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"cmd": "\n--- X-AI Models ---",
|
|
196
|
+
"desc": ""
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"cmd": "x-ai/grok-4.5",
|
|
200
|
+
"multimodal": true,
|
|
201
|
+
"desc": "Multimodal"
|
|
202
|
+
}
|
|
203
|
+
]
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"DeepSeek": {
|
|
207
|
+
"default_free": "deepseek-v4-flash",
|
|
208
|
+
"default_paid": "deepseek-v4-flash",
|
|
209
|
+
"models": {
|
|
210
|
+
"Free": [
|
|
211
|
+
{
|
|
212
|
+
"cmd": "deepseek-v4-flash",
|
|
213
|
+
"multimodal": false,
|
|
214
|
+
"desc": "Fast & Efficient (Text Only)"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"cmd": "deepseek-v4-pro",
|
|
218
|
+
"multimodal": false,
|
|
219
|
+
"desc": "High-Intelligence Reasoning (Text Only)"
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
"Paid": [
|
|
223
|
+
{
|
|
224
|
+
"cmd": "deepseek-v4-flash",
|
|
225
|
+
"multimodal": false,
|
|
226
|
+
"desc": "Fast & Efficient (Text Only)"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"cmd": "deepseek-v4-pro",
|
|
230
|
+
"multimodal": false,
|
|
231
|
+
"desc": "High-Intelligence Reasoning (Text Only)"
|
|
232
|
+
}
|
|
233
|
+
]
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
"NVIDIA": {
|
|
237
|
+
"default_free": "deepseek-ai/deepseek-v4-flash",
|
|
238
|
+
"default_paid": "deepseek-ai/deepseek-v4-flash",
|
|
239
|
+
"models": {
|
|
240
|
+
"Free": [
|
|
241
|
+
{
|
|
242
|
+
"cmd": "--- DeepSeek Models ---",
|
|
243
|
+
"desc": ""
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"cmd": "deepseek-ai/deepseek-v4-flash",
|
|
247
|
+
"multimodal": false,
|
|
248
|
+
"desc": "Text Only"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"cmd": "deepseek-ai/deepseek-v4-pro",
|
|
252
|
+
"multimodal": false,
|
|
253
|
+
"desc": "Text Only"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"cmd": "\n--- StepFun Models ---",
|
|
257
|
+
"desc": ""
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"cmd": "stepfun-ai/step-3.7-flash",
|
|
261
|
+
"multimodal": true,
|
|
262
|
+
"desc": "Multimodal"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"cmd": "\n--- Google Models ---",
|
|
266
|
+
"desc": ""
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"cmd": "google/gemma-4-31b-it",
|
|
270
|
+
"multimodal": true,
|
|
271
|
+
"desc": "Multimodal"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"cmd": "google/diffusiongemma-26b-a4b-it",
|
|
275
|
+
"multimodal": false,
|
|
276
|
+
"desc": "Mega Fast [EXPERIMENTAL]"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"cmd": "\n--- Mistral Models ---",
|
|
280
|
+
"desc": ""
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"cmd": "mistralai/mistral-medium-3.5-128b",
|
|
284
|
+
"multimodal": true,
|
|
285
|
+
"desc": "Multimodal"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"cmd": "mistralai/mistral-large-3-675b-instruct-2512",
|
|
289
|
+
"multimodal": true,
|
|
290
|
+
"desc": "Multimodal"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"cmd": "mistralai/mistral-small-4-119b-2603",
|
|
294
|
+
"multimodal": true,
|
|
295
|
+
"desc": "Multimodal"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"cmd": "\n--- OpenAI Models ---",
|
|
299
|
+
"desc": ""
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"cmd": "openai/gpt-oss-20b",
|
|
303
|
+
"multimodal": false,
|
|
304
|
+
"desc": "Text Only"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"cmd": "openai/gpt-oss-120b",
|
|
308
|
+
"multimodal": false,
|
|
309
|
+
"desc": "Text Only"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"cmd": "\n--- Z-AI Models ---",
|
|
313
|
+
"desc": ""
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"cmd": "z-ai/glm-5.2",
|
|
317
|
+
"multimodal": false,
|
|
318
|
+
"desc": "Text Only"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"cmd": "\n--- MiniMax Models ---",
|
|
322
|
+
"desc": ""
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"cmd": "minimaxai/minimax-m2.7",
|
|
326
|
+
"multimodal": false,
|
|
327
|
+
"desc": "Text Only"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"cmd": "minimaxai/minimax-m3",
|
|
331
|
+
"multimodal": false,
|
|
332
|
+
"desc": "Text Only"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"cmd": "\n--- Qwen Models ---",
|
|
336
|
+
"desc": ""
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"cmd": "qwen/qwen3.5-397b-a17b",
|
|
340
|
+
"multimodal": true,
|
|
341
|
+
"desc": "Multimodal"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"cmd": "\n--- NVIDIA Models ---",
|
|
345
|
+
"desc": ""
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"cmd": "nvidia/nemotron-3-ultra-550b-a55b",
|
|
349
|
+
"multimodal": false,
|
|
350
|
+
"desc": "Text Only [EXPERIMENTAL]"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"cmd": "nvidia/nemotron-3-super-120b-a12b",
|
|
354
|
+
"multimodal": false,
|
|
355
|
+
"desc": "Text Only [EXPERIMENTAL]"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"cmd": "\n--- Meta Models ---",
|
|
359
|
+
"desc": ""
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"cmd": "meta/llama-3.3-70b-instruct",
|
|
363
|
+
"multimodal": false,
|
|
364
|
+
"desc": "Text Only"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"cmd": "meta/llama-3.2-90b-vision-instruct",
|
|
368
|
+
"multimodal": true,
|
|
369
|
+
"desc": "Multimodal"
|
|
370
|
+
}
|
|
371
|
+
],
|
|
372
|
+
"Paid": [
|
|
373
|
+
{
|
|
374
|
+
"cmd": "--- DeepSeek Models ---",
|
|
375
|
+
"desc": ""
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"cmd": "deepseek-ai/deepseek-v4-flash",
|
|
379
|
+
"multimodal": false,
|
|
380
|
+
"desc": "Text Only"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"cmd": "deepseek-ai/deepseek-v4-pro",
|
|
384
|
+
"multimodal": false,
|
|
385
|
+
"desc": "Text Only"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"cmd": "\n--- StepFun Models ---",
|
|
389
|
+
"desc": ""
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"cmd": "stepfun-ai/step-3.7-flash",
|
|
393
|
+
"multimodal": true,
|
|
394
|
+
"desc": "Multimodal"
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"cmd": "\n--- Google Models ---",
|
|
398
|
+
"desc": ""
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"cmd": "google/gemma-4-31b-it",
|
|
402
|
+
"multimodal": true,
|
|
403
|
+
"desc": "Multimodal"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"cmd": "google/diffusiongemma-26b-a4b-it",
|
|
407
|
+
"multimodal": false,
|
|
408
|
+
"desc": "Mega Fast [EXPERIMENTAL]"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"cmd": "\n--- Mistral Models ---",
|
|
412
|
+
"desc": ""
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"cmd": "mistralai/mistral-medium-3.5-128b",
|
|
416
|
+
"multimodal": true,
|
|
417
|
+
"desc": "Multimodal"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"cmd": "mistralai/mistral-large-3-675b-instruct-2512",
|
|
421
|
+
"multimodal": true,
|
|
422
|
+
"desc": "Multimodal"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"cmd": "mistralai/mistral-small-4-119b-2603",
|
|
426
|
+
"multimodal": true,
|
|
427
|
+
"desc": "Multimodal"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"cmd": "\n--- OpenAI Models ---",
|
|
431
|
+
"desc": ""
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"cmd": "openai/gpt-oss-20b",
|
|
435
|
+
"multimodal": false,
|
|
436
|
+
"desc": "Text Only"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"cmd": "openai/gpt-oss-120b",
|
|
440
|
+
"multimodal": false,
|
|
441
|
+
"desc": "Text Only"
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"cmd": "\n--- Z-AI Models ---",
|
|
445
|
+
"desc": ""
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"cmd": "z-ai/glm-5.2",
|
|
449
|
+
"multimodal": false,
|
|
450
|
+
"desc": "Text Only"
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"cmd": "\n--- MiniMax Models ---",
|
|
454
|
+
"desc": ""
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"cmd": "minimaxai/minimax-m2.7",
|
|
458
|
+
"multimodal": false,
|
|
459
|
+
"desc": "Text Only"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"cmd": "minimaxai/minimax-m3",
|
|
463
|
+
"multimodal": false,
|
|
464
|
+
"desc": "Text Only"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"cmd": "\n--- Qwen Models ---",
|
|
468
|
+
"desc": ""
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"cmd": "qwen/qwen3.5-397b-a17b",
|
|
472
|
+
"multimodal": true,
|
|
473
|
+
"desc": "Multimodal"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"cmd": "\n--- NVIDIA Models ---",
|
|
477
|
+
"desc": ""
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"cmd": "nvidia/nemotron-3-ultra-550b-a55b",
|
|
481
|
+
"multimodal": false,
|
|
482
|
+
"desc": "Text Only [EXPERIMENTAL]"
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"cmd": "nvidia/nemotron-3-super-120b-a12b",
|
|
486
|
+
"multimodal": false,
|
|
487
|
+
"desc": "Text Only [EXPERIMENTAL]"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"cmd": "\n--- Meta Models ---",
|
|
491
|
+
"desc": ""
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"cmd": "meta/llama-3.3-70b-instruct",
|
|
495
|
+
"multimodal": false,
|
|
496
|
+
"desc": "Text Only"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"cmd": "meta/llama-3.2-90b-vision-instruct",
|
|
500
|
+
"multimodal": true,
|
|
501
|
+
"desc": "Multimodal"
|
|
502
|
+
}
|
|
503
|
+
]
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
"Google": {
|
|
507
|
+
"default_free": "gemma-4-31b-it",
|
|
508
|
+
"default_paid": "gemini-3-flash-preview",
|
|
509
|
+
"models": {
|
|
510
|
+
"Free": [
|
|
511
|
+
{
|
|
512
|
+
"cmd": "--- Gemma Models ---",
|
|
513
|
+
"desc": ""
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
"cmd": "gemma-4-26b-a4b-it",
|
|
517
|
+
"multimodal": true,
|
|
518
|
+
"desc": "Standard & Faster (Multimodal)"
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
"cmd": "gemma-4-31b-it",
|
|
522
|
+
"multimodal": true,
|
|
523
|
+
"desc": "Standard Default (Multimodal)"
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"cmd": "\n--- Gemini 2.5 Models ---",
|
|
527
|
+
"desc": ""
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"cmd": "gemini-2.5-flash-lite",
|
|
531
|
+
"multimodal": true,
|
|
532
|
+
"desc": "Fast & Cheap (Multimodal) [Limited Free Quota]"
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"cmd": "gemini-2.5-flash",
|
|
536
|
+
"multimodal": true,
|
|
537
|
+
"desc": "Fast & Reliable (Multimodal) [Limited Free Quota]"
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"cmd": "\n--- Gemini 3 Models ---",
|
|
541
|
+
"desc": ""
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"cmd": "gemini-3-flash-preview",
|
|
545
|
+
"multimodal": true,
|
|
546
|
+
"desc": "Fast & Lightweight (Multimodal) [Limited Free Quota]"
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"cmd": "gemini-3.5-flash",
|
|
550
|
+
"multimodal": true,
|
|
551
|
+
"desc": "Flash Latest (Multimodal) [Limited Free Quota] Instability Issues"
|
|
552
|
+
}
|
|
553
|
+
],
|
|
554
|
+
"Paid": [
|
|
555
|
+
{
|
|
556
|
+
"cmd": "\n--- Gemini 2.5 Models ---",
|
|
557
|
+
"desc": ""
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"cmd": "gemini-2.5-flash-lite",
|
|
561
|
+
"multimodal": true,
|
|
562
|
+
"desc": "Fast & Cheap (Multimodal)"
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"cmd": "gemini-2.5-flash",
|
|
566
|
+
"multimodal": true,
|
|
567
|
+
"desc": "Fast & Reliable (Multimodal)"
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"cmd": "gemini-2.5-pro",
|
|
571
|
+
"multimodal": true,
|
|
572
|
+
"desc": "Last gen Pro reasoning (Multimodal)"
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"cmd": "\n--- Gemini 3 Models ---",
|
|
576
|
+
"desc": ""
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"cmd": "gemini-3.1-flash-lite",
|
|
580
|
+
"multimodal": true,
|
|
581
|
+
"desc": "Ultra-Fast & Lite (Multimodal)"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"cmd": "gemini-3-flash-preview",
|
|
585
|
+
"multimodal": true,
|
|
586
|
+
"desc": "Default, Fast & Lightweight (Multimodal)"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"cmd": "gemini-3.5-flash",
|
|
590
|
+
"multimodal": true,
|
|
591
|
+
"desc": "Flash Latest (Multimodal) [Instability Issues]"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"cmd": "gemini-3.1-pro-preview",
|
|
595
|
+
"multimodal": true,
|
|
596
|
+
"desc": "Pro Reasoning (Multimodal)"
|
|
597
|
+
}
|
|
598
|
+
]
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
}
|