mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-06-03 02:27:09 +08:00
chore(install): simplify model menu, add MiMo option
This commit is contained in:
34
run.sh
34
run.sh
@@ -596,17 +596,18 @@ select_model() {
|
||||
echo ""
|
||||
local title sel
|
||||
title="$(t "选择 AI 模型" "Select AI Model")"
|
||||
# The 11th option is "skip" -> configure later in the web console.
|
||||
# The 12th option is "skip" -> configure later in the web console.
|
||||
select_menu sel "$title" \
|
||||
"DeepSeek (deepseek-v4-flash, deepseek-v4-pro, etc.)" \
|
||||
"Claude (claude-opus-4-8, claude-opus-4-7, claude-sonnet-4-6, etc.)" \
|
||||
"Gemini (gemini-3.1-flash-lite-preview, gemini-3.1-pro-preview, etc.)" \
|
||||
"OpenAI GPT (gpt-5.4, gpt-5.2, gpt-4.1, etc.)" \
|
||||
"MiniMax (MiniMax-M3, MiniMax-M2.7, etc.)" \
|
||||
"Zhipu AI (glm-5.1, glm-5-turbo, glm-5, etc.)" \
|
||||
"Qwen (qwen3.7-plus, qwen3.6-plus, qwen3.5-plus, qwen3-max, qwq-plus, etc.)" \
|
||||
"Doubao (doubao-seed-2-0-code-preview-260215, etc.)" \
|
||||
"Kimi (kimi-k2.6, kimi-k2.5, kimi-k2, etc.)" \
|
||||
"Claude (claude-opus-4-8, claude-opus-4-7, etc.)" \
|
||||
"Gemini (gemini-3.5-flash, gemini-3.1-pro-preview, etc.)" \
|
||||
"OpenAI (gpt-5.5, etc.)" \
|
||||
"MiniMax (MiniMax-M3, etc.)" \
|
||||
"GLM (glm-5.1, etc.)" \
|
||||
"Qwen (qwen3.7-plus, qwen3.7-max, etc.)" \
|
||||
"Doubao (doubao-seed-2.0, etc.)" \
|
||||
"Kimi (kimi-k2.6, etc.)" \
|
||||
"MiMo (mimo-v2.5-pro, etc.)" \
|
||||
"LinkAI ($(t "一个 Key 接入所有模型" "access all models via one API"))" \
|
||||
"$(t "⏭ 跳过(稍后在 Web 控制台配置)" "⏭ Skip (configure later in the web console)")"
|
||||
model_choice="$sel"
|
||||
@@ -632,19 +633,20 @@ configure_model() {
|
||||
1) read_model_config "DeepSeek" "deepseek-v4-flash" "DEEPSEEK_KEY" ;;
|
||||
2) read_model_config "Claude" "claude-opus-4-8" "CLAUDE_KEY" ;;
|
||||
3) read_model_config "Gemini" "gemini-3.1-pro-preview" "GEMINI_KEY" ;;
|
||||
4) read_model_config "OpenAI GPT" "gpt-5.4" "OPENAI_KEY" ;;
|
||||
4) read_model_config "OpenAI" "gpt-5.5" "OPENAI_KEY" ;;
|
||||
5) read_model_config "MiniMax" "MiniMax-M3" "MINIMAX_KEY" ;;
|
||||
6) read_model_config "Zhipu AI" "glm-5.1" "ZHIPU_KEY" ;;
|
||||
6) read_model_config "GLM" "glm-5.1" "ZHIPU_KEY" ;;
|
||||
7) read_model_config "Qwen (DashScope)" "qwen3.7-plus" "DASHSCOPE_KEY" ;;
|
||||
8) read_model_config "Doubao (Volcengine Ark)" "doubao-seed-2-0-code-preview-260215" "ARK_KEY" ;;
|
||||
9) read_model_config "Kimi (Moonshot)" "kimi-k2.6" "MOONSHOT_KEY" ;;
|
||||
10)
|
||||
10) read_model_config "MiMo" "mimo-v2.5-pro" "MIMO_KEY" ;;
|
||||
11)
|
||||
# Show where to obtain a LinkAI key (zh users -> console page).
|
||||
echo -e "${CYAN}$(t "获取 LinkAI Key" "Get your LinkAI Key"): https://link-ai.tech/console/interface${NC}"
|
||||
read_model_config "LinkAI" "deepseek-v4-flash" "LINKAI_KEY"
|
||||
USE_LINKAI="true"
|
||||
;;
|
||||
11)
|
||||
12)
|
||||
# Skip: leave model unset, will be configured in web console
|
||||
MODEL_SKIPPED="true"
|
||||
MODEL_NAME=""
|
||||
@@ -657,8 +659,8 @@ configure_model() {
|
||||
channel_label() {
|
||||
case "$1" in
|
||||
web) t "Web 网页控制台(推荐,开箱即用)" "Web Console (recommended, ready to use)" ;;
|
||||
weixin) t "微信" "WeChat (Weixin)" ;;
|
||||
feishu) t "飞书" "Feishu / Lark" ;;
|
||||
weixin) t "微信" "Wechat" ;;
|
||||
feishu) t "飞书" "Feishu" ;;
|
||||
dingtalk) t "钉钉" "DingTalk" ;;
|
||||
wecom_bot) t "企微智能机器人" "WeCom Bot" ;;
|
||||
qq) printf '%s' "QQ" ;;
|
||||
@@ -823,6 +825,7 @@ create_config_file() {
|
||||
ARK_KEY="${ARK_KEY:-}" \
|
||||
DASHSCOPE_KEY="${DASHSCOPE_KEY:-}" \
|
||||
MINIMAX_KEY="${MINIMAX_KEY:-}" \
|
||||
MIMO_KEY="${MIMO_KEY:-}" \
|
||||
DEEPSEEK_KEY="${DEEPSEEK_KEY:-}" \
|
||||
DEEPSEEK_BASE="${DEEPSEEK_BASE:-https://api.deepseek.com/v1}" \
|
||||
USE_LINKAI="${USE_LINKAI:-false}" \
|
||||
@@ -865,6 +868,7 @@ base = {
|
||||
'ark_api_key': e('ARK_KEY', ''),
|
||||
'dashscope_api_key': e('DASHSCOPE_KEY', ''),
|
||||
'minimax_api_key': e('MINIMAX_KEY', ''),
|
||||
'mimo_api_key': e('MIMO_KEY', ''),
|
||||
'deepseek_api_key': e('DEEPSEEK_KEY', ''),
|
||||
'deepseek_api_base': e('DEEPSEEK_BASE'),
|
||||
'voice_to_text': 'openai',
|
||||
|
||||
@@ -367,13 +367,14 @@ $ModelChoices = @{
|
||||
1 = @{ Provider = "DeepSeek"; Default = "deepseek-v4-flash"; Field = "deepseek_api_key" }
|
||||
2 = @{ Provider = "Claude"; Default = "claude-opus-4-8"; Field = "claude_api_key"; BaseField = "claude_api_base" }
|
||||
3 = @{ Provider = "Gemini"; Default = "gemini-3.1-pro-preview"; Field = "gemini_api_key"; BaseField = "gemini_api_base" }
|
||||
4 = @{ Provider = "OpenAI GPT"; Default = "gpt-5.4"; Field = "open_ai_api_key"; BaseField = "open_ai_api_base" }
|
||||
4 = @{ Provider = "OpenAI"; Default = "gpt-5.5"; Field = "open_ai_api_key"; BaseField = "open_ai_api_base" }
|
||||
5 = @{ Provider = "MiniMax"; Default = "MiniMax-M3"; Field = "minimax_api_key" }
|
||||
6 = @{ Provider = "Zhipu AI"; Default = "glm-5.1"; Field = "zhipu_ai_api_key" }
|
||||
6 = @{ Provider = "GLM"; Default = "glm-5.1"; Field = "zhipu_ai_api_key" }
|
||||
7 = @{ Provider = "Qwen (DashScope)"; Default = "qwen3.7-plus"; Field = "dashscope_api_key" }
|
||||
8 = @{ Provider = "Doubao (Volcengine Ark)"; Default = "doubao-seed-2-0-code-preview-260215"; Field = "ark_api_key" }
|
||||
9 = @{ Provider = "Kimi (Moonshot)"; Default = "kimi-k2.6"; Field = "moonshot_api_key" }
|
||||
10 = @{ Provider = "LinkAI"; Default = "deepseek-v4-flash"; Field = "linkai_api_key"; Linkai = $true }
|
||||
10 = @{ Provider = "MiMo"; Default = "mimo-v2.5-pro"; Field = "mimo_api_key" }
|
||||
11 = @{ Provider = "LinkAI"; Default = "deepseek-v4-flash"; Field = "linkai_api_key"; Linkai = $true }
|
||||
}
|
||||
|
||||
function Select-Model {
|
||||
@@ -381,14 +382,15 @@ function Select-Model {
|
||||
$title = T "选择 AI 模型" "Select AI Model"
|
||||
$options = @(
|
||||
"DeepSeek (deepseek-v4-flash, deepseek-v4-pro, etc.)",
|
||||
"Claude (claude-opus-4-8, claude-opus-4-7, claude-sonnet-4-6, etc.)",
|
||||
"Gemini (gemini-3.1-flash-lite-preview, gemini-3.1-pro-preview, etc.)",
|
||||
"OpenAI GPT (gpt-5.4, gpt-5.2, gpt-4.1, etc.)",
|
||||
"MiniMax (MiniMax-M3, MiniMax-M2.7, etc.)",
|
||||
"Zhipu AI (glm-5.1, glm-5-turbo, glm-5, etc.)",
|
||||
"Qwen (qwen3.7-plus, qwen3.6-plus, qwen3.5-plus, qwen3-max, qwq-plus, etc.)",
|
||||
"Doubao (doubao-seed-2-0-code-preview-260215, etc.)",
|
||||
"Kimi (kimi-k2.6, kimi-k2.5, kimi-k2, etc.)",
|
||||
"Claude (claude-opus-4-8, claude-opus-4-7, etc.)",
|
||||
"Gemini (gemini-3.5-flash, gemini-3.1-pro-preview, etc.)",
|
||||
"OpenAI (gpt-5.5, etc.)",
|
||||
"MiniMax (MiniMax-M3, etc.)",
|
||||
"GLM (glm-5.1, etc.)",
|
||||
"Qwen (qwen3.7-plus, qwen3.7-max, etc.)",
|
||||
"Doubao (doubao-seed-2.0, etc.)",
|
||||
"Kimi (kimi-k2.6, etc.)",
|
||||
"MiMo (mimo-v2.5-pro, etc.)",
|
||||
("LinkAI (" + (T "一个 Key 接入所有模型" "access all models via one API") + ")"),
|
||||
(T "⏭ 跳过(稍后在 Web 控制台配置)" "⏭ Skip (configure later in the web console)")
|
||||
)
|
||||
@@ -406,7 +408,7 @@ function Configure-Model {
|
||||
$script:ApiBaseField = ""
|
||||
$script:UseLinkai = $false
|
||||
|
||||
if ($script:ModelChoice -eq 11) {
|
||||
if ($script:ModelChoice -eq 12) {
|
||||
# Skip: leave model unset, will be configured in the web console.
|
||||
Write-Warn (T "已跳过模型配置,稍后可在 Web 控制台填写" "Model configuration skipped, you can set it later in the web console")
|
||||
return
|
||||
@@ -432,8 +434,8 @@ function Get-ChannelLabel {
|
||||
param([string]$Key)
|
||||
switch ($Key) {
|
||||
"web" { return (T "Web 网页控制台(推荐,开箱即用)" "Web Console (recommended, ready to use)") }
|
||||
"weixin" { return (T "微信 Weixin" "WeChat (Weixin)") }
|
||||
"feishu" { return (T "飞书 Feishu" "Feishu / Lark") }
|
||||
"weixin" { return (T "微信 Weixin" "Wechat") }
|
||||
"feishu" { return (T "飞书 Feishu" "Feishu") }
|
||||
"dingtalk" { return (T "钉钉 DingTalk" "DingTalk") }
|
||||
"wecom_bot" { return (T "企微智能机器人 WeCom Bot" "WeCom Bot") }
|
||||
"qq" { return "QQ" }
|
||||
@@ -563,6 +565,7 @@ function New-ConfigFile {
|
||||
ark_api_key = ""
|
||||
dashscope_api_key = ""
|
||||
minimax_api_key = ""
|
||||
mimo_api_key = ""
|
||||
deepseek_api_key = ""
|
||||
deepseek_api_base = "https://api.deepseek.com/v1"
|
||||
voice_to_text = "openai"
|
||||
|
||||
Reference in New Issue
Block a user