Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitLab Duo CLI Switcher

Несколько GitLab Duo-аккаунтов, один проект и локальная память между переключениями

Version Windows PowerShell GitLab Duo

Русский · English · Скачать v8.3.2 · Веб-страница


💡 В чём прикол

GitLab Duo CLI Switcher — это локальный Windows-хаб для нескольких ваших GitLab-аккаунтов.

Каждый аккаунт хранит отдельную авторизацию glab, а проект и локальная компактная память остаются на компьютере. Когда лимит одного аккаунта закончился, вы возвращаетесь в Hub, выбираете другой профиль и продолжаете работу с тем же репозиторием и подготовленным контекстом.

Это не взлом лимитов и не общий пул чужих аккаунтов. Инструмент только упрощает переключение между аккаунтами, которыми вы имеете право пользоваться.

✨ Возможности

  • отдельная OAuth-авторизация и конфигурация glab для каждого профиля;
  • быстрое переключение аккаунтов из одного Hub;
  • выбор и сохранение локальных Git-проектов;
  • запуск GitLab Duo CLI в нужной папке и с выбранной моделью;
  • локальный компактный transcript видимого терминала;
  • перенос полезного контекста между профилями через проектную память и AGENTS.md;
  • просмотр usage по аккаунтам, когда GitLab API отдаёт данные;
  • автоматическая установка или обновление glab и GitLab Duo CLI;
  • диагностика, восстановление конфигурации и исправление прав профилей;
  • безопасные настройки по умолчанию: подтверждение команд включено, сырые VT-логи выключены.

Важно: серверные чаты разных GitLab-аккаунтов не объединяются. Память Switcher — это локально очищенный transcript того, что было видно в терминале, а не копия серверной истории GitLab.

🚀 Быстрый старт

1. Скачайте архив

GitLabDuoCLI-Switcher-v8.3.2.zip

2. Полностью распакуйте его

В одной папке должны лежать все четыре файла:

Run.cmd
GitLabDuoCLI-Switcher.ps1
DuoTerminalRecorder.cs
README.txt

Не запускайте Run.cmd прямо из ZIP-архива.

3. Запустите Run.cmd

При первом старте Switcher:

  1. проверит синтаксис PowerShell;
  2. создаст локальную папку данных;
  3. при необходимости установит glab через WinGet;
  4. предложит выбрать проект и добавить GitLab-аккаунт;
  5. откроет официальную GitLab OAuth-авторизацию в браузере;
  6. установит или обновит GitLab Duo CLI.

👤 Как добавить аккаунт

  1. Запустите Run.cmd.
  2. Нажмите A или откройте M → 1.
  3. Выберите локальный Git-репозиторий.
  4. Придумайте понятное имя профиля, например Main, Account-2 или Testing.
  5. В открывшемся браузере войдите в нужный GitLab-аккаунт.
  6. Выберите принадлежащий аккаунту namespace.
  7. Дождитесь установки GitLab Duo CLI.
  8. Вернитесь в Hub и запускайте профиль по его номеру.

Для добавления следующего аккаунта повторите те же действия. У каждого профиля будет собственная папка авторизации.

🔄 Как переключаться без потери локального контекста

  1. Работайте в GitLab Duo CLI как обычно.
  2. Введите /exit, чтобы вернуться в Hub.
  3. Выберите другой профиль.
  4. Switcher подготовит для него компактную память текущего проекта.
  5. Продолжите задачу в том же репозитории.

Если CLI завершился с ошибкой или лимит закончился, Hub предложит открыть следующий доступный профиль.

🧠 Как работает память

Локальный ConPTY-рекордер видит вывод терминала и собирает полезные пары:

USER → RESPONSE / RELEVANT OUTPUT

Из transcript удаляются спиннеры, меню, повторяющийся TUI-шум и очевидные служебные строки. Компактная память привязывается к проекту, а не к одному аккаунту, поэтому её можно передать следующему профилю.

