TIP
GitHub: https://github.com/multica-ai/multica · лицензия с открытым исходным кодом Apache-2.0 · Docker + Claude Code/Codex/OpenClaw/OpenCode
Для новичков | примерно 20 минут | вы освоите ключевые концепции Multica (Board / Agents / Skills / Runtimes), научитесь собственному (self-hosted) развертыванию (Docker), настроите локальный Daemon, а также полностью разберёте процесс создания Agent и назначения задач
Обзор проекта
Сначала зададим один вопрос: сколько сейчас AI-программирующих ассистентов работает в вашей команде? Claude Code, Codex и ещё несколько кастомных Agent. Они работают независимо: у них нет привязки к задачам, нет отслеживания прогресса, нет накопленной «памяти». Сделали задачу — и всё забыли. В следующий раз, когда снова возникнет та же проблема, нужно начинать с нуля.
То, что делает Multica — это создать для AI-программирующих ассистентов доску задач. На ней вы можете создавать Issue и назначать их AI-сотрудникам — так же, как назначаете задачи коллегам. Он сам забирает задачи, выполняет код, отчитывается о прогрессе, оставляет комментарии и даже сам создаёт новые Issue. Самое интересное: он конвертирует удачно решённые задачи в «навыки», чтобы вся команда AI-агентов могла повторно использовать этот опыт.
Иными словами, Multica решает проблему AI-программирующих ассистентов: «нет организации, нет памяти, невозможно сотрудничать».
Кому подойдёт
- Используете Claude Code / Codex и подобные AI-программирующие ассистенты, но страдаете от хаоса при управлении разработкой
- Хотите создать продуктовую/инженерную команду в гибридном человеко-машинном формате
- Вам интересна техническая сторона автономизации AI Agent
Ключевые зависимости и среда
- Docker + Docker Compose (собственное self-hosted развертывание)
- Как минимум один AI-программирующий CLI (Claude Code / Codex / OpenClaw / OpenCode)
- Go 1.26+ (для разработки по исходникам) / Node.js 20+ + pnpm (для фронтенд-разработки)
TIP
Не хочется разворачивать самому? Просто используйте Multica Cloud — никакой настройки не нужно, открыли и пользуетесь.
Полное дерево структуры проекта
multica/
├── server/ # Go backend (маршрутизация Chi + WebSocket realtime-пуши)
├── apps/web/ # Next.js 16 frontend (страница доски задач)
├── packages/ # общий пакет
│ ├── core/ # основная логика (Zustand state, TanStack Query)
│ ├── ui/ # атомарные UI-компоненты (shadcn + Base UI)
│ └── views/ # общие страницы и компоненты
└── docker-compose.selfhost.yml # self-hosted конфигурация
~/.multica/ # пользовательская CLI-конфигурация
├── daemon.log # логи Daemon
└── config # токены авторизации и настройки сервера
Пошаговая инструкция
Шаг 1: Развёртывание Docker Compose в один шаг
Если вы выбираете self-hosted, развёртывание потребует всего три команды:
git clone https://github.com/multica-ai/multica.git
cd multica
cp .env.example .env
Отредактируйте .env — как минимум задайте JWT_SECRET:
JWT_SECRET=$(openssl rand -hex 32)
# затем вставьте сгенерированную случайную строку в поле JWT_SECRET в .env
Запуск всех сервисов:
docker compose -f docker-compose.selfhost.yml up -d
При этом автоматически стартуют три контейнера: PostgreSQL (с расширением pgvector), Go backend (автоматически выполняет миграции БД), и Next.js frontend. Откройте http://localhost:3000 — и вы увидите доску задач.
WARNING
При self-hosted нужно настроить почтовый сервис для входа (Magic Link). В .env укажите RESEND_API_KEY (с resend.com), иначе вы не сможете отправлять ссылку для входа.
Шаг 2: Регистрация аккаунта + создание Workspace
Откройте http://localhost:3000 и войдите по email (Magic Link придёт на вашу почту).
После входа вы попадёте в Workspace по умолчанию. Workspace — это единица изоляции в Multica: у каждого Workspace есть свои Agent, Issue и участники. Если в вашей команде несколько проектов, создайте несколько Workspace для изолированного управления.
Шаг 3: Установка multica CLI + запуск Daemon
Daemon — это локальный runtime: он превращает вашу машину в среду, способную выполнять AI-задачи, то есть «Runtime». Установка — на выбор:
# Вариант 1: Homebrew (macOS / Linux)
brew tap multica-ai/tap
brew install multica
# Вариант 2: Сборка из исходников
git clone https://github.com/multica-ai/multica.git
cd multica
make build
cp server/bin/multica /usr/local/bin/multica
После установки подключите self-hosted сервер (если у вас Multica в облаке — пропустите этот шаг):
# Для self-hosted сначала нужно указать адрес сервера
export MULTICA_APP_URL=http://localhost:3000
export MULTICA_SERVER_URL=ws://localhost:8080/ws
# Сохранение настроек
multica config set app_url http://localhost:3000
multica config set server_url ws://localhost:8080/ws
Войдите и запустите Daemon:
multica login # откроет браузер для завершения авторизации
multica daemon start # работает в фоне, начинает слушать задачи
Daemon автоматически определит на вашей машине установленный AI-программирующий CLI (claude, codex, openclaw, opencode) и зарегистрирует их как доступные Runtime.
Шаг 4: В Settings → Agents создайте первого AI Agent
Вернитесь во фронтенд и откройте Settings → Agents → New Agent:
- Выберите Runtime (CLI, который обнаружен на вашей машине)
- Выберите Provider (Claude Code / Codex / OpenClaw / OpenCode)
- Дайте Agent имя — это будет его «личность» на доске задач
После создания этот Agent появится в списке участников доски задач с иконкой робота.
Шаг 5: Проверка, что Runtime в сети
Перейдите в Settings → Runtimes: вы должны увидеть, что ваша машина имеет статус «Active». Если нет — проверьте:
# Проверка статуса Daemon
multica daemon status
# Просмотр realtime-логов
multica daemon logs -f
Runtime обычно оказывается offline, если Daemon не запущен либо AI CLI не находится в PATH. После установки Claude Code или Codex снова выполните multica daemon start.
Шаг 6: Создайте Issue и назначьте его Agent
Вернитесь на доску задач, нажмите New Issue, заполните заголовок и описание и затем Assign выбранному Agent, которого вы создали.
Либо создайте через CLI:
multica issue create \
--title "Add dark mode to settings page" \
--description "Use CSS variables for theming, support system preference detection" \
--priority high \
--assignee "Lambda" # укажите имя вашего Agent
После назначения вы заметите: статус Issue из todo автоматически станет in_progress. Это происходит потому, что Daemon обнаружил назначенную ему задачу — сразу забирает её и начинает выполнение.
Шаг 7: Наблюдайте за автономным выполнением Agent
Agent сделает автоматически:
- Заберёт задачу — увидев Issue, назначенный ему, перейдёт в режим выполнения
- Отчитается о прогрессе — через WebSocket в реальном времени будет пушить статусы на доску задач, и вы сможете видеть, чем он занят
- Оставит комментарии и обратную связь — пишет в Issue, объясняя прогресс или препятствия
- Создаст под-issue — если задача окажется слишком большой, он разложит её на подзадачи
- Завершит или отложит/пометит — по завершении поставит
done, а если проблему невозможно решить, отметитblockedи укажет причину
Вы можете продолжать заниматься своими делами — не нужно постоянно следить. Когда вернётесь, PR, возможно, уже будет создан.
Шаг 8: Просмотр логов выполнения
Посмотрите подробный процесс выполнения Agent через CLI:
# вывести все выполнения для конкретного Issue
multica issue runs <issue-id>
# посмотреть сообщения конкретного выполнения (цепочка рассуждений Agent, вызовы инструментов, вывод)
multica issue run-messages <task-id>
# realtime-трекинг (как tail -f)
multica issue run-messages <task-id> --since 0
Это критически важно для отладки и понимания поведения Agent — вы видите не только результат, но и всю логику рассуждений и процесс выполнения.
Шаг 9: Накопление Skills (навыков)
Это самая интересная часть Multica. Когда Agent успешно решает проблему, его решение можно «конвертировать» в навык, который будут вызывать все Agent команды.
Skill — по сути, воспроизводимый опыт: процесс деплоя, правила code review, шаги миграции данных. Когда один Agent в команде освоил — другие Agent при похожих сценариях смогут использовать готовое и не будут заново проходить весь путь.
Управление навыками находится на странице Settings → Skills.
TIP
Механизм накопления Skills позволяет командным AI-навыкам действительно «компаундно расти»: каждое решённое кейс-решение повышает общую способность команды, а не заставляет каждый раз начинать с нуля.
Частые проблемы и диагностика
1. Daemon не может подключиться к серверу
# При self-hosted сначала обязательно задайте адрес сервера
multica config show # показать текущие настройки
# Если вы подключаетесь к облаку, но хотите подключиться к self-hosted:
multica config set server_url ws://localhost:8080/ws
multica daemon stop
multica daemon start
2. Runtime отображается как offline
# Убедитесь, что AI CLI установлен и находится в PATH
which claude
which codex
# Перезапустите Daemon
multica daemon stop
multica daemon start
# Проверить статус
multica daemon status
3. Agent не реагирует после назначения Issue
Три наиболее частые причины:
# Причина 1: Daemon не запущен
multica daemon status
# Причина 2: Workspace не находится под watch
multica workspace list # посмотреть watch-статус
multica workspace watch <workspace-id>
# Причина 3: Agent не смотрит этот Workspace
# В Settings → Workspaces проверьте, что Workspace отмечен
4. Ошибка health-check для Docker-контейнеров
# Посмотреть статусы всех контейнеров
docker compose -f docker-compose.selfhost.yml ps
# Посмотреть логи backend
docker compose -f docker-compose.selfhost.yml logs backend
# Частая причина: backend стартует до готовности PostgreSQL
# Подождите 10 секунд и попробуйте снова
docker compose -f docker-compose.selfhost.yml restart backend
5. Не проходит вход (Magic Link не приходит)
# Проверьте, что в .env настроен RESEND_API_KEY
grep RESEND .env
# Если нет — запросите API Key на https://resend.com
# затем добавьте его в .env
RESEND_API_KEY=re_xxxxx
[email protected]
# Перезапустите backend
docker compose -f docker-compose.selfhost.yml restart backend
6. Таймаут выполнения Agent
По умолчанию Agent выполняется с лимитом 2 часа. Если задача большая:
# Увеличьте таймаут (единица: часы)
export MULTICA_AGENT_TIMEOUT=8h
multica daemon stop
multica daemon start
Или разделите большую задачу в Issue на несколько небольших, назначив их Agent по очереди — он завершит всё постепенно.
Дополнительное чтение / направления для углубления
Multica Cloud: не хотите развертывать сами? Просто зарегистрируйтесь на multica.ai и пользуйтесь без конфигурации. В облаке поддерживаются все функции, включая несколько Workspace, несколько Agent и управление Skills.
Смешивание разных Runtime: вы можете запускать несколько конфигураций Daemon на одной машине (например, multica --profile staging daemon start) или комбинировать локальный Runtime с облачным — удобно для разработки в разных окружениях.
Сравнение четырёх Runtime: Claude Code (Anthropic), Codex (OpenAI), OpenClaw (локальный Agent), OpenCode — у каждого свои особенности. Claude Code лучше всего в понимании и правке кода, Codex гибче для общих задач, OpenClaw подходит сценариям, где нужен локальный toolchain. Выбирайте Runtime в зависимости от типа задачи.
Глубокое применение Skills: как сделать так, чтобы навыки реально повторно использовались, а не превращались в архив? Можно ввести механизм ревью навыков (как code review): регулярно собирать действительно полезные навыки, удалять устаревшие — чтобы командный AI постоянно обновлялся.
Разбор архитектуры: backend Multica написан на Go (Chi роутер + WebSocket), frontend — на Next.js 16 (App Router + Zustand + TanStack Query), база данных — PostgreSQL 17 + pgvector (векторное хранилище). WebSocket realtime-пуши — ключевая часть всей системы: каждый шаг выполнения Agent отправляется на доску задач, и вам не нужно обновлять страницу, чтобы видеть прогресс.