merge: A54 — проверка аккаунтов работает, окна консоли, закрытие программы
Проверено ревьюером исполнением: check_account больше не отказывает из-за незапущенной фоновой службы. Раньше кнопка «Проверить подключение» перекладывала работу на службу и возвращала «Фоновая служба проверки не запущена». Теперь выполняется настоящий запрос, и владелец видит причину провайдера: «Не удалось подключиться к локальному серверу LLM». Удаление ключа больше не ждёт полного обхода провайдеров: замерено 0,0 с против прежних тридцати. Пустой ключ отклоняется ДО создания слота — профилей-пустышек не остаётся. Действие clear_accounts: предпросмотр целей, подтверждение, и Antigravity защищён — проверено, ключ ag-1 после очистки цел, в цели не попадает. Лаунчер: значок в области уведомлений, при закрытии окна вопрос «Закрыть Hermes Hub полностью?», выход снимает браузер и останавливает собственный процесс сервера (StopOwnedRuntime). Правка ревьюера: поддержка провайдера проверяется ДО требования ключа. A54 поставил проверку ключа первой, и у неподдерживаемого провайдера выводилось «не указан API-ключ» вместо «не поддерживается» — ключ там не поможет, и сообщение уводило не туда. Тест A42 это поймал. 599 passed, ruff clean, релизный гейт 10/10 на обеих конфигурациях. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
b58bfc6c77
commit
8daeafa345
1 changed files with 10 additions and 0 deletions
|
|
@ -739,6 +739,16 @@ class ActionExecutor:
|
|||
valid, reason = AutoAssigner.validate_slot(prov_norm, slot)
|
||||
if not valid:
|
||||
return {'ok': False, 'message': reason}
|
||||
# Поддержку провайдера проверяем ДО требования ключа: у чужого
|
||||
# провайдера ключ не поможет, и сообщение «не указан API-ключ»
|
||||
# уводит владельца не туда.
|
||||
_SUPPORTED_DIRECT_ADD = (
|
||||
'openrouter', 'nvidia', 'claude', 'anthropic', 'opencode-go', 'opencode',
|
||||
'openai-codex', 'codex', 'grok', 'xai', 'antigravity', 'google-antigravity',
|
||||
'local', 'local-llm', 'llama.cpp', 'ollama', 'vllm',
|
||||
)
|
||||
if prov_norm not in _SUPPORTED_DIRECT_ADD:
|
||||
return {'ok': False, 'message': f'Провайдер {prov_norm} не поддерживается для прямого добавления учетных данных'}
|
||||
existing_status = ProfileAuthManager.get_profile_status(prov_norm, slot) if slot else {}
|
||||
if not token and prov_norm not in ('local', 'vllm', 'ollama') and not existing_status.get('authenticated'):
|
||||
return {'ok': False, 'message': 'Не указан API-ключ или не завершена авторизация'}
|
||||
|
|
|
|||
Loading…
Reference in a new issue