Files
obsidian-vault/personal/plans/balda-remote-agent.md
T

62 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 — оригинальные, с сохранением их собственных контрактов.
```text
Balda → штатный generic_acp → ssh -T → штатный ACP-агент в другой среде
```
Единый способ связи — SSH: контейнер, VM или физический хост отличаются окружением, а не протоколом запуска.
macOS-окружения предоставляет Virfield через его MCP.
Штатный агент выполняет работу в выданном workspace; Balda сохраняет управление беседой и сессией.
## Что проверено
- [x] Штатная фабрика Balda запускает `ssh` через `generic_acp.cmd` и передаёт ACP.
- [x] Реальный OpenCode создаёт и возобновляет сессию после повторного SSH.
- [x] Контрольный ACP-агент получает штатное решение Balda разрешить или отклонить действие.
- [x] Контрольный удалённый агент вызывает настоящий MCP-инструмент.
- [x] Штатные тесты Balda подтверждают Mattermost review, защиту от чужого ответа и timeout.
- [x] Воспроизведены локальная проверка cwd и требования к достижимости MCP.
Для передачи ACP новая реализация `broker-acp` не требуется: базовый путь уже проверен.
Дополнительный код допустим только для конкретного воспроизведённого пробела интеграции; прикладные сценарии и учёт фаз Prism остаются в штатном стеке.
## Следующие конкретные действия
1. Я настрою для выбранной среды SSH-профиль с отдельной identity, закреплённым host key и ограниченным пользователем.
2. Я предоставлю среде только подтверждённый проект и проверю фактический доступ к его файлам и исходному состоянию Beads; отдельно проверю отказ доступа к соседнему проекту и секретам хоста.
3. Я приведу пути workspace к совместимому виду и настрою достижимые из среды адреса выбранных MCP; проверю чтение статуса через `bd` и вызов MCP.
4. Я подготовлю в среде штатный ACP-агент, его собственную авторизацию и оригинальные skills/tools, затем добавлю в Balda отдельный `generic_acp` provider с командой SSH.
5. Я настрою запросы разрешений у агента и штатный `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]].