feat: support manual model input and sync provider catalogs

- Allow manual model name input when adding custom providers (NSelect tag mode)
- Sync provider model catalogs with Hermes _PROVIDER_MODELS
- Add new providers: kimi-coding-cn, moonshot, arcee
- Fix provider key naming to match Hermes (kilo→kilocode, vercel→ai-gateway, etc.)
- Ensure custom_providers from config.yaml always appear in available-models
- Append configured default model to model list if not in catalog
- Fix provider deletion with case-insensitive key matching
- Add selectOrInput i18n key to all 8 locales

Closes #24

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ekko
2026-04-17 22:05:06 +08:00
parent ca3fea4d0e
commit 26bb821e29
12 changed files with 187 additions and 50 deletions
+1
View File
@@ -189,6 +189,7 @@ export default {
apiKey: 'API-Schlussel',
apiKeyPlaceholder: 'sk-...',
defaultModel: 'Standardmodell',
selectOrInput: 'Modell auswählen oder eingeben...',
selectModel: 'Modell auswahlen...',
providerAdded: 'Anbieter hinzugefugt',
providerDeleted: 'Anbieter geloscht',
+1
View File
@@ -189,6 +189,7 @@ export default {
apiKey: 'API Key',
apiKeyPlaceholder: 'sk-...',
defaultModel: 'Default Model',
selectOrInput: 'Select or type a model name...',
selectModel: 'Select a model...',
providerAdded: 'Provider added',
providerDeleted: 'Provider deleted',
+1
View File
@@ -189,6 +189,7 @@ export default {
apiKey: 'Clave API',
apiKeyPlaceholder: 'sk-...',
defaultModel: 'Modelo predeterminado',
selectOrInput: 'Seleccionar o ingresar un modelo...',
selectModel: 'Seleccionar un modelo...',
providerAdded: 'Proveedor anadido',
providerDeleted: 'Proveedor eliminado',
+1
View File
@@ -189,6 +189,7 @@ export default {
apiKey: 'Cle API',
apiKeyPlaceholder: 'sk-...',
defaultModel: 'Modele par defaut',
selectOrInput: 'Sélectionner ou saisir un modèle...',
selectModel: 'Selectionner un modele...',
providerAdded: 'Fournisseur ajoute',
providerDeleted: 'Fournisseur supprime',
+1
View File
@@ -189,6 +189,7 @@ export default {
apiKey: 'API キー',
apiKeyPlaceholder: 'sk-...',
defaultModel: 'デフォルトモデル',
selectOrInput: 'モデルを選択または入力...',
selectModel: 'モデルを選択...',
providerAdded: 'プロバイダーを追加しました',
providerDeleted: 'プロバイダーを削除しました',
+1
View File
@@ -189,6 +189,7 @@ export default {
apiKey: 'API Key',
apiKeyPlaceholder: 'sk-...',
defaultModel: '기본 모델',
selectOrInput: '모델 선택 또는 직접 입력...',
selectModel: '모델 선택...',
providerAdded: 'Provider가 추가되었습니다',
providerDeleted: 'Provider가 삭제되었습니다',
+1
View File
@@ -189,6 +189,7 @@ export default {
apiKey: 'Chave API',
apiKeyPlaceholder: 'sk-...',
defaultModel: 'Modelo padrao',
selectOrInput: 'Selecionar ou digitar um modelo...',
selectModel: 'Selecionar um modelo...',
providerAdded: 'Provedor adicionado',
providerDeleted: 'Provedor excluido',
+1
View File
@@ -189,6 +189,7 @@ export default {
apiKey: 'API Key',
apiKeyPlaceholder: 'sk-...',
defaultModel: '默认模型',
selectOrInput: '选择或输入模型名称...',
selectModel: '选择模型...',
providerAdded: 'Provider 已添加',
providerDeleted: 'Provider 已删除',