Machinist: создание инфраструктуры для кодирующих агентов на локальной машине
Machinist — это open-source решение для создания инфраструктуры программных фабрик, ориентированной на продвинутые AI-потоки разработки кода. Проект предлагает возможность запуска агентов кодирования на локальной машине или инфраструктуре с использованием виртуальных машин и Kubernetes, аккуратно управляя доступом к репозиториям и учетным данным.
Основная задача Machinist — обеспечить контролируемую среду для запуска кодирующих агентов, таких как Codex или Claude Code, с возможностью записи всего рабочего процесса от запроса до передачи результата. Главное отличие от альтернатив — это возможность сохранять конфиденциальную информацию, такую как учетные данные и настройки модели, локально на рабочем узле, что повышает безопасность и управляемость.
Проект написан на Go, и его можно запустить следующим образом: клонируй репозиторий, затем собери и инициализируй Machinist с помощью команды go build. Имей в виду, что это ранняя версия, и программное обеспечение может изменяться.
Проект Machinist представляет собой реализацию программной фабрики с открытым исходным кодом. Он работает на твоем компьютере и обеспечивает локальный доступ к репозиториям и учетным данным, а также фиксирует работу от запроса до завершения. С его помощью можно запускать команды, которые вызывают Codex, Claude Code, другие CLI-агенты, тестовые раннеры и скрипты. Первоначальное состояние программного продукта все еще на стадии доступа и может изменяться.
Зачем нужен Machinist
- Контролируемая точка входа. Работники предоставляют доступные команды и репозитории, исключая произвольные текстовые команды и пути на локальных машинах.
- Приведи свое окружение. Можно использовать любое исполняемое приложение, которое принимает ввод через стандартный поток.
- Храни полномочия локально. Все настройки, учетные данные и конфигурации остаются на стороне работника.
- Мониторинг каждой операции. Система фиксирует результаты выполнения, события и артефакты, а также оценивает временные затраты и использование ресурсов.
- Рецензия перед слиянием. По мере необходимости можно утверждать спецификации и проводить независимый обзор перед слиянием pull request.
Как установить и запустить
Чтобы начать работу с Machinist, выполни следующие команды:
git clone https://github.com/owainlewis/machinist.git
cd machinist
mkdir -p ./bin && go build -o ./bin/machinist ./cmd/machinist
./bin/machinist init
Затем, чтобы запустить приложение, используй:
./bin/machinist start
После этого открой указанный локальный URL, подключи свой GitHub App, выбери репозиторий и агента, и проверь соединение с PING. Агенты могут работать на твоем компьютере, виртуальной машине (VM) или на кластере Kubernetes.
Работа с несколькими проектами
Чтобы добавить новый репозиторий, открой раздел Projects → Add project. Эта операция сохранит существующие проекты и настройки. Каждый репозиторий будет иметь отдельную копию, а запуски и автоматизации будут выбирать из уже настроенного списка. Для обновления списка репозиториев и доступа ты можешь использовать функцию Manage GitHub access.
Как осуществляется выполнение задач
Выбери опцию New run для описания работы или связывания с GitHub issue. Доступны два режима выполнения:
- Стандартный конвейер: включает этапы Triage, необязательную спецификацию, сборку и независимый обзор. Спецификации требуют утверждения, а результаты обзора отправляются обратно в тот же репозиторий.
- Единый агент: один агент завершает задачу с начала до конца. Такой режим подходит для одноразовых задач и автоматизаций.
Требуемые коды и документы отправляются через pull request, в то время как запросы без изменений файлов могут возвратить результат напрямую.
Ограничения и специальные возможности
Machinist предлагает различные настройки и функции, такие как управление проектами через GitHub, но нет возможности редактирования пользовательских рабочих процессов. Также необходимо учитывать, что это программное обеспечение находится на раннем этапе развития, и некоторые функции могут изменяться. Важно делать резервные копии рабочей директории, включая выходные данные рабочих процессов. Если возникает необходимость в автоматизации, поддерживаются функции сохранения и запуска работ вручную или по расписанию.
Открыть на GitHub: owainlewis/machinist →
RepoRadar