Об этом проекте
Swarm — это локальный control plane, предназначенный для разработчиков, запускающих несколько ИИ-агентов кодирования одновременно. Он работает как единый демон на вашей машине, читая хуки, транскрипты и журналы сессий, которые уже создают агенты вроде Claude Code, Codex CLI, Gemini CLI, Grok, Aider и opencode — не требуя никаких изменений инструментации в ваших репозиториях. Все состояние хранится в ~/.swarm/, а панель управления привязывается к 127.0.0.1, поэтому ничего не покидает вашу машину, учетная запись не нужна, и он работает офлайн.
Основная ценность — наблюдаемость и координация. Представление Fleet показывает все сессии во всех проектах в реальном времени: какой агент запущен, в какой ветке, что он делает прямо сейчас, модель, выходные токены, размер контекста, стоимость и возраст. Сессия, которая начинает повторять неудачную команду, получает значок Stuck и уведомление на рабочем столе. Представление Session транслирует рассуждения агента и вызовы инструментов в реальном времени, с стоимостью за ход, долей попаданий в кэш, долей размышлений и гистограммой инструментов. Replay пошагово воспроизводит вызовы инструментов с полным вводом и выводом, а завершенную сессию можно возобновить с места остановки.
Board служит координационным реестром для проекта. Он отслеживает задачи из markdown-бэклога, GitHub Issues или Linear, с гейтами pass/fail и действиями Run/Dispatch. Заявки на задачи хранятся в изолированных git worktree, каждая с веткой, дрейфом, состоянием dirty/unpushed и сессией внутри. Ресурсы времени выполнения — порты, dev-серверы, базы данных — хранятся как именованные синглтоны. Инциденты записывают каждую команду, о которой правила спрашивали или которую запретили, с действием Codify, превращающим её в правило .swarm.toml и урок в CLAUDE.md.
Правила — это ограничения на Bash-команды, которые выполняет сессия Claude Code: shared_tree, destructive_git, pattern_kill, protected_ports, no_foreign_worktree и claim_required_to_write. Каждое устанавливается в ask, deny или off для каждого репозитория в .swarm.toml. Отказ возвращается Claude Code как реальный отказ в разрешении. Порты, удерживаемые как ресурсы, защищаются автоматически. Это защита от случайностей, а не песочница.
Swarm также может порождать агентов: swarm run --task X заявляет задачу и порождает claude -p в её worktree, управляемый через stdin и останавливаемый по pid. swarm dispatch --ready передает каждую доступную задачу своему запуску, N за раз. Профили запуска (full, no-edits, read-only) сужают, что может делать порожденный агент. Гейты, объявленные в .swarm.toml, выполняются в worktree задачи — выход 0 означает проход, хвост вывода — доказательство. Каждая сессия, которая приостанавливается, оставляет авто-передачу с измененными файлами, последней командой проверки и последним запросом; следующая сессия в этом worktree получает её при старте.
Агент, столкнувшийся с решением, которое может принять только человек, вызывает swarm_ask; вопрос отображается на странице сессии с кнопками-вариантами, Fleet показывает значок Asking, срабатывает уведомление на рабочем столе, и ответ достигает агента сам. Декларативные рабочие процессы в .swarm.toml продвигаются автоматически: шаги run порождают агента, шаги gate должны пройти для продолжения, а pr пушит ветку и открывает pull request. Обмен сообщениями между агентами через swarm_send достигает другой сессии по id, того, кто держит задачу, или ведущей сессии.
Представление PRs предоставляет единую очередь слияния для GitHub и GitLab, читаемую через уже аутентифицированный CLI gh или glab. Токены не хранятся. Timeline показывает дорожки сессий для каждого проекта, окрашенные по агенту, за 3–72 часа. Spend и Stats разбивают стоимость по проекту, модели, агенту и задаче, с таблицей бюджета контекста, ранжирующей сессии по объему перечитанного контекста. Бюджеты на репозиторий обеспечивают дневные или недельные лимиты, которые предупреждают, спрашивают или останавливают. Outcomes отслеживают, выжила ли работа: сессии соединяются с веткой, ветка с её PR, PR с merged или reverted, с оценкой по модели и агенту по скорости слияния, медианному времени до слияния и долларам за слияние. Живой двудольный граф показывает запущенные сессии против файлов, которые они трогают; файл, удерживаемый двумя сессиями с хотя бы одним писателем, становится красным — конфликт слияния, который еще можно предотвратить.
Swarm доступен как CLI (bunx @ra3orblade/swarm setup), десктопное приложение (macOS подписано и нотаризовано, Windows, Linux .deb/.rpm) и MCP-сервер, позволяющий агентам координироваться самим. Демон команды (swarm-teamd) — это самохостинговый второй сервис для многомашинных настроек, пересылающий события аудита, сводки расходов и заявки — никогда текст транскриптов, если машина не согласится. Пакет team доступен в исходниках под FSL-1.1-ALv2, конвертируясь в Apache-2.0 через два года после каждого релиза; всё остальное — Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.