Skip to content

Latest commit

 

History

History
413 lines (310 loc) · 30.9 KB

File metadata and controls

413 lines (310 loc) · 30.9 KB
Hive

Hive

Оркестратор ИИ-агентов с открытым исходным кодом для параллельной разработки между проектами.

Запускайте сессии Claude Code, OpenCode и Codex параллельно. Одно окно. Изолированные ветки. Никакого хаоса вкладок.

English | العربية | বাংলা | Bosanski | Dansk | Deutsch | Ελληνικά | Español | Français | עברית | Italiano | 日本語 | 한국어 | Norsk | Polski | Português (BR) | Русский | ไทย | Türkçe | Українська | Tiếng Việt | 简体中文 | 繁體中文

Последний релиз Загрузки Статус сборки macOS Node.js Electron TypeScript Лицензия PR приветствуются


Содержание

Что такое Hive?

Если вы запускаете несколько ИИ-агентов для кодирования в разных проектах и ветках, вы знаете эту боль — шесть открытых вкладок терминала, вы не помните, какой агент над чем работает, и беспокоитесь, что два из них редактируют одни и те же файлы.

Hive — это оркестратор ИИ-агентов. Все запущенные агенты видны в одной боковой панели, переключение между ними одним кликом, и каждый работает в изолированной ветке git worktree, поэтому конфликты исключены. Подключайте несколько репозиториев, чтобы одна сессия агента имела контекст всего вашего стека.

Возможности

🌳 Workflow на основе Worktree

Работайте одновременно в нескольких ветках без stash или переключения. Создавайте, архивируйте и организуйте worktree одним кликом. Каждый worktree получает уникальное имя на основе города для лёгкой идентификации.

🤖 Встроенные сессии ИИ-кодирования

Запускайте ИИ-агентов для кодирования прямо внутри Hive с поддержкой OpenCode, Claude Code и Codex. Стримьте ответы в реальном времени, наблюдайте за вызовами инструментов и одобряйте разрешения по мере необходимости. Полная поддержка отмены/повтора даёт вам контроль.

📁 Умный файловый менеджер

Видите изменения с первого взгляда благодаря индикаторам статуса git в реальном времени. Просматривайте diff прямо в дереве, изучайте историю файлов и навигируйте по кодовой базе, не покидая приложения. Встроенный редактор Monaco обеспечивает полноценный опыт уровня VS Code.

🔧 Полная интеграция с Git

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

📦 Пространства для организации

Группируйте связанные проекты и worktree в логические рабочие пространства. Закрепляйте избранное для быстрого доступа. Поддерживайте порядок в среде разработки по мере роста.

Палитра команд

Быстрая навигация и действия с помощью горячих клавиш. Нажмите Cmd+K, чтобы мгновенно получить доступ к любой функции. Ищите сессии, переключайте worktree или выполняйте команды без мыши.

🎨 Красивые темы

Выбирайте из 10 тщательно проработанных тем — 6 тёмных и 4 светлые. Мгновенное переключение под ваши предпочтения или время суток. Автоматическое следование системной теме по желанию.

🖥️ Language Server Protocol

Полная интеграция LSP с языковыми серверами для каждого worktree. Интеллектуальное автодополнение кода, переход к определению, подсказки при наведении и диагностика в реальном времени для TypeScript, Python, Go, Rust и других.

🔌 Соединения Worktree

Соедините два worktree для совместного использования контекста, сравнения реализаций или совместной работы в реальном времени. Идеально для ревью изменений между ветками, обмена ИИ-сессиями между worktree или поддержания согласованности при работе над связанными функциями. Видите обновления в реальном времени при изменении соединённых worktree.

Почему Hive?

Посмотрите, как Hive преображает ваш git-workflow:

Задача Традиционный workflow С Hive
Сменить ветку git stashgit checkoutgit stash pop Клик по worktree → Готово
Работа над несколькими фичами Постоянный stash и переключение контекста Откройте несколько worktree рядом
Создать worktree git worktree add ../project-feature origin/feature Клик «Новый Worktree» → Выберите ветку
ИИ-помощь в кодировании Терминал + отдельный ИИ-инструмент + копировать/вставить Встроенные ИИ-сессии с полным контекстом
Просмотр изменений файлов git statusgit diff file.ts Визуальное дерево с инлайн-diff
Сравнение веток Несколько вкладок терминала, копировать/вставить Соедините worktree для общего контекста
Найти worktree cd ~/projects/... → помнить имена директорий Все worktree в одной боковой панели
Очистка worktree git worktree removerm -rf directory Клик «Архивировать» → Всё делается автоматически

Установка

🍎 Только macOS — Поддержка Windows и Linux скоро.

Через Homebrew (рекомендуется)

brew tap morapelker/hive
brew install --cask hive

Прямая загрузка

Скачайте последний .dmg с GitHub Releases.

Вот и всё! Откройте Hive из папки «Программы» и укажите на git-репозиторий.

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

Начните работу менее чем за 2 минуты:

1️⃣ Добавьте первый проект

Откройте Hive → Нажмите «Add Project» → Выберите любой git-репозиторий на вашем компьютере

2️⃣ Создайте Worktree

Выберите проект → Нажмите «New Worktree» → Выберите ветку (или создайте новую)

3️⃣ Начните кодировать с ИИ

Откройте worktree → Нажмите «New Session» → Начните кодировать с OpenCode, Claude или Codex

💡 Совет профи: Нажмите Cmd+K в любой момент, чтобы открыть палитру команд и быстро навигировать!

📖 Читать полное руководство | ⌨️ Горячие клавиши

🔌 Соединения Worktree — Революция

Функция Соединений Worktree в Hive позволяет связать два worktree, создавая мост между разными ветками или функциями. Невероятно мощный инструмент для workflow, требующих межветочного осознания.

Что такое Соединения Worktree?

Соедините любые два worktree для:

  • 🔄 Совместный контекст - Мгновенный доступ к файлам и изменениям другой ветки
  • 🤝 Совместная работа - Работа над связанными функциями с обновлениями в реальном времени
  • 📊 Сравнение - Просмотр различий между реализациями бок о бок
  • 🎯 Справка - Держите основную ветку на виду во время работы над функциями
  • 🔗 Связывание функций - Соедините фронтенд и бэкенд ветки для full-stack разработки
  • 💬 Общие ИИ-сессии - Продолжайте ИИ-разговоры между разными worktree

Как это работает

  1. Выберите исходный Worktree - Выберите worktree, в котором работаете
  2. Подключитесь к цели - Кликните на иконку соединения и выберите другой worktree
  3. Двунаправленная связь - Оба worktree узнают друг о друге
  4. Обновления в реальном времени - Видите изменения в соединённых worktree по мере их возникновения

Возможности соединений

  • Живая синхронизация - Изменения файлов в одном worktree отображаются в панели соединений
  • Быстрое переключение - Переход между соединёнными worktree одним кликом
  • Просмотр различий - Сравнение файлов между соединёнными worktree
  • Общий терминал - Выполнение команд, затрагивающих оба worktree
  • Общий ИИ-контекст - ИИ-сессии могут ссылаться на код соединённого worktree
  • Индикаторы статуса - Просмотр статуса сборки, тестов и изменений в соединённых worktree
  • История соединений - Отслеживание, какие worktree были соединены и когда
  • Умные предложения - Hive предлагает релевантные worktree для соединения на основе вашего workflow

Примеры использования

Разработка функций: Соедините ветку функции с main для проверки совместимости и просмотра интеграции изменений.

Исправление ошибок: Соедините worktree исправления с продакшен-веткой для проверки работоспособности в контексте.

Ревью кода: Соедините worktree ревьюера и автора для обсуждения изменений с полным контекстом с обеих сторон.

Full-stack разработка: Соедините фронтенд и бэкенд worktree для одновременной работы над API и интерфейсом с идеальной координацией.

Рефакторинг: Соедините старую и новую реализации для обеспечения паритета функций при крупном рефакторинге.

Смотрите в действии

Демо Hive — оркестрация ИИ-агентов между проектами
Больше скриншотов

Hive — ИИ-сессия кодирования с git worktree ИИ-сессии кодирования с интегрированным управлением git worktree

Создание нового worktree Визуальное создание и управление worktree

Дерево файлов со статусом git Файловый менеджер с индикаторами статуса git в реальном времени

Витрина тем Красивые темы на любой вкус

Сообщество и поддержка

Документация Issues Обсуждения Участие Безопасность

Получить помощь

Ресурсы

Дорожная карта

🚀 Скоро

  • Кроссплатформенная поддержка — Сборки для Windows и Linux
  • Система плагинов — Расширяйте Hive собственными интеграциями
  • Облачная синхронизация — Синхронизация настроек, сессий и шаблонов соединений между устройствами
  • Командные функции — Делитесь worktree и сотрудничайте в реальном времени
  • Визуализация графа Git — Визуальная история веток и слияний
  • Профилирование производительности — Встроенные инструменты оптимизации

🎯 Видение будущего

  • Удалённая разработка — Разработка через SSH и контейнеры
  • Трёхсторонние соединения — Визуальное соединение и слияние нескольких веток
  • Интеграция CI/CD — Мониторинг GitHub Actions, GitLab CI, Jenkins
  • Автоматизация соединений — Автосоединение связанных веток на основе паттернов
  • Режим ревью кода — Специальный тип соединения, оптимизированный для ревью
  • Отслеживание времени — Аналитика активности по worktree и соединениям

Хотите повлиять на дорожную карту? Присоединяйтесь к обсуждению или внесите вклад!


Разработка

Требования

  • Node.js 20+
  • pnpm 9+
  • Git 2.20+ (поддержка worktree)

Настройка

git clone https://github.com/anomalyco/hive.git
cd hive
pnpm install
pnpm dev

Терминал Ghostty (опционально)

Hive включает опциональный нативный терминал на основе libghostty от Ghostty. Требуется только для работы над встроенной функцией терминала.

Настройка:

  1. Соберите libghostty из исходного кода Ghostty (инструкции по сборке):

    cd ~/Documents/dev
    git clone https://github.com/ghostty-org/ghostty.git
    cd ghostty
    zig build -Doptimize=ReleaseFast

    Это создаёт macos/GhosttyKit.xcframework/macos-arm64_x86_64/libghostty.a.

  2. Если ваш репозиторий Ghostty находится в ~/Documents/dev/ghostty/, сборка найдёт его автоматически. Иначе укажите путь:

    export GHOSTTY_LIB_PATH="/path/to/libghostty.a"
  3. Пересоберите нативный аддон:

    cd src/native && npx node-gyp rebuild

Если libghostty недоступен, Hive всё равно собирается и запускается — функция терминала Ghostty просто будет отключена.

Команды

Команда Описание
pnpm dev Запуск с hot reload
pnpm build Продакшен-сборка
pnpm lint Проверка ESLint
pnpm lint:fix Автоисправление ESLint
pnpm format Форматирование Prettier
pnpm test Запуск всех тестов
pnpm test:watch Режим наблюдения
pnpm test:e2e E2E-тесты Playwright
pnpm build:mac Пакет для macOS

Архитектура

Hive использует трёхпроцессную модель Electron со строгой песочницей:

┌─────────────────────────────────────────────────────┐
                  Главный процесс                     
               (Node.js + SQLite)                     
                                                      
  ┌──────────┐ ┌──────────┐ ┌───────────────────┐   
   Database      Git       Agent SDK Mgr       
   Service     Service     (ИИ-сессии)         
  └──────────┘ └──────────┘ └───────────────────┘   
                                                     
              ┌───────┴───────┐                       
               Обработчики                          
                   IPC                              
              └───────┬───────┘                       
└──────────────────────┼──────────────────────────────┘
                        Типизированный IPC
┌──────────────────────┼──────────────────────────────┐
              ┌───────┴───────┐                       
                  Preload                           
                  (Мост)                            
              └───────┬───────┘                       
└──────────────────────┼──────────────────────────────┘
                        API window.*
┌──────────────────────┼──────────────────────────────┐
               Процесс рендеринга                     
              (React + Tailwind)                      
                                                      
  ┌──────────┐ ┌──────────┐ ┌───────────────────┐   
   Zustand     shadcn/      Компоненты         
   Stores      ui          (14 доменов)        
  └──────────┘ └──────────┘ └───────────────────┘   
└─────────────────────────────────────────────────────┘

Структура проекта

src/
├── main/                  # Главный процесс Electron (Node.js)
   ├── db/                # База данных SQLite + схема + миграции
   ├── ipc/               # Модули обработчиков IPC
   └── services/          # Git, AI agents, логгер, файловые сервисы
├── preload/               # Мостовой слой (типизированные API window.*)
└── renderer/src/          # React SPA
    ├── components/        # UI по доменам
    ├── hooks/             # Пользовательские React hooks
    ├── lib/               # Утилиты, темы, помощники
    └── stores/            # Управление состоянием Zustand

Технологический стек

Слой Технология
Фреймворк Electron 33
Фронтенд React 19
Язык TypeScript 5.7
Стили Tailwind CSS 4 + shadcn/ui
Состояние Zustand 5
БД better-sqlite3 (режим WAL)
ИИ OpenCode, Claude Code, Codex
Git simple-git
Сборка electron-vite

Документация

Подробная документация в docs/:

Участие

Мы рады вкладам! Hive создан разработчиками для разработчиков, и мы приветствуем улучшения любого рода.

Способы участия

  • 🐛 Сообщайте об ошибках с чёткими шагами воспроизведения
  • 💡 Предлагайте функции, которые улучшат ваш workflow
  • 📝 Улучшайте документацию, помогая другим начать
  • 🎨 Присылайте улучшения UI/UX для лучшей юзабилити
  • 🔧 Исправляйте ошибки из нашего трекера
  • Оптимизируйте производительность критических путей
  • 🧪 Добавляйте тесты для улучшения покрытия
  • 🌐 Переводите приложение на ваш язык

Перед участием прочитайте наши Руководство по участию и Кодекс поведения.

Краткое руководство по участию

  1. Форкните репозиторий
  2. Создайте ветку функции (git checkout -b feature/amazing-feature)
  3. Внесите изменения
  4. Запустите тесты (pnpm test) и линтинг (pnpm lint)
  5. Закоммитьте с описательным сообщением
  6. Запушьте в свой форк
  7. Откройте Pull Request

Подробнее в CONTRIBUTING.md.

Лицензия

MIT © 2024 morapelker

Hive — это программное обеспечение с открытым исходным кодом, лицензированное по лицензии MIT. Подробности в файле LICENSE.