Kiro Setup Guide (Русский)
Общая информация: почему учётные записи Kiro могут конфликтовать
Заголовок раздела «Общая информация: почему учётные записи Kiro могут конфликтовать»Бэкенд Kiro использует регистрации клиентов AWS SSO OIDC для отслеживания активных сеансов. Критически важное ограничение: каждая регистрация клиента OIDC поддерживает только один активный сеанс одновременно. Когда второе устройство или пользователь проходит аутентификацию с помощью того же зарегистрированного клиента, бэкенд аннулирует токен обновления первой учётной записи.
Именно этот механизм вызывает проблемы при выполнении kiro-cli login на
компьютере, где уже выполнен вход в другую учётную запись Kiro: новый вход отзывает
токен первой учётной записи.
Как OmniRoute решает эту проблему (v3.8.0+)
Заголовок раздела «Как OmniRoute решает эту проблему (v3.8.0+)»Начиная с v3.8.0, OmniRoute вызывает registerClient() (AWS SSO OIDC) при каждом
импорте подключения Kiro. Благодаря этому каждое подключение OmniRoute получает собственную выделенную
регистрацию клиента OIDC. Поскольку регистрации клиентов независимы друг от друга, обновление или
повторная аутентификация одной учётной записи не влияет на токены обновления других учётных записей.
Изоляция применяется к методам импорта токенов обновления, а аутентификация по ключу API полностью исключает использование сеансов обновления OIDC:
| Метод импорта | Статус изоляции |
|---|---|
| AWS Builder ID / поток кода устройства IDC | Изолирован с момента появления потока кода устройства |
| Импорт токена (ручная вставка токена обновления) | Изолирован начиная с v3.8.0 |
| Вход через Google / GitHub | Изолирован начиная с v3.8.0 |
| Автоимпорт (SQLite из kiro-cli) | Изолирован начиная с v3.8.0 (путь SQLite уже был изолирован; резервный вариант с кэшем SSO теперь также изолирован) |
| Ключ API (долгосрочный ключ CodeWhisperer) | Сеанс обновления отсутствует; ключ проверяется и сохраняется как учётные данные bearer |
Примечание о миграции подключений, созданных до v3.8.0
Заголовок раздела «Примечание о миграции подключений, созданных до v3.8.0»Подключения, импортированные до v3.8.0, не имеют выделенной регистрации клиента OIDC,
сохранённой в providerSpecificData. Эти подключения продолжают работать, но используют общий
эндпоинт обновления социальной аутентификации, поэтому два таких подключения всё ещё могут аннулировать токены
друг друга.
Чтобы обеспечить изоляцию: удалите старое подключение в разделе Панель управления → Провайдеры и повторно импортируйте его с помощью любого из поддерживаемых способов импорта. Все новые подключения будут автоматически получать собственную регистрацию клиента.
Добавление двух учётных записей Kiro для параллельной работы
Заголовок раздела «Добавление двух учётных записей Kiro для параллельной работы»Предварительные требования
Заголовок раздела «Предварительные требования»- OmniRoute v3.8.0 или более поздней версии.
- Рабочая учётная запись Kiro (электронная почта и пароль либо вход через Google или GitHub).
- При необходимости — вторая учётная запись Kiro.
Шаг 1. Импорт первой учётной записи
Заголовок раздела «Шаг 1. Импорт первой учётной записи»- Откройте Панель управления → Провайдеры → Добавить провайдера → Kiro.
- Выберите один из вариантов:
- Импорт токена — вставьте токен обновления, начинающийся с
aorAAAAAG. - Ключ API — вставьте долгосрочный ключ API Kiro / CodeWhisperer.
- Вход через Google / GitHub — завершите процесс OAuth в браузере.
- Автоимпорт — нажмите кнопку; OmniRoute считает учётные данные из
локальной базы данных kiro-cli или
~/.aws/sso/cache.
- Импорт токена — вставьте токен обновления, начинающийся с
- Подключение будет сохранено. Для потоков с токенами обновления автоматически регистрируется выделенный клиент OIDC. При использовании ключа API ключ проверяется через AWS, а токен обновления не сохраняется.
Шаг 2. Импорт второй учётной записи
Заголовок раздела «Шаг 2. Импорт второй учётной записи»Повторите шаг 1 для второй учётной записи. Поскольку при каждом импорте создаётся отдельная регистрация клиента OIDC, два подключения полностью изолированы друг от друга.
Шаг 3. Проверка активности обоих подключений
Заголовок раздела «Шаг 3. Проверка активности обоих подключений»- Панель управления → Провайдеры — оба подключения Kiro должны иметь статус Активно.
- Панель управления → Состояние — оба подключения должны успешно пройти проверку работоспособности токенов.
Шаг 4. Использование комбинации для маршрутизации между учётными записями
Заголовок раздела «Шаг 4. Использование комбинации для маршрутизации между учётными записями»Создайте комбинацию с обоими подключениями в качестве целей для балансировки нагрузки или переключения на резервное подключение:
kiro/kiro-dev → kiro/kiro-proСведения о настройке комбинаций см. в FEATURES.md и документации по маршрутизации.
Корпоративные пользователи / пользователи IDC
Заголовок раздела «Корпоративные пользователи / пользователи IDC»Для учетных записей AWS IAM Identity Center (IDC) используйте поток AWS Builder ID / кода устройства IDC в разделе Панель управления → Провайдеры → Kiro → Код устройства. Поток кода устройства всегда был полностью изолирован. Для этих подключений повторный импорт не требуется.
Корпоративные пользователи, работающие в регионе AWS, отличном от региона по умолчанию, могут указать регион при импорте через API импорта токена:
curl -X POST http://localhost:20128/api/oauth/kiro/import \ -H "Content-Type: application/json" \ -d '{"refreshToken": "aorAAAAAG...", "region": "eu-west-1"}'Если поле region не указано, по умолчанию используется us-east-1.
Импорт с помощью API-ключа
Заголовок раздела «Импорт с помощью API-ключа»Аутентификация с помощью API-ключа предназначена для долгосрочных учетных данных носителя Kiro / AWS CodeWhisperer. Она не использует обновление OAuth, поэтому позволяет избежать аннулирования общего сеанса OIDC.
Панель управления
Заголовок раздела «Панель управления»- Откройте Панель управления -> Провайдеры -> Kiro.
- Выберите API-ключ.
- Вставьте API-ключ и при необходимости укажите регион AWS (по умолчанию —
us-east-1). - OmniRoute проверит ключ и сохранит подключение.
curl -X POST http://localhost:20128/api/oauth/kiro/api-key \ -H "Content-Type: application/json" \ -d '{"apiKey": "kiro_or_codewhisperer_key", "region": "us-east-1"}'Внутренний контракт
Заголовок раздела «Внутренний контракт»Маршрут API проверяет ключ, вызывая KiroService.validateApiKey(), который использует ListAvailableProfiles для конечной точки CodeWhisperer/Amazon Q, соответствующей региону, и определяет profileArn.
Сохраненное подключение использует:
{ "authType": "apikey", "providerSpecificData": { "authMethod": "api_key", "region": "us-east-1", "profileArn": "arn:aws:codewhisperer:..." }}Во время выполнения KiroExecutor.buildHeaders() передает ключ в виде Authorization: Bearer <key> и добавляет tokentype: API_KEY. Вызовы квот и профиля используют тот же маркер, чтобы AWS обрабатывал токен носителя как долгосрочный API-ключ, а не как токен доступа OIDC или социальной сети.
Истечение срока действия клиента OIDC
Заголовок раздела «Истечение срока действия клиента OIDC»Срок действия общедоступных клиентов AWS SSO OIDC обычно истекает через 90 дней (clientSecretExpiresAt). OmniRoute сохраняет эту временную метку в providerSpecificData для наблюдаемости. Если подключение перестает обновляться примерно через 90 дней, повторно импортируйте его, чтобы получить новую регистрацию клиента OIDC. Автоматическая повторная регистрация после истечения срока действия запланирована как будущее улучшение.
У подключений с API-ключом нет срока действия клиента OIDC, поскольку они не обновляются через AWS SSO OIDC.
Устранение неполадок
Заголовок раздела «Устранение неполадок»Для второй учетной записи постоянно завершается сеанс
Заголовок раздела «Для второй учетной записи постоянно завершается сеанс»- Проверьте оба подключения в разделе Панель управления → Провайдеры и убедитесь, что в необработанном JSON каждого из них указано ненулевое значение
clientId(его можно просмотреть с помощью значка информации). Если в каком-либо подключении отсутствуетclientId, оно было импортировано до v3.8.0 — импортируйте его повторно.
Ошибка импорта «Token validation failed»
Заголовок раздела «Ошибка импорта «Token validation failed»»- Убедитесь, что токен обновления начинается с
aorAAAAAG. - Убедитесь, что OmniRoute может подключиться к
https://oidc.us-east-1.amazonaws.com(или к настроенному региону). Если вы работаете через корпоративный прокси-сервер, настройте прокси-сервер на уровне провайдера в разделе Панель управления → Настройки → Прокси-серверы.
Ошибка импорта API-ключа
Заголовок раздела «Ошибка импорта API-ключа»- Убедитесь, что ключ является API-ключом Kiro / CodeWhisperer, а не токеном обновления.
- Убедитесь, что регион AWS соответствует ключу или учетной записи. По умолчанию используется
us-east-1. - Ключ должен позволять вызывать
ListAvailableProfiles; в противном случае OmniRoute не сможет определить требуемыйprofileArn.
По другим вопросам см. основной файл TROUBLESHOOTING.md.
HagiCode
HagiCode — агентная среда разработки со структурированными процессами, параллельным выполнением несколькими агентами и интерфейсами Hero Dungeon.
Превращайте идеи в полезное ПО с более умным, быстрым и увлекательным агентным рабочим процессом.

- SmartСтруктурированные процессы превращают намерение в исполнимый путь от идеи до готового изменения.
- EfficientМультиагентные процессы параллельно продвигают исследование, реализацию и проверку.
- FunHero Dungeon делает длительную совместную разработку наглядной и увлекательной.