6.3 KiB
Balda — удалённый агент по SSH
Обновлено: 2026-10-18. Исходная задача: Balda работает с оригинальными Prism/Beads по подключённым проектам и запускает штатного агента в другой среде; подключение нового репозитория требует подтверждения владельца. Проверка: personal/projects/balda/ssh-acp-verification-2026-10-18. Рабочая установка: personal/projects/balda/setup.
Принятая граница
Максимально использовать штатный стек Balda: провайдеры ACP, сессии, управление задачами, MCP, skills и подтверждения. Prism, Prism Callee, Callee и Beads — оригинальные, с сохранением их собственных контрактов.
Balda → штатный generic_acp → ssh -T → штатный ACP-агент в другой среде
Единый способ связи — SSH: контейнер, VM или физический хост отличаются окружением, а не протоколом запуска. macOS-окружения предоставляет Virfield через его MCP. Штатный агент выполняет работу в выданном workspace; Balda сохраняет управление беседой и сессией.
Что проверено
- Штатная фабрика Balda запускает
sshчерезgeneric_acp.cmdи передаёт ACP. - Реальный OpenCode создаёт и возобновляет сессию после повторного SSH.
- Контрольный ACP-агент получает штатное решение Balda разрешить или отклонить действие.
- Контрольный удалённый агент вызывает настоящий MCP-инструмент.
- Штатные тесты Balda подтверждают Mattermost review, защиту от чужого ответа и timeout.
- Воспроизведены локальная проверка cwd и требования к достижимости MCP.
Для передачи ACP новая реализация broker-acp не требуется: базовый путь уже проверен.
Дополнительный код допустим только для конкретного воспроизведённого пробела интеграции; прикладные сценарии и учёт фаз Prism остаются в штатном стеке.
Следующие конкретные действия
- Я настрою для выбранной среды SSH-профиль с отдельной identity, закреплённым host key и ограниченным пользователем.
- Я предоставлю среде только подтверждённый проект и проверю фактический доступ к его файлам и исходному состоянию Beads; отдельно проверю отказ доступа к соседнему проекту и секретам хоста.
- Я приведу пути workspace к совместимому виду и настрою достижимые из среды адреса выбранных MCP; проверю чтение статуса через
bdи вызов MCP. - Я подготовлю в среде штатный ACP-агент, его собственную авторизацию и оригинальные skills/tools, затем добавлю в Balda отдельный
generic_acpprovider с командой SSH. - Я настрою запросы разрешений у агента и штатный
askв Balda, затем проверю реальный рабочий цикл Prism, отказ, отмену и продолжение той же сессии.
Это оставшаяся работа, а не уже выполненный deployment.
Права и репозитории
Подтверждение подключения репозитория, подтверждение действия агента и файловая изоляция — три отдельные проверки.
Агент не получает полномочий самостоятельно выдавать себе доступ к новому проекту.
Весь каталог Developer не передаётся Balda или исполнителю.
Исходная БД Beads соответствующего проекта остаётся источником статусов; Git-клон сам по себе не доказывает наличие актуального состояния Beads.
Механизм выдачи доступа к реальным проектам и их БД ещё требует настройки и приёмки.
Текущее состояние и границы
Основная Balda получила оригинальные Prism/Prism Callee, bd, Callee и прямой Virfield MCP; это установка инструментов, а не приёмка удалённого исполнения.
В рабочем конфиге остаётся permissions.mode: allow_all; SSH-проверка production-конфиг, историю и авторизацию не меняла.
Полный Prism lifecycle с моделью и реальные удалённые Claude/Codex этой проверкой не приняты.
Новая ветка: broker-rebuild, worktree /Users/admin/.codex/worktrees/broker-rebuild/execution-broker.
Она начата с пустого дерева коммитом 1fd7f57; сейчас есть только незакоммиченный README, реализации нового брокера нет.
Старые execution-broker, execution-prism и plugin остаются в действующей Balda; очистка новой ветки не удаляла их из deployment.
Историческая приёмка прежнего брокера: personal/plans/balda-callee-prism-plan.