Об этом проекте

# Opaline CLI Opaline CLI — это инструмент командной строки, который захватывает сессии Claude Code и OpenAI Codex и загружает их на платформу Opaline для командной аналитики. Продакшн-API размещен на `https://opaline.so`. Ранее инструмент назывался `rudel` и сохраняет совместимость с этим именем. ## Быстрый старт Требуется Node.js 20 или новее. Запустите `npx opaline@latest` из любого каталога. CLI сканирует локальные сессии Claude Code и Codex, отображает количество репозиториев и сессий и позволяет выбрать, какие репозитории загружать и синхронизировать. Вход в систему открывается только после выбора. `pnpx opaline@latest` также работает; глобальная установка необязательна. Копирование команды из демо Opaline добавляет скрытое значение `--code`. Этот одноразовый код связывает терминал с вашим браузером для живого выбора и статуса загрузки. Он истекает через десять минут, если не используется. Подтвердите вход в том же браузере, где вы скопировали команду. Первые загрузки продолжают настройку в браузере; вернувшиеся пользователи открывают страницу сессий рабочего пространства. Автоматические загрузки сохраняют встроенный CLI в `~/.rudel/runtime` и используют ваш исполняемый файл Node, поэтому хуки продолжают работать после удаления временного кэша раннера. `opaline login` открывает браузерный device flow. `opaline upload` группирует локальные рабочие деревья по репозиториям, позволяет выбрать, какие репозитории останутся синхронизированными, устанавливает необходимые хуки Claude Code и/или Codex и загружает новые сессии. Откройте ту же таблицу, чтобы включить или отключить репозитории. Существующим пользователям `rudel` не нужно входить снова. Opaline намеренно читает существующий каталог учетных данных и состояния `~/.rudel`, а пакет `rudel` продолжает работать как псевдоним совместимости. Запустите `opaline upload` из любого каталога, включая домашнюю папку. Выборщик находит сохраненные сессии во всех репозиториях и загружает выбранные. Он также включает автоматическую загрузку для этих выборов. Хук Claude Code устанавливается в ваши пользовательские настройки, поэтому настройка не зависит от текущего каталога. Существующие хуки и настройки сохраняются. ## Типичный рабочий процесс Запустите `opaline upload` (или `npx opaline@latest`), чтобы открыть таблицу репозиториев. Таблица заполняется во время сканирования, затем показывает локальные и уже загруженные счетчики сессий вместе с переключателями ВКЛ/ВЫКЛ. Пробел изменяет репозиторий; Enter открывает обзор с недавно добавленными, уже активными и деактивированными репозиториями. Enter подтверждает; Esc возвращает к редактированию. Прогресс загрузки остается в той же таблице. Существующие хуки Rudel распознаются как включенные. Сохранение переносит принадлежащие хуки в Opaline, удаляет дублирующиеся локальные хуки и сохраняет несвязанные настройки агентов. Инструменты уведомлений Codex могут сосуществовать с автоматическими загрузками. Opaline сохраняет существующую команду и аргументы, пересылает JSON уведомления и загружает независимо. Codex Computer Use остается в начале цепочки уведомлений. Отключение загрузок сохраняет работу уведомлений. Пользовательские скрипты сохраняются; Opaline не переписывает скрипты, которые сами вызывают старые установки Rudel. Ошибки настройки показывают полные детали и действие повтора/назад, включая файл настроек для исправления, когда конфигурация Codex недействительна. ## Ключевые концепции - **Сессии:** Транскрипты JSONL Claude Code и Codex, обнаруженные на локальной машине. - **Хуки:** Команды жизненного цикла агента, установленные `opaline upload` или `opaline enable`. Хуки работают без интерфейса, проверяют список разрешенных репозиториев, фильтруют известные секретные паттерны и загружают завершенную сессию. - **Организации:** Рабочее пространство Opaline, получающее загрузки. Используйте `opaline set-org`, чтобы изменить организацию, связанную с проектом. - **Локальное состояние:** Учетные данные, очереди повторов, журналы и сопоставления проектов остаются в `~/.rudel` для совместимости. Установите `OPALINE_CONFIG_DIR`, чтобы выбрать другой каталог; `RUDEL_CONFIG_DIR` по-прежнему поддерживается. - **Псевдоним совместимости:** Исполняемый файл `rudel` делегирует ту же реализацию Opaline с неизменными аргументами, стандартным вводом/выводом и кодом выхода. Его единственное дополнение — одно уведомление о переименовании в stderr за вызов.