Расширение для тех, кто устал ебаться с лимитами Kiro.
⚠️ ДИСКЛЕЙМЕРЭто учебный проект, написанный в образовательных целях для изучения работы с VS Code Extension API, OAuth потоками и автоматизацией браузера.
Автор не несёт никакой ответственности за использование этого кода. Всё что вы делаете — вы делаете на свой страх и риск. Если вас забанят, заблокируют, отключат, уволят или случится что-то ещё — это ваши проблемы. Я предупредил.
Используя этот код вы подтверждаете что понимаете что делаете и принимаете все последствия.
Полноценный менеджер аккаунтов для Kiro IDE:
- Мульти-аккаунт — храни сколько угодно аккаунтов, переключайся в один клик
- Usage мониторинг — видишь сколько запросов потрачено, сколько осталось, когда рефреш
- Авторег — автоматическая регистрация новых AWS Builder ID аккаунтов
- IMAP интеграция — поддержка Yandex, Gmail, Outlook для получения кодов подтверждения
- Machine ID патчинг — обход бана по hardware fingerprint
- LLM API сервер — OpenAI-совместимый API для использования Claude через Kiro токены
- Standalone executable — не требует установки Python на компьютере пользователя
- 10 языков — EN, RU, DE, ES, FR, PT, ZH, JA, KO, HI
- Скачать
.vsixиз Releases - Открыть Kiro →
Ctrl+Shift+P→Extensions: Install from VSIX - Выбрать скачанный файл
- Перезапустить Kiro
Для пользователей без Python на компьютере:
- Скачать
kiro-manager.exeиз Releases - Создать файл
.envрядом с executable:IMAP_SERVER=imap.yandex.ru IMAP_USER=your-email@example.com IMAP_PASSWORD=your-imap-app-password
- Тестировать:
kiro-manager.exe imap test - Использовать:
kiro-manager.exe status
📖 Подробная инструкция: BUILD_EXECUTABLE.md
git clone https://github.com/WhiteBite/kiro-manager-wb
cd kiro-manager-wb
npm install
npm run packageKiro хранит токен в state.vscdb. Расширение:
- Читает токены из
~/.kiro-manager-wb/tokens/ - При переключении записывает выбранный токен в базу Kiro
- Kiro подхватывает новый токен без перезапуска
Показывает для каждого аккаунта:
- Текущий расход / лимит
- Процент использования
- Время до сброса лимита
- Тип подписки (Free/Pro)
AWS банит по machineId если видит много аккаунтов с одного компьютера. Патч позволяет:
- Использовать уникальный
machineIdдля каждого аккаунта - Автоматически менять ID при переключении
- Обходить баны за "unusual activity"
# Применить патч
python -m autoreg.cli patch
# Сгенерировать новый machine ID
python -m autoreg.cli machine-id generateАвтоматическая регистрация AWS Builder ID аккаунтов.
- Python 3.11+
- Chrome/Chromium браузер
- Почтовый сервер с IMAP
| Стратегия | Описание | Пример |
|---|---|---|
single |
Один email = один аккаунт | user@gmail.com |
plus_alias |
Gmail/Outlook алиасы | user+kiro123@gmail.com |
catch_all |
Catch-all домен | random123@mydomain.com |
pool |
Пул готовых email'ов | Список из файла/env |
Создай .env в папке autoreg/:
# IMAP настройки
IMAP_SERVER=imap.gmail.com
IMAP_USER=your@gmail.com
IMAP_PASSWORD=app-password
# Стратегия email
EMAIL_STRATEGY=plus_alias
# Для catch_all
EMAIL_DOMAIN=mydomain.com
# Для pool (JSON массив)
EMAIL_POOL=["user1@mail.ru", "user2@mail.ru:password"]cd autoreg
# Авто-регистрация (использует настроенную стратегию email)
python -m registration.register_auto
# С конкретным email
python -m registration.register --email user@domain.com
# Batch регистрация (5 аккаунтов)
python -m registration.register --count 5
# Headless режим (без GUI)
python -m registration.register --email user@domain.com --headless
# Через VS Code расширение - кнопка "Auto-Reg" в панелиВстроенная система спуфинга для обхода детекта AWS:
- Canvas — рандомизация canvas fingerprint
- WebGL — подмена vendor/renderer
- Audio — модификация audio fingerprint
- Navigator — спуфинг userAgent, platform, languages
- Screen — рандомизация разрешения
- Timezone — синхронизация с IP
- WebRTC — скрытие локального IP
- Fonts — рандомизация списка шрифтов
- Behavior — человеческие задержки при вводе
Профили спуфинга сохраняются для каждого email — при повторной регистрации используется тот же fingerprint.
OpenAI-совместимый API сервер для использования Claude через Kiro токены.
cd autoreg
python -m llm.run_llm_server
# API на http://127.0.0.1:8421curl http://127.0.0.1:8421/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4",
"messages": [{"role": "user", "content": "Hello!"}],
"stream": true
}'| Model | Credit | Описание |
|---|---|---|
claude-opus-4.5 |
2.2x | Самая мощная |
claude-sonnet-4.5 |
1.3x | Последний Sonnet |
claude-sonnet-4 |
1.3x | Hybrid reasoning |
claude-haiku-4.5 |
0.4x | Быстрая и дешёвая |
auto |
1x | Авто-выбор |
GET /v1/models— список моделейPOST /v1/chat/completions— чат (streaming поддерживается)GET /health— health checkGET /pool/status— статус пула токеновGET /pool/quotas— квоты всех токенов
Веб-интерфейс для управления без VS Code.
cd autoreg
python run.py
# Откроется http://127.0.0.1:8420Функции:
- Просмотр и переключение аккаунтов
- Мониторинг квот в реальном времени
- Запуск авторега через UI
- Управление патчем Kiro
- WebSocket для live логов
Инструменты для отладки регистрации и анализа трафика.
cd autoreg
python -m debugger.runСобирает:
- Все сетевые запросы (HAR формат)
- Cookies на каждом шаге
- DOM snapshots
- Console логи
- CDP события
- RequestAnalyzer — анализ API запросов к AWS
- FingerprintAnalyzer — детект fingerprint проверок
- TimingAnalyzer — анализ таймингов
- RedirectAnalyzer — цепочки редиректов
- JSON — сырые данные
- HAR — для Chrome DevTools
- HTML — красивый отчёт
kiro-manager-wb/
├── src/ # VS Code Extension (TypeScript)
│ ├── commands/ # Команды расширения
│ ├── providers/ # Tree providers
│ ├── services/ # Бизнес-логика
│ ├── webview/ # UI компоненты
│ │ ├── components/ # React-like компоненты
│ │ ├── styles/ # CSS-in-JS
│ │ └── i18n/ # 10 языков
│ └── extension.ts # Entry point
│
├── autoreg/ # Python Backend
│ ├── core/ # Конфиги, пути, exceptions
│ ├── registration/ # AWS регистрация
│ │ ├── browser.py # DrissionPage automation
│ │ ├── mail_handler.py # IMAP handler
│ │ └── oauth_*.py # OAuth flows
│ ├── spoofers/ # Anti-fingerprint (20+ модулей)
│ ├── services/ # Kiro services
│ │ ├── kiro_patcher_service.py
│ │ ├── token_service.py
│ │ └── quota_service.py
│ ├── debugger/ # Debug tools
│ │ ├── collectors/ # Data collectors
│ │ ├── analyzers/ # Analysis tools
│ │ └── exporters/ # JSON/HAR/HTML
│ ├── llm/ # LLM API Server
│ └── app/ # Standalone Web App
│
├── scripts/ # Build & Release
└── tests/ # Tests
| Настройка | Описание | Default |
|---|---|---|
kiroAccountSwitcher.tokensPath |
Путь к токенам | ~/.kiro-manager-wb/tokens |
kiroAccountSwitcher.autoSwitch.enabled |
Авто-рефреш токена | false |
kiroAccountSwitcher.autoSwitch.usageThreshold |
Порог переключения | 50 |
kiroAccountSwitcher.autoreg.headless |
Headless браузер | false |
kiroAccountSwitcher.autoreg.spoofing |
Fingerprint spoofing | true |
{
"accessToken": "eyJhbGciOiJSUzI1NiIs...",
"refreshToken": "eyJjdHkiOiJKV1QiLCJl...",
"expiresAt": "2024-12-10T20:00:00.000Z",
"accountName": "user@example.com",
"email": "user@example.com",
"idToken": "eyJhbGciOiJSUzI1NiIs..."
}cd autoreg
# ═══════════════════════════════════════════════════════════════
# СТАТУС
# ═══════════════════════════════════════════════════════════════
python cli.py status # Общий статус системы
# ═══════════════════════════════════════════════════════════════
# ТОКЕНЫ
# ═══════════════════════════════════════════════════════════════
python cli.py tokens # Список токенов (алиас для list)
python cli.py tokens list # Список всех токенов
python cli.py tokens switch <name> # Переключить на аккаунт
python cli.py tokens switch <name> -r # Переключить с принудительным refresh
python cli.py tokens refresh # Обновить лучший токен
python cli.py tokens refresh <name> # Обновить конкретный токен
python cli.py tokens refresh <name> -a # Обновить и активировать
# ═══════════════════════════════════════════════════════════════
# КВОТЫ
# ═══════════════════════════════════════════════════════════════
python cli.py quota # Квота текущего аккаунта
python cli.py quota --all # Квоты ВСЕХ аккаунтов
python cli.py quota --all --refresh # Квоты всех с обновлением токенов
python cli.py quota --json # JSON формат
# ═══════════════════════════════════════════════════════════════
# MACHINE ID
# ═══════════════════════════════════════════════════════════════
python cli.py machine # Статус Machine ID
python cli.py machine status # Подробный статус
python cli.py machine backup # Бэкап Kiro telemetry
python cli.py machine backup -s # + бэкап системного GUID
python cli.py machine reset # Сброс всех ID
python cli.py machine reset -s # + сброс системного GUID
python cli.py machine reset -f # Без проверки запущен ли Kiro
python cli.py machine restore # Восстановить из бэкапа
# ═══════════════════════════════════════════════════════════════
# ПАТЧИНГ KIRO
# ═══════════════════════════════════════════════════════════════
python cli.py patch # Статус патча
python cli.py patch status # Подробный статус
python cli.py patch status --json # JSON формат
python cli.py patch apply # Применить патч
python cli.py patch apply -f # Принудительно перепатчить
python cli.py patch remove # Удалить патч (восстановить оригинал)
python cli.py patch generate-id # Сгенерировать новый Machine ID
python cli.py patch generate-id <id> # Установить конкретный ID (64 hex)
python cli.py patch check # Проверить нужно ли обновить патч
python cli.py patch check --auto-fix # Автоматически обновить если нужно
python cli.py patch restart # Перезапустить Kiro (сохраняет окна)
python cli.py patch apply-restart # Патч + перезапуск Kiro
# ═══════════════════════════════════════════════════════════════
# KIRO IDE
# ═══════════════════════════════════════════════════════════════
python cli.py kiro # Статус Kiro
python cli.py kiro status # Подробный статус
python cli.py kiro start # Запустить Kiro
python cli.py kiro stop # Остановить Kiro
python cli.py kiro restart # Перезапустить Kiro
python cli.py kiro info # Инфо: версия, User-Agent, Machine ID
python cli.py kiro info --json # JSON формат
# ═══════════════════════════════════════════════════════════════
# SSO IMPORT (импорт из браузера)
# ═══════════════════════════════════════════════════════════════
python cli.py sso-import # Интерактивный импорт
python cli.py sso-import <cookie> # Импорт из x-amz-sso_authn cookie
python cli.py sso-import <cookie> -a # Импорт и активировать в Kiro
python cli.py sso-import <cookie> -r eu-west-1 # Другой регион
# ═══════════════════════════════════════════════════════════════
# LLM API SERVER
# ═══════════════════════════════════════════════════════════════
python -m llm.run_llm_server # Запустить на :8421
# ═══════════════════════════════════════════════════════════════
# STANDALONE WEB APP
# ═══════════════════════════════════════════════════════════════
python run.py # Запустить на :8420
# ═══════════════════════════════════════════════════════════════
# DEBUG
# ═══════════════════════════════════════════════════════════════
python -m debugger.run # Debug сессия регистрацииЕсли у тебя уже есть залогиненный аккаунт в браузере:
- Открой https://view.awsapps.com/start
- DevTools (F12) → Application → Cookies
- Скопируй значение
x-amz-sso_authn - Запусти:
python cli.py sso-import <скопированное_значение> -aТокен будет импортирован и активирован в Kiro.
Если Kiro тормозит, используй встроенные инструменты диагностики:
# Полная диагностика (проверка GPU, памяти, настроек)
python autoreg/scripts/kiro_fix_lags.py --diagnose
# Применить автоматические исправления
python autoreg/scripts/kiro_fix_lags.py --fixЧто проверяется:
- ❌ SwiftShader — software rendering вместо GPU (главная причина лагов!)
- 🧠 Память — утечки в Extension Host
- ⚙️ Настройки — hardware acceleration, telemetry
- 📁 File watchers — node_modules в watcher'ах
# Проверить используется ли hardware acceleration
python autoreg/scripts/check_kiro_gpu.pyЕсли видишь SwiftShader — это проблема! Решения:
- Обнови драйвера видеокарты
- Добавь в
argv.json:"ignore-gpu-blocklist": true - Проверь DirectX/OpenGL
Открой tests/test-gpu.html в браузере чтобы проверить GPU:
- ✅ Hardware acceleration — всё ок
- ❌ SwiftShader — нужно чинить
AWS иногда показывает капчу. Решить руками или перезапустить.
# Проверить Chrome
python -c "from autoreg.registration.browser import find_chrome_path; print(find_chrome_path())"Убедиться что python или python3 в PATH.
Попробовать перезапустить Kiro. Редко, но бывает.
- Сгенерировать новый machine ID:
python cli.py machine-id generate - Использовать другой IP (VPN/proxy)
- Подождать 24 часа
npm run build # Собрать расширение
npm run build:standalone # Собрать standalone HTML
npm run build:all # Собрать всё
npm run package # Создать .vsix
npm run release:patch # Релиз патч версии (6.1.0 -> 6.1.1)
npm run release:minor # Релиз минор версии (6.1.0 -> 6.2.0)
npm run release:major # Релиз мажор версии (6.1.0 -> 7.0.0)Standalone десктопное приложение без зависимости от VS Code/Kiro.
npm run electron:install # Установить зависимости Electron (первый раз)
npm run electron:dev # Запустить в режиме разработкиnpm run electron:build:win # Собрать Windows installerMIT. Делай что хочешь, но помни про дисклеймер.
Нашёл баг? Есть идея? Открывай issue или PR.
Telegram: @whitebite_devsoft
