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

73 lines
8.5 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**.
Отдельный проект доступа к папкам: [[personal/plans/workspace-gateway|Workspace Gateway]], `/Users/admin/Developer/workspace-gateway`, начальный коммит `2bc6743`.
Дополнительная проверка SSH и Seatbelt: [[personal/projects/balda/ssh-seatbelt-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. Я реализую и приму Workspace Gateway в отдельном проекте: листинг папок без файлов, подключение после подтверждения владельца, отключение и временный лизинг; сетевая файловая система обеспечит одни и те же исходные файлы Balda и агентам без перезапуска Balda при каждой выдаче.
2. Я настрою авторизованный SSH из контейнера в реальные среды, проверку host key, ограниченные credentials и штатный `generic_acp` с командой SSH; доступность порта и проверка протокола уже подтверждены, рабочая авторизация ещё не принята.
3. Я настрою запуск агентов и обычных команд на Mac под Seatbelt, начиная со штатных sandbox и готового `anthropics/sandbox-runtime`, и проверю запрет доступа к соседним проектам, секретам и обхода через другой SSH command.
4. Я настрою согласованные пути workspace, достижимые MCP, оригинальные skills/tools и единое состояние Beads для Balda и одновременных агентов, затем включу запросы разрешений у агентов и штатный `ask` Balda.
5. Я проведу реальную приёмку выбранных Codex/Claude/OpenCode и оригинального Prism: статус проекта, подтверждение и отказ, выполнение, отмена, продолжение сессии и прекращение доступа после отзыва или истечения лизинга.
Это оставшаяся работа, а не уже выполненный deployment.
SSH/Seatbelt/ACP и настройка Beads не расширяют четыре функции Workspace Gateway.
## Что подтверждено дополнительно
- Docker работает через Colima, а не Docker Desktop.
- Из основного контейнера получены SSH banners Mac и внешнего GitHub на TCP/22; логин и команды при этом не выполнялись.
- Seatbelt на Mac 26.7.1 реально заблокировал чтение и запись в контрольную папку, в том числе дочерним shell; это не готовый production профиль.
- Документация Beads описывает Dolt server mode для нескольких одновременных записывающих агентов: [первичный источник](https://github.com/gastownhall/beads/blob/main/docs/architecture/index.md).
- Политика файлов и сети для реальных агентов, native approvals и полная работа Prism остаются открытыми.
## Права и репозитории
Подтверждение подключения репозитория, подтверждение действия агента и файловая изоляция — три отдельные проверки.
Агент не получает полномочий самостоятельно выдавать себе доступ к новому проекту.
Весь каталог `Developer` не передаётся Balda или исполнителю.
Исходная БД Beads соответствующего проекта остаётся источником статусов; Git-клон сам по себе не доказывает наличие актуального состояния Beads.
Механизм выдачи доступа к реальным проектам и их БД ещё требует настройки и приёмки.
## Текущее состояние и границы
Основная Balda получила оригинальные Prism/Prism Callee, `bd`, Callee и прямой Virfield MCP; это установка инструментов, а не приёмка удалённого исполнения.
В рабочем конфиге остаётся `permissions.mode: allow_all`; SSH-проверка production-конфиг, историю и авторизацию не меняла.
Полный Prism lifecycle с моделью и реальные удалённые Claude/Codex этой проверкой не приняты.
Новый сервис создаётся в отдельном проекте `workspace-gateway`; его объём ограничен четырьмя функциями доступа к папкам.
Прежняя ветка `broker-rebuild` в `/Users/admin/.codex/worktrees/broker-rebuild/execution-broker` — оставшийся каркас предыдущего обсуждения, а не место реализации Workspace Gateway.
Старые `execution-broker`, `execution-prism` и plugin остаются в действующей Balda; очистка новой ветки не удаляла их из deployment.
Историческая приёмка прежнего брокера: [[personal/plans/balda-callee-prism-plan]].