По умолчанию:

  • хранится до 25 локальных записей сессий;
  • общий лимит хранилища рекордера — около 300 МБ;
  • bridge использует последние полезные сессии;
  • сырые VT-логи выключены;
  • чувствительные шаблоны по возможности редактируются перед сохранением.

Память не заменяет Git, нормальную документацию проекта и ручную проверку изменений.

🧭 Управление

Главное меню

Клавиша Действие
номер Запустить выбранный аккаунт
A Добавить аккаунт
P Выбрать проект
T Настроить контекст текущей задачи
C Проверить или безопасно сжать контекст
S Настройки
M Управление аккаунтами и диагностикой
U Обновить usage
Q Выход

Полезные действия внутри GitLab Duo CLI

/exit       вернуться в Hub
/sessions   открыть серверные сессии текущего аккаунта
/model      изменить модель
Tab         переключить Plan / Build

⚙️ Настройки безопасности

В меню S доступны:

  • автоподтверждение инструментов;
  • локальная запись видимого диалога;
  • сырые диагностические VT-логи;
  • просмотр и очистка transcript;
  • пересборка локального рекордера.

Автоподтверждение команд опасно: включайте его только в доверенном репозитории. Сырые VT-логи могут содержать команды, вставленный текст и секреты, поэтому по умолчанию они выключены.

📁 Где хранятся данные

%LOCALAPPDATA%\GitLabDuoCLISwitcher

Там находятся:

  • отдельные конфигурации glab;
  • список профилей и проектов;
  • usage-cache;
  • checkpoints;
  • локальная память и записи проектов;
  • собранный DuoTerminalRecorder.exe;
  • диагностические журналы.

Обновление четырёх файлов программы не удаляет аккаунты, OAuth, проекты и историю.

🧰 Диагностика

Откройте:

M → 6  Диагностика

Проверяются:

  • версия Windows;
  • наличие и версия glab;
  • сборка C#-рекордера;
  • работа ConPTY;
  • целостность контекста;
  • GitLab-авторизация каждого профиля;
  • локальная память текущего проекта.

При аварийном завершении лог находится здесь:

%LOCALAPPDATA%\GitLabDuoCLISwitcher\crash.log

🖥 Требования

  • Windows 10 1809 build 17763 или новее;
  • Windows PowerShell 5.1;
  • WinGet либо заранее установленный glab версии 1.107.0+;
  • Git;
  • GitLab-аккаунт с доступом к нужным функциям GitLab Duo;
  • локальный Git-репозиторий для работы.

Доступные модели и фактические лимиты определяет GitLab и подписка конкретного аккаунта. Switcher не выдаёт подписку и не создаёт дополнительные лимиты сам.

🔐 Безопасность и приватность

  • используйте только собственные аккаунты;
  • не храните секреты в prompts и transcript;
  • держите сырые VT-логи выключенными без необходимости;
  • проверяйте git diff перед commit;
  • не включайте автоподтверждение в неизвестных проектах;
  • защищайте учётную запись Windows, потому что OAuth-конфигурации находятся локально;
  • перед отправкой логов удаляйте токены, cookies, приватный код и персональные данные.

Подробнее: SECURITY.md.

📦 Обновление

  1. Закройте Hub и все окна GitLab Duo CLI.
  2. Скачайте новый ZIP.
  3. Полностью распакуйте его поверх папки программы.
  4. Замените четыре файла.
  5. Запустите Run.cmd.

Пользовательские данные останутся в %LOCALAPPDATA%\GitLabDuoCLISwitcher.

⚖️ Статус проекта

Это неофициальный community-инструмент, не связанный с GitLab B.V. или OpenAI. Названия GitLab, GitLab Duo и связанные товарные знаки принадлежат их владельцам.

В переданном архиве не было файла лицензии. Репозиторий не добавляет лицензию от себя и не заявляет авторство стороннего кода. Перед копированием, модификацией или распространением убедитесь, что у вас есть соответствующее разрешение первоначального автора.


GitLab Duo CLI Switcher 8.3.2

English documentation · Security · Changelog

Releases

Packages

Contributors

Languages