@kikkimo/claude-launcher 2.3.0 → 2.5.0

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.
@@ -10,6 +10,7 @@ module.exports = {
10
10
  title: "Menu Principal",
11
11
  launch_default: "Executar Claude Code",
12
12
  launch_skip: "Executar Claude Code (Pular Permissões Automaticamente)",
13
+ launch_auto_mode: "Iniciar Claude Code (Ativar modo automatico)",
13
14
  launch_api: "Executar Claude Code com API de Terceiros",
14
15
  launch_api_skip: "Executar Claude Code com API de Terceiros (Pular Permissões Automaticamente)",
15
16
  api_management: "Gerenciamento de API de Terceiros",
@@ -28,6 +29,12 @@ module.exports = {
28
29
  change_password: "Alterar Senha",
29
30
  back: "Voltar ao Menu Principal"
30
31
  },
32
+ remove_api: {
33
+ title: "Remover API",
34
+ delete_single: "Excluir API Individual",
35
+ clear_all: "Limpar Todas as APIs",
36
+ back: "Voltar"
37
+ },
31
38
  language: {
32
39
  title: "Configurações de Idioma",
33
40
  current: "Idioma Atual: {0}",
@@ -44,6 +51,9 @@ module.exports = {
44
51
  no_apis: "Nenhuma API de terceiros configurada",
45
52
  add_api_first: "Adicione primeiro uma API usando \"Adicionar Nova API de Terceiros\"",
46
53
  all_apis_removed: "Todas as APIs foram removidas",
54
+ all_apis_cleared: "{0} APIs foram limpas",
55
+ clear_cancelled: "Operação de limpeza cancelada",
56
+ current_api_count: "APIs atuais: {0}",
47
57
  apis_removed_or_none: "Todas as APIs foram removidas ou nenhuma estava configurada.",
48
58
  removal_cancelled: "Remoção cancelada",
49
59
  operation_cancelled: "Operação cancelada",
@@ -79,7 +89,9 @@ module.exports = {
79
89
  enter_model_name: "Digite o nome do modelo: ",
80
90
  select_provider: "Selecione o provedor: ",
81
91
  enter_import_file: "Digite o caminho do arquivo de importação: ",
82
- ctrl_c_again: "Pressione Ctrl+C novamente para sair"
92
+ ctrl_c_again: "Pressione Ctrl+C novamente para sair",
93
+ confirm_clear_all: "Isso excluirá permanentemente todas as {0} APIs. Esta ação não pode ser desfeita.",
94
+ confirm_clear_all_input: "Digite CLEAR para confirmar: "
83
95
  }
84
96
  },
85
97
 
@@ -505,7 +517,27 @@ module.exports = {
505
517
  active_api: "API Ativa: {0}",
506
518
  most_used: "API Mais Usada: {0}",
507
519
  total_usage: "Uso Total: {0} vezes",
508
- no_usage: "Nenhum uso registrado"
520
+ no_usage: "Nenhum uso registrado",
521
+
522
+ // Estatísticas avançadas (novo)
523
+ success_rate: "Taxa de sucesso geral: {0}",
524
+
525
+ header_name: "Nome da API",
526
+ header_usage: "Uso",
527
+ header_success: "Sucesso",
528
+ header_last_used: "Último uso",
529
+
530
+ time_never: "Nunca",
531
+ time_just_now: "Agora mesmo",
532
+ time_minutes_ago: "{0}m atrás",
533
+ time_hours_ago: "{0}h atrás",
534
+ time_days_ago: "{0}d atrás",
535
+
536
+ menu_view: "Ver detalhes das estatísticas",
537
+ menu_reset: "Redefinir estatísticas",
538
+ menu_back: "Voltar",
539
+ reset_confirm: "Redefinir todas as estatísticas? [y/N]",
540
+ reset_success: "Estatísticas redefinidas com sucesso"
509
541
  },
510
542
 
511
543
  // Version updates
@@ -535,5 +567,43 @@ module.exports = {
535
567
  update_command: "Comando de atualização: npm update -g @kikkimo/claude-launcher",
536
568
  up_to_date: "Você está usando a versão mais recente",
537
569
  unexpected_error: "Erro inesperado ocorreu durante a verificação"
570
+ },
571
+
572
+ // Função de atualização de modelo
573
+ model_upgrade: {
574
+ notification: "Atualização de modelo disponível: {0} → {1}",
575
+ notification_api: "API: {0}",
576
+ notification_hint: "Vá para \"Gerenciamento de API de terceiros > Configurações de atualização de modelo\" para atualizar",
577
+ auto_upgraded: "Modelo atualizado automaticamente: {0} → {1}",
578
+
579
+ settings_title: "Configurações de atualização de modelo",
580
+ current_config: "Configuração atual",
581
+ auto_upgrade_label: "Usar automaticamente o modelo mais recente",
582
+ auto_upgrade_on: "ATIVADO",
583
+ auto_upgrade_off: "DESATIVADO",
584
+
585
+ menu_toggle_auto_on: "Atualização auto [● ATIVADO]",
586
+ menu_toggle_auto_off: "Atualização auto [○ DESATIVADO]",
587
+ menu_manual_upgrade: "Atualizar todos os modelos manualmente",
588
+ menu_back: "Voltar",
589
+
590
+ manual_title: "Verificação de atualização de modelo",
591
+ manual_checking: "Verificando {0} configurações de API...",
592
+ manual_api_current: "Atual: {0}",
593
+ manual_api_latest: "Mais recente: {0}",
594
+ manual_api_uptodate: "(Já atualizado)",
595
+ manual_api_no_info: "(Sem info de atualização)",
596
+ manual_confirm: "Atualizar este modelo? [y/N]",
597
+ manual_upgraded: "Atualizado: {0} → {1}",
598
+ manual_skipped: "Ignorado",
599
+
600
+ manual_complete: "Atualização completa!",
601
+ manual_stats_upgraded: "Atualizados: {0}",
602
+ manual_stats_skipped: "Ignorados: {0} ({1} já atualizados, {2} sem info de atualização)"
603
+ },
604
+ hints: {
605
+ auto_mode_info: 'Modo automatico: Disponivel para o plano Team. Enterprise/API em implantacao gradual. Apos iniciar, pressione Shift+Tab para alternar.',
606
+ active_api_info: 'Ativo: {0} / {1}',
607
+ no_active_api: 'Nenhuma API ativa configurada. Va para "Gerenciamento de API" para adicionar uma.'
538
608
  }
539
609
  };
@@ -10,6 +10,7 @@ module.exports = {
10
10
  title: "Главное меню",
11
11
  launch_default: "Запустить Claude Code",
12
12
  launch_skip: "Запустить Claude Code (Автопропуск разрешений)",
13
+ launch_auto_mode: "Запустить Claude Code (Включить авторежим)",
13
14
  launch_api: "Запустить Claude Code со сторонним API",
14
15
  launch_api_skip: "Запустить Claude Code со сторонним API (Автопропуск разрешений)",
15
16
  api_management: "Управление сторонними API",
@@ -28,6 +29,12 @@ module.exports = {
28
29
  change_password: "Изменить пароль",
29
30
  back: "Вернуться в главное меню"
30
31
  },
32
+ remove_api: {
33
+ title: "Удалить API",
34
+ delete_single: "Удалить один API",
35
+ clear_all: "Очистить все API",
36
+ back: "Назад"
37
+ },
31
38
  language: {
32
39
  title: "Настройки языка",
33
40
  current: "Текущий язык: {0}",
@@ -44,6 +51,9 @@ module.exports = {
44
51
  no_apis: "Сторонние API не настроены",
45
52
  add_api_first: "Пожалуйста, сначала добавьте API используя \"Добавить новый сторонний API\"",
46
53
  all_apis_removed: "Все API были удалены",
54
+ all_apis_cleared: "{0} API были очищены",
55
+ clear_cancelled: "Операция очистки отменена",
56
+ current_api_count: "Текущие API: {0}",
47
57
  apis_removed_or_none: "Все API удалены или не были настроены.",
48
58
  removal_cancelled: "Удаление отменено",
49
59
  operation_cancelled: "Операция отменена",
@@ -79,7 +89,9 @@ module.exports = {
79
89
  enter_model_name: "Введите имя модели: ",
80
90
  select_provider: "Выберите провайдера: ",
81
91
  enter_import_file: "Введите путь к файлу импорта: ",
82
- ctrl_c_again: "Нажмите Ctrl+C снова для выхода"
92
+ ctrl_c_again: "Нажмите Ctrl+C снова для выхода",
93
+ confirm_clear_all: "Это навсегда удалит все {0} API. Это действие нельзя отменить.",
94
+ confirm_clear_all_input: "Введите CLEAR для подтверждения: "
83
95
  }
84
96
  },
85
97
 
@@ -505,7 +517,27 @@ module.exports = {
505
517
  active_api: "Активный API: {0}",
506
518
  most_used: "Наиболее используемый API: {0}",
507
519
  total_usage: "Общее использование: {0} раз",
508
- no_usage: "Использование не зафиксировано"
520
+ no_usage: "Использование не зафиксировано",
521
+
522
+ // Расширенная статистика (новое)
523
+ success_rate: "Общий показатель успеха: {0}",
524
+
525
+ header_name: "Название API",
526
+ header_usage: "Использование",
527
+ header_success: "Успех",
528
+ header_last_used: "Последнее использование",
529
+
530
+ time_never: "Никогда",
531
+ time_just_now: "Только что",
532
+ time_minutes_ago: "{0}м назад",
533
+ time_hours_ago: "{0}ч назад",
534
+ time_days_ago: "{0}д назад",
535
+
536
+ menu_view: "Просмотр деталей статистики",
537
+ menu_reset: "Сбросить статистику",
538
+ menu_back: "Назад",
539
+ reset_confirm: "Сбросить всю статистику? [y/N]",
540
+ reset_success: "Статистика успешно сброшена"
509
541
  },
510
542
 
511
543
  // Version updates
@@ -535,5 +567,43 @@ module.exports = {
535
567
  update_command: "Команда обновления: npm update -g @kikkimo/claude-launcher",
536
568
  up_to_date: "Вы используете последнюю версию",
537
569
  unexpected_error: "Произошла неожиданная ошибка во время проверки"
570
+ },
571
+
572
+ // Функция обновления модели
573
+ model_upgrade: {
574
+ notification: "Доступно обновление модели: {0} → {1}",
575
+ notification_api: "API: {0}",
576
+ notification_hint: "Перейдите в \"Управление сторонними API > Настройки обновления модели\" для обновления",
577
+ auto_upgraded: "Модель автоматически обновлена: {0} → {1}",
578
+
579
+ settings_title: "Настройки обновления модели",
580
+ current_config: "Текущая конфигурация",
581
+ auto_upgrade_label: "Автоматически использовать последнюю модель",
582
+ auto_upgrade_on: "ВКЛ",
583
+ auto_upgrade_off: "ВЫКЛ",
584
+
585
+ menu_toggle_auto_on: "Автообновление [● ВКЛ]",
586
+ menu_toggle_auto_off: "Автообновление [○ ВЫКЛ]",
587
+ menu_manual_upgrade: "Обновить все модели вручную",
588
+ menu_back: "Назад",
589
+
590
+ manual_title: "Проверка обновления модели",
591
+ manual_checking: "Проверка {0} конфигураций API...",
592
+ manual_api_current: "Текущая: {0}",
593
+ manual_api_latest: "Последняя: {0}",
594
+ manual_api_uptodate: "(Уже обновлено)",
595
+ manual_api_no_info: "(Нет информации об обновлении)",
596
+ manual_confirm: "Обновить эту модель? [y/N]",
597
+ manual_upgraded: "Обновлено: {0} → {1}",
598
+ manual_skipped: "Пропущено",
599
+
600
+ manual_complete: "Обновление завершено!",
601
+ manual_stats_upgraded: "Обновлено: {0}",
602
+ manual_stats_skipped: "Пропущено: {0} ({1} уже обновлены, {2} без информации об обновлении)"
603
+ },
604
+ hints: {
605
+ auto_mode_info: 'Авторежим: Доступен для плана Team. Enterprise/API постепенно внедряются. После запуска нажмите Shift+Tab для переключения.',
606
+ active_api_info: 'Активный: {0} / {1}',
607
+ no_active_api: 'Нет настроенного активного API. Перейдите в "Управление API", чтобы добавить.'
538
608
  }
539
609
  };
@@ -10,6 +10,7 @@ module.exports = {
10
10
  title: "主選單",
11
11
  launch_default: "啟動 Claude Code",
12
12
  launch_skip: "啟動 Claude Code(自動跳過權限詢問)",
13
+ launch_auto_mode: "啟動 Claude Code(啟用自動模式)",
13
14
  launch_api: "使用第三方API啟動 Claude Code",
14
15
  launch_api_skip: "使用第三方API啟動 Claude Code(自動跳過權限詢問)",
15
16
  api_management: "第三方API管理",
@@ -28,6 +29,12 @@ module.exports = {
28
29
  change_password: "修改密碼",
29
30
  back: "返回主選單"
30
31
  },
32
+ remove_api: {
33
+ title: "刪除API",
34
+ delete_single: "刪除單一API",
35
+ clear_all: "清空所有API",
36
+ back: "返回"
37
+ },
31
38
  language: {
32
39
  title: "語言設定",
33
40
  current: "目前語言:{0}",
@@ -44,6 +51,9 @@ module.exports = {
44
51
  no_apis: "未設定第三方API",
45
52
  add_api_first: "請先使用\"新增第三方API\"來新增API",
46
53
  all_apis_removed: "所有API已被刪除",
54
+ all_apis_cleared: "已清空 {0} 個API",
55
+ clear_cancelled: "清空操作已取消",
56
+ current_api_count: "目前API數量:{0}",
47
57
  apis_removed_or_none: "所有API已被刪除或未設定任何API。",
48
58
  removal_cancelled: "取消刪除",
49
59
  operation_cancelled: "操作已取消",
@@ -79,7 +89,9 @@ module.exports = {
79
89
  enter_model_name: "輸入模型名稱:",
80
90
  select_provider: "選擇提供商:",
81
91
  enter_import_file: "輸入匯入檔案路徑:",
82
- ctrl_c_again: "再次按 Ctrl+C 退出程式"
92
+ ctrl_c_again: "再次按 Ctrl+C 退出程式",
93
+ confirm_clear_all: "這將永久刪除所有 {0} 個API。此操作無法復原。",
94
+ confirm_clear_all_input: "輸入 CLEAR 以確認清空:"
83
95
  }
84
96
  },
85
97
 
@@ -493,7 +505,8 @@ module.exports = {
493
505
  "最低密碼強度:良好(拒絕弱密碼和極弱密碼)"
494
506
  ],
495
507
  example_strong_password: "強密碼範例:{0}",
496
- new_password_attempt: "新密碼(嘗試 {0}/{1}):"
508
+ new_password_attempt: "新密碼(嘗試 {0}/{1}):",
509
+ confirm_password_prompt: "確認密碼:"
497
510
  }
498
511
  },
499
512
 
@@ -504,7 +517,27 @@ module.exports = {
504
517
  active_api: "活躍的API:{0}",
505
518
  most_used: "最常用的API:{0}",
506
519
  total_usage: "總使用次數:{0}次",
507
- no_usage: "無使用記錄"
520
+ no_usage: "無使用記錄",
521
+
522
+ // 增強統計(新增)
523
+ success_rate: "整體成功率:{0}",
524
+
525
+ header_name: "API名稱",
526
+ header_usage: "使用次數",
527
+ header_success: "成功率",
528
+ header_last_used: "最後使用",
529
+
530
+ time_never: "從未使用",
531
+ time_just_now: "剛剛",
532
+ time_minutes_ago: "{0}分鐘前",
533
+ time_hours_ago: "{0}小時前",
534
+ time_days_ago: "{0}天前",
535
+
536
+ menu_view: "查看統計詳情",
537
+ menu_reset: "重置統計",
538
+ menu_back: "返回",
539
+ reset_confirm: "確定重置所有統計資料?[y/N]",
540
+ reset_success: "統計資料已重置"
508
541
  },
509
542
 
510
543
  // 版本更新
@@ -534,5 +567,43 @@ module.exports = {
534
567
  update_command: "更新指令:npm update -g @kikkimo/claude-launcher",
535
568
  up_to_date: "您使用的是最新版本",
536
569
  unexpected_error: "檢查過程中發生意外錯誤"
570
+ },
571
+
572
+ // 模型升級功能
573
+ model_upgrade: {
574
+ notification: "模型升級可用:{0} → {1}",
575
+ notification_api: "API:{0}",
576
+ notification_hint: "前往「第三方API管理 > 模型升級設定」進行升級",
577
+ auto_upgraded: "模型已自動升級:{0} → {1}",
578
+
579
+ settings_title: "模型升級設定",
580
+ current_config: "目前設定",
581
+ auto_upgrade_label: "自動使用最新模型",
582
+ auto_upgrade_on: "開啟",
583
+ auto_upgrade_off: "關閉",
584
+
585
+ menu_toggle_auto_on: "自動升級 [● 開啟]",
586
+ menu_toggle_auto_off: "自動升級 [○ 關閉]",
587
+ menu_manual_upgrade: "手動一鍵升級所有模型",
588
+ menu_back: "返回",
589
+
590
+ manual_title: "模型升級檢查",
591
+ manual_checking: "正在檢查 {0} 個 API 設定...",
592
+ manual_api_current: "目前:{0}",
593
+ manual_api_latest: "最新:{0}",
594
+ manual_api_uptodate: "(已是最新)",
595
+ manual_api_no_info: "(無升級資訊)",
596
+ manual_confirm: "升級此模型?[y/N]",
597
+ manual_upgraded: "已升級:{0} → {1}",
598
+ manual_skipped: "已跳過",
599
+
600
+ manual_complete: "升級完成!",
601
+ manual_stats_upgraded: "已升級:{0} 個",
602
+ manual_stats_skipped: "已跳過:{0} 個({1} 個已是最新,{2} 個無升級資訊)"
603
+ },
604
+ hints: {
605
+ auto_mode_info: '自動模式:目前支援 Team 方案。Enterprise/API 方案逐步推出中。啟動後按 Shift+Tab 切換。',
606
+ active_api_info: '目前啟用:{0} / {1}',
607
+ no_active_api: '未設定啟用的API,請前往「API管理」新增。'
537
608
  }
538
609
  };
@@ -10,6 +10,7 @@ module.exports = {
10
10
  title: "主菜单",
11
11
  launch_default: "启动 Claude Code",
12
12
  launch_skip: "启动 Claude Code(自动跳过权限询问)",
13
+ launch_auto_mode: "启动 Claude Code(启用自动模式)",
13
14
  launch_api: "使用第三方API启动 Claude Code",
14
15
  launch_api_skip: "使用第三方API启动 Claude Code(自动跳过权限询问)",
15
16
  api_management: "第三方API管理",
@@ -28,6 +29,12 @@ module.exports = {
28
29
  change_password: "修改密码",
29
30
  back: "返回主菜单"
30
31
  },
32
+ remove_api: {
33
+ title: "删除API",
34
+ delete_single: "删除单个API",
35
+ clear_all: "清空所有API",
36
+ back: "返回"
37
+ },
31
38
  language: {
32
39
  title: "语言设置",
33
40
  current: "当前语言:{0}",
@@ -44,6 +51,9 @@ module.exports = {
44
51
  no_apis: "未配置第三方API",
45
52
  add_api_first: "请先使用\"添加新的第三方API\"添加API",
46
53
  all_apis_removed: "所有API已被删除",
54
+ all_apis_cleared: "已清空 {0} 个API",
55
+ clear_cancelled: "清空操作已取消",
56
+ current_api_count: "当前API数量:{0}",
47
57
  apis_removed_or_none: "所有API已被删除或未配置任何API。",
48
58
  removal_cancelled: "取消删除",
49
59
  operation_cancelled: "操作已取消",
@@ -79,7 +89,9 @@ module.exports = {
79
89
  enter_model_name: "输入模型名称:",
80
90
  select_provider: "选择提供商:",
81
91
  enter_import_file: "输入导入文件路径:",
82
- ctrl_c_again: "再次按 Ctrl+C 退出程序"
92
+ ctrl_c_again: "再次按 Ctrl+C 退出程序",
93
+ confirm_clear_all: "这将永久删除所有 {0} 个API。此操作无法撤销。",
94
+ confirm_clear_all_input: "输入 CLEAR 以确认清空:"
83
95
  }
84
96
  },
85
97
 
@@ -493,7 +505,8 @@ module.exports = {
493
505
  "最低密码强度:良好(拒绝弱密码和极弱密码)"
494
506
  ],
495
507
  example_strong_password: "强密码示例:{0}",
496
- new_password_attempt: "新密码(尝试 {0}/{1}):"
508
+ new_password_attempt: "新密码(尝试 {0}/{1}):",
509
+ confirm_password_prompt: "确认密码:"
497
510
  }
498
511
  },
499
512
 
@@ -504,7 +517,27 @@ module.exports = {
504
517
  active_api: "激活的API:{0}",
505
518
  most_used: "最常用的API:{0}",
506
519
  total_usage: "总使用次数:{0}次",
507
- no_usage: "无使用记录"
520
+ no_usage: "无使用记录",
521
+
522
+ // 增强统计(新增)
523
+ success_rate: "整体成功率:{0}",
524
+
525
+ header_name: "API名称",
526
+ header_usage: "使用次数",
527
+ header_success: "成功率",
528
+ header_last_used: "最后使用",
529
+
530
+ time_never: "从未使用",
531
+ time_just_now: "刚刚",
532
+ time_minutes_ago: "{0}分钟前",
533
+ time_hours_ago: "{0}小时前",
534
+ time_days_ago: "{0}天前",
535
+
536
+ menu_view: "查看统计详情",
537
+ menu_reset: "重置统计",
538
+ menu_back: "返回",
539
+ reset_confirm: "确定重置所有统计数据? [y/N]",
540
+ reset_success: "统计数据已重置"
508
541
  },
509
542
 
510
543
  // 版本更新
@@ -534,5 +567,43 @@ module.exports = {
534
567
  update_command: "更新命令:npm update -g @kikkimo/claude-launcher",
535
568
  up_to_date: "您使用的是最新版本",
536
569
  unexpected_error: "检查过程中发生意外错误"
570
+ },
571
+
572
+ // 模型升级功能
573
+ model_upgrade: {
574
+ notification: "模型升级可用: {0} → {1}",
575
+ notification_api: "API: {0}",
576
+ notification_hint: "前往「第三方API管理 > 模型升级设置」进行升级",
577
+ auto_upgraded: "模型已自动升级: {0} → {1}",
578
+
579
+ settings_title: "模型升级设置",
580
+ current_config: "当前配置",
581
+ auto_upgrade_label: "自动使用最新模型",
582
+ auto_upgrade_on: "开启",
583
+ auto_upgrade_off: "关闭",
584
+
585
+ menu_toggle_auto_on: "自动升级 [● 开启]",
586
+ menu_toggle_auto_off: "自动升级 [○ 关闭]",
587
+ menu_manual_upgrade: "手动一键升级所有模型",
588
+ menu_back: "返回",
589
+
590
+ manual_title: "模型升级检查",
591
+ manual_checking: "正在检查 {0} 个 API 配置...",
592
+ manual_api_current: "当前: {0}",
593
+ manual_api_latest: "最新: {0}",
594
+ manual_api_uptodate: "(已是最新)",
595
+ manual_api_no_info: "(无升级信息)",
596
+ manual_confirm: "升级此模型? [y/N]",
597
+ manual_upgraded: "已升级: {0} → {1}",
598
+ manual_skipped: "已跳过",
599
+
600
+ manual_complete: "升级完成!",
601
+ manual_stats_upgraded: "已升级: {0} 个",
602
+ manual_stats_skipped: "已跳过: {0} 个 ({1} 个已是最新, {2} 个无升级信息)"
603
+ },
604
+ hints: {
605
+ auto_mode_info: '自动模式:目前支持 Team 计划。Enterprise/API 计划逐步推出中。启动后按 Shift+Tab 切换。',
606
+ active_api_info: '当前激活:{0} / {1}',
607
+ no_active_api: '未配置激活的API,请前往"API管理"添加。'
537
608
  }
538
609
  };
package/lib/launcher.js CHANGED
@@ -183,6 +183,15 @@ function launchClaudeSkipPermissions() {
183
183
  launchClaude('claude --dangerously-skip-permissions');
184
184
  }
185
185
 
186
+ /**
187
+ * Launch Claude with auto mode enabled
188
+ * Note: --enable-auto-mode makes auto mode available as a permission mode.
189
+ * User must press Shift+Tab in the session to switch to it.
190
+ */
191
+ function launchClaudeAutoMode() {
192
+ launchClaude('claude --enable-auto-mode');
193
+ }
194
+
186
195
  /**
187
196
  * Get environment variables based on provider type
188
197
  */
@@ -353,6 +362,7 @@ module.exports = {
353
362
  launchClaude,
354
363
  launchClaudeDefault,
355
364
  launchClaudeSkipPermissions,
365
+ launchClaudeAutoMode,
356
366
  launchClaudeWithApi,
357
367
  getProviderEnvVars,
358
368
  testApiConnection
@@ -10,28 +10,45 @@ const providers = {
10
10
  baseUrl: 'https://api.anthropic.com',
11
11
  models: [
12
12
  'claude-3-5-haiku-20241022',
13
- 'claude-3.7-sonnet',
13
+ 'claude-3-7-sonnet',
14
14
  'claude-sonnet-4',
15
- 'claude-sonnet-4.5',
15
+ 'claude-sonnet-4-5',
16
16
  'claude-opus-4',
17
- 'claude-opus-4.1',
18
- 'claude-opus-4.5'
17
+ 'claude-opus-4-1',
18
+ 'claude-opus-4-5',
19
+ 'claude-opus-4-6'
19
20
  ],
21
+ // Version aliases for upgrade detection (manually maintained)
22
+ // Covers ALL models in each series for comprehensive upgrade detection
23
+ versionAliases: {
24
+ // Opus series -> latest opus
25
+ 'claude-opus-4': 'claude-opus-4-6',
26
+ 'claude-opus-4-1': 'claude-opus-4-6',
27
+ 'claude-opus-4-5': 'claude-opus-4-6',
28
+ // Sonnet series -> latest sonnet
29
+ 'claude-sonnet-4': 'claude-sonnet-4-5',
30
+ 'claude-3-7-sonnet': 'claude-sonnet-4-5'
31
+ },
20
32
  authTokenFormat: 'sk-ant-api03-...',
21
33
  description: 'Official Anthropic API - Fully compatible',
22
34
  requiresToken: true,
23
35
  compatibility: 'native'
24
36
  },
25
37
  moonshot: {
26
- name: 'Moonshot AI (Kimi-K2)',
38
+ name: 'Moonshot AI (Kimi-K2.5/K2-Thinking)',
27
39
  baseUrl: 'https://api.moonshot.cn/anthropic',
28
40
  models: [
29
- 'kimi-k2-0711-preview',
30
- 'kimi-k2-0905-preview',
31
- 'kimi-k2-turbo-preview',
41
+ 'kimi-k2.5',
32
42
  'kimi-k2-thinking',
33
43
  'kimi-k2-thinking-turbo'
34
44
  ],
45
+ versionAliases: {
46
+ 'kimi-k2-0711-preview': 'kimi-k2.5',
47
+ 'kimi-k2-0905-preview': 'kimi-k2.5',
48
+ 'kimi-k2-turbo-preview': 'kimi-k2.5',
49
+ 'kimi-k2-thinking': 'kimi-k2.5',
50
+ 'kimi-k2-thinking-turbo': 'kimi-k2.5'
51
+ },
35
52
  authTokenFormat: 'sk-...',
36
53
  description: 'Moonshot AI - Provides Anthropic-compatible API',
37
54
  requiresToken: true,
@@ -62,8 +79,14 @@ const providers = {
62
79
  name: 'MiniMax CN (国内版)',
63
80
  baseUrl: 'https://api.minimaxi.com/anthropic',
64
81
  models: [
82
+ 'MiniMax-M2.7',
83
+ 'MiniMax-M2.5',
65
84
  'MiniMax-M2.1'
66
85
  ],
86
+ versionAliases: {
87
+ 'MiniMax-M2.1': 'MiniMax-M2.7',
88
+ 'MiniMax-M2.5': 'MiniMax-M2.7'
89
+ },
67
90
  authTokenFormat: 'sk-...',
68
91
  description: 'MiniMax AI - Anthropic-compatible API for China users',
69
92
  requiresToken: true,
@@ -78,8 +101,14 @@ const providers = {
78
101
  name: 'MiniMax Global (国际版)',
79
102
  baseUrl: 'https://api.minimax.io/anthropic',
80
103
  models: [
104
+ 'MiniMax-M2.7',
105
+ 'MiniMax-M2.5',
81
106
  'MiniMax-M2.1'
82
107
  ],
108
+ versionAliases: {
109
+ 'MiniMax-M2.1': 'MiniMax-M2.7',
110
+ 'MiniMax-M2.5': 'MiniMax-M2.7'
111
+ },
83
112
  authTokenFormat: 'sk-...',
84
113
  description: 'MiniMax AI - Anthropic-compatible API for international users',
85
114
  requiresToken: true,
@@ -108,13 +137,21 @@ const providers = {
108
137
  note: 'Requires extended timeout for complex reasoning tasks'
109
138
  },
110
139
  zhipu: {
111
- name: 'ZhiPu AI (GLM-4.5/4.6/4.7) - 智谱清言',
140
+ name: 'ZhiPu AI (GLM-5.1/5-Turbo/5/4.7) - 智谱清言',
112
141
  baseUrl: 'https://open.bigmodel.cn/api/anthropic',
113
142
  models: [
114
- 'glm-4.5',
115
- 'glm-4.6',
143
+ 'glm-5.1',
144
+ 'glm-5-turbo',
145
+ 'glm-5',
116
146
  'glm-4.7'
117
147
  ],
148
+ versionAliases: {
149
+ 'glm-4.5': 'glm-5.1',
150
+ 'glm-4.6': 'glm-5.1',
151
+ 'glm-4.7': 'glm-5.1',
152
+ 'glm-5': 'glm-5.1',
153
+ 'glm-5-turbo': 'glm-5.1'
154
+ },
118
155
  authTokenFormat: 'sk-...',
119
156
  description: 'ZhiPu AI (智谱清言) - Anthropic-compatible API for mainland China',
120
157
  requiresToken: true,
@@ -126,13 +163,21 @@ const providers = {
126
163
  note: 'Requires extended timeout for large responses'
127
164
  },
128
165
  zai: {
129
- name: 'Z.ai (GLM-4.5/4.6/4.7) - ZhiPu Global',
166
+ name: 'Z.ai (GLM-5.1/5-Turbo/5/4.7) - ZhiPu Global',
130
167
  baseUrl: 'https://api.z.ai/api/anthropic',
131
168
  models: [
132
- 'glm-4.5',
133
- 'glm-4.6',
169
+ 'glm-5.1',
170
+ 'glm-5-turbo',
171
+ 'glm-5',
134
172
  'glm-4.7'
135
173
  ],
174
+ versionAliases: {
175
+ 'glm-4.5': 'glm-5.1',
176
+ 'glm-4.6': 'glm-5.1',
177
+ 'glm-4.7': 'glm-5.1',
178
+ 'glm-5': 'glm-5.1',
179
+ 'glm-5-turbo': 'glm-5.1'
180
+ },
136
181
  authTokenFormat: 'sk-...',
137
182
  description: 'Z.ai (ZhiPu AI Global) - Anthropic-compatible API for international users',
138
183
  requiresToken: true,
@@ -194,10 +239,36 @@ function detectProvider(baseUrl) {
194
239
  return 'custom';
195
240
  }
196
241
 
242
+ /**
243
+ * Get latest model name for a given model
244
+ * @param {string} modelName - Current model name
245
+ * @param {string} providerId - Provider ID
246
+ * @returns {string|null} Latest model name or null if no upgrade available
247
+ */
248
+ function getLatestModel(modelName, providerId) {
249
+ const provider = providers[providerId];
250
+ if (!provider || !provider.versionAliases) {
251
+ return null;
252
+ }
253
+ return provider.versionAliases[modelName] || null;
254
+ }
255
+
256
+ /**
257
+ * Check if a model has a newer version available
258
+ * @param {string} modelName - Current model name
259
+ * @param {string} providerId - Provider ID
260
+ * @returns {boolean} True if upgrade is available
261
+ */
262
+ function hasModelUpgrade(modelName, providerId) {
263
+ return getLatestModel(modelName, providerId) !== null;
264
+ }
265
+
197
266
  module.exports = {
198
267
  providers,
199
268
  getAllProviders,
200
269
  getProvider,
201
270
  getSuggestedModels,
202
- detectProvider
271
+ detectProvider,
272
+ getLatestModel,
273
+ hasModelUpgrade
203
274
  };