Skip to content

Latest commit

 

History

History
421 lines (313 loc) · 30 KB

File metadata and controls

421 lines (313 loc) · 30 KB
Hive

Hive

Оркестратор AI-агентів з відкритим кодом для паралельного програмування між проєктами.

Запускайте сесії 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 Windows Linux Node.js Electron TypeScript Ліцензія PR вітаються


Зміст

Встановлення

Hive підтримує macOS, Windows та Linux.

macOS

Через Homebrew (рекомендовано)

brew install --cask hive-app

Пряме завантаження

Завантажте останній .dmg з GitHub Releases.

Windows

Завантажте останній .exe з GitHub Releases.

Linux

Завантажте останній .AppImage або .deb з GitHub Releases.


Ось і все! Відкрийте Hive та вкажіть на git-репозиторій.

Що таке Hive?

Якщо ви запускаєте кількох AI-агентів для кодування в різних проєктах і гілках, ви знаєте цей біль — шість відкритих вкладок терміналу, ви не пам'ятаєте, який агент над чим працює, і хвилюєтесь, що двоє з них редагують ті самі файли.

Hive — це оркестратор AI-агентів. Бачите всіх запущених агентів в одній бічній панелі, клацаєте для перемикання між ними, і кожен працює в ізольованій гілці git worktree, тому вони не можуть конфліктувати. Підключайте кілька репозиторіїв, щоб одна сесія агента мала контекст усього вашого стеку.

Можливості

🌳 Workflow на основі Worktree

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

🤖 Вбудовані сесії AI-кодування

Запускайте AI-агентів для кодування прямо в Hive з підтримкою OpenCode, Claude Code та Codex. Стрімте відповіді в реальному часі, спостерігайте за викликами інструментів та затверджуйте дозволи за потреби. Повна підтримка скасування/повтору тримає вас під контролем.

📁 Розумний файловий менеджер

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

🔧 Повна інтеграція з Git

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

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

Групуйте пов'язані проєкти та worktree в логічні робочі простори. Закріплюйте обрані для швидкого доступу. Підтримуйте порядок у середовищі розробки зі зростанням.

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

Швидка навігація та дії за допомогою гарячих клавіш. Натисніть Cmd+K, щоб миттєво отримати доступ до будь-якої функції. Шукайте сесії, перемикайте worktree або виконуйте команди без миші.

🎨 Гарні теми

Обирайте з 10 ретельно розроблених тем — 6 темних і 4 світлі. Миттєве перемикання під ваші вподобання або час доби. Автоматичне слідування системній темі за бажанням.

🔌 З'єднання Worktree

З'єднайте два worktree для спільного використання контексту, порівняння реалізацій або співпраці в реальному часі. Ідеально для ревю змін між гілками, обміну AI-сесіями між 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» → Оберіть гілку
AI-допомога в кодуванні Термінал + окремий AI-інструмент + копіювати/вставити Вбудовані AI-сесії з повним контекстом
Перегляд змін файлів git statusgit diff file.ts Візуальне дерево з інлайн-diff
Порівняння гілок Кілька вкладок терміналу, копіювати/вставити З'єднайте worktree для спільного контексту
Знайти worktree cd ~/projects/... → пам'ятати імена директорій Усі worktree в одній бічній панелі
Очищення worktree git worktree removerm -rf directory Клік «Архівувати» → Все робиться автоматично

Швидкий старт

Почніть роботу менш ніж за 2 хвилини:

1️⃣ Додайте перший проєкт

Відкрийте Hive → Натисніть «Add Project» → Оберіть будь-який git-репозиторій на вашому комп'ютері

2️⃣ Створіть Worktree

Оберіть проєкт → Натисніть «New Worktree» → Оберіть гілку (або створіть нову)

3️⃣ Почніть кодувати з AI

Відкрийте worktree → Натисніть «New Session» → Почніть кодувати з OpenCode, Claude або Codex

💡 Порада: Натисніть Cmd+K будь-коли, щоб відкрити палітру команд і швидко навігувати!

📖 Читати повний посібник | ⌨️ Гарячі клавіші

🔌 З'єднання Worktree — Революція

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

Що таке З'єднання Worktree?

З'єднайте будь-які два worktree для:

  • 🔄 Спільний контекст - Миттєвий доступ до файлів та змін іншої гілки
  • 🤝 Співпраця - Робота над пов'язаними функціями з оновленнями в реальному часі
  • 📊 Порівняння - Перегляд відмінностей між реалізаціями пліч-о-пліч
  • 🎯 Довідка - Тримайте основну гілку на виду під час роботи над функціями
  • 🔗 Зв'язування функцій - З'єднайте фронтенд та бекенд гілки для full-stack розробки
  • 💬 Спільні AI-сесії - Продовжуйте AI-розмови між різними worktree

Як це працює

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

Можливості з'єднань

  • Жива синхронізація - Зміни файлів в одному worktree відображаються в панелі з'єднань
  • Швидке перемикання - Перехід між з'єднаними worktree одним клацанням
  • Перегляд відмінностей - Порівняння файлів між з'єднаними worktree
  • Спільний термінал - Виконання команд, що впливають на обидва worktree
  • Спільний AI-контекст - AI-сесії можуть посилатися на код з'єднаного worktree
  • Індикатори статусу - Перегляд статусу збірки, тестів та змін у з'єднаних worktree
  • Історія з'єднань - Відстеження, які worktree були з'єднані і коли
  • Розумні пропозиції - Hive пропонує релевантні worktree для з'єднання на основі вашого workflow

Приклади використання

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

Виправлення помилок: З'єднайте worktree виправлення з продакшен-гілкою для перевірки працездатності в контексті.

Ревю коду: З'єднайте worktree рев'юера та автора для обговорення змін з повним контекстом з обох сторін.

Full-stack розробка: З'єднайте фронтенд та бекенд worktree для одночасної роботи над API та інтерфейсом з ідеальною координацією.

Рефакторинг: З'єднайте стару та нову реалізації для забезпечення паритету функцій при великому рефакторингу.

Дивіться в дії

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

Hive — AI-сесія кодування з git worktree AI-сесії кодування з інтегрованим керуванням git worktree

Створення нового worktree Візуальне створення та керування worktree

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

Вітрина тем Гарні теми на будь-який смак

Спільнота та підтримка

Документація Issues Обговорення Внесок Безпека

Отримати допомогу

Ресурси

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

🚀 Незабаром

  • Система плагінів — Розширюйте 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  │ │  (AI-сесії)       │   │
│  └──────────┘ └──────────┘ └───────────────────┘   │
│                      │                               │
│              ┌───────┴───────┐                       │
│              │ Обробники 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 41
Фронтенд React 19
Мова TypeScript 5.7
Стилі Tailwind CSS 4 + shadcn/ui
Стан Zustand 5
БД better-sqlite3 (режим WAL)
AI 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.