Grasp: управление несколькими проектами в одном визуальном пространстве
Grasp — инструмент для управления несколькими проектами и параллельными кодирующими агентами в одном визуальном пространстве.
Проект решает проблемы неэффективности, возникающие при переключении между проектами и трудностей с читабельностью вывода от многоагентных систем. Grasp представляет собой визуальный рабочий процесс, который упрощает контроль над кодом и процессами, включая возможности подтверждения от человека. Это может пригодиться разработчикам, работающим на нескольких задачах одновременно или использующим автоматизированные инструменты.
Grasp написан на Go и Vue. Для запуска требуется свежая установка с чистой базой данных и пустым каталогом данных. Обратите внимание, что проект находится на начальной стадии, так что могут быть ограничения в функционале.
Grasp — это инструмент для управления рабочими процессами программирования с использованием кодовых агентов и возможностью одобрения человеком. Он предоставляет единое пространство для работы с кодом, что помогает устранить некоторые проблемы, связанные с переключением между проектами и трудностями в чтении выводов агентов.
Почему Grasp?
Проект был создан в ответ на два основных вызова при работе с кодовыми агентами:
- Сложности с переключением между проектами из-за необходимости использовать разные IDE.
- Трудности в восприятии выводов агентов, которые часто представляют собой длинные сообщения, затрудняющие обнаружение важных изменений и вопросов.
Grasp соединяет кодовые агенты в единую рабочую среду, используя графическую модель с конечными состояниями (FSM). Это позволяет уточнять требования перед написанием кода и делает выводы агентов более структурированными и наглядными.
Как установить и запустить
Для работы Grasp необходимо иметь Linux-хост с установленными Git, Docker и Docker Compose. Установка осуществляется следующими командами:
git clone https://github.com/cocofhu/grasp.git
cd grasp
./start.sh -d
После старта доступны следующие интерфейсы:
- Веб-интерфейс / API: http://localhost:8080
- Проверка работоспособности API: http://localhost:8080/api/health
- Проверка работоспособности гейтвера: http://localhost:8899/healthz
Логин по умолчанию: `admin` / `demo1234`.
Функциональные возможности
- Графический редактор рабочих процессов: Поддерживаются шесть типов узлов (агент, ввод, вывод, назначение, ветвление, согласование с человеком), что позволяет настроить иглы для успешного завершения, ошибок и откатов.
- Уточнение требований: Начать задачу можно с одного предложения, а агент поможет уточнить объем с помощью многоэтапного Q&A.
- Человеческие ворота: Подтверждение задач возможно через единый интерфейс, а ссылки для просмотра предоставляются пользователям без аккаунта.
- Изолированные артефакты: Каждый узел должен предоставить необходимые артефакты перед переходом к следующему этапу.
- Работа в Docker: Агенты запускаются в изолированных контейнерах и могут отправлять запросы на создание pull/merge request через Git.
- Мониторинг: Система отслеживает временные переходы состояния, журналы работы и использование токенов в зависимости от рабочего процесса и модели.
Архитектура
Проект состоит из нескольких компонентов:
- Frontend: Веб-интерфейс на Vue 3.
- Backend: Сервер на Go, отвечающий за управление рабочими процессами и предоставляющий API.
- Sandbox: Контроллер для управления жизненным циклом песочницы, где работают агенты.
Система использует SQLite для хранения данных и позволяет изолировать данные различных запусков.
Grasp — это полезный инструмент для разработчиков, который помогает управлять процессом программирования с поддержкой кодовых агентов и делает рабочие процессы более структурированными и управляемыми.
Открыть на GitHub: cocofhu/grasp →
RepoRadar