[2026-10-18] eagle: personal/plans/balda-remote-agent.md personal/plans/workspace-gateway.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-18 17:34:42 +06:00
1 parent abcb82c740
commit b01a7c2230
2 files changed
+21 -3

No files matched your search

+1 -1
View File
@@ -34,7 +34,7 @@ macOS-окружения предоставляет Virfield через его M
## Следующие конкретные действия
1. Я реализую и приму Workspace Gateway в отдельном проекте: листинг папок без файлов, подключение после подтверждения владельца, отключение и временный лизинг; сетевая файловая система обеспечит одни и те же исходные файлы Balda и агентам без перезапуска Balda при каждой выдаче.
1. Я реализую и приму Workspace Manager (проект `workspace-gateway`) в отдельном проекте: настраиваемые именованные корни (`developer`, `downloads` и другие), листинг и поиск папок по имени без файлов, подключение после подтверждения владельца, отключение и временный лизинг; сетевая файловая система обеспечит одни и те же исходные файлы 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.
+20 -2
View File
@@ -10,7 +10,7 @@ Git: `main`, начальный коммит `2bc6743`; создан карка
Сервис выдаёт Balda и удалённым агентам доступ к исходным папкам через сетевую файловую систему.
Balda и агенты видят одни и те же файлы; копирование Git-репозитория не считается реализацией общего доступа.
1. **Папки:** листинг папок хоста, включая навигацию по дереву, без выдачи списка файлов и их содержимого.
1. **Папки:** листинг и навигация по папкам внутри настроенных корней (`developer`, `downloads` и других), а также поиск папок по имени; без выдачи списка файлов и их содержимого.
2. **Подключение:** выбранная папка появляется в work dir после подтверждения владельцем точного пути, получателя, режима доступа и срока.
3. **Отключение:** фактический отзыв ранее выданного доступа.
4. **Лизинг:** статус и срок действия, автоматический отзыв после истечения срока, продление с подтверждением владельца.
@@ -18,6 +18,24 @@ Balda и агенты видят одни и те же файлы; копиро
Четыре пользовательские функции — согласованный объём проекта.
Обработка ответа владельца, журнал выданных разрешений и таймеры обслуживают эти функции, а не расширяют API прикладными сценариями.
## Конфиг корней и поиск папок
Workspace Manager — пользовательское название сервиса; текущие путь проекта и имя этой заметки остаются `workspace-gateway`.
В конфиге задаются несколько именованных корней; список расширяется без изменения кода. Например:
```yaml
roots:
developer: /Users/admin/Developer
downloads: /Users/admin/Downloads
```
Корень задаёт область обнаружения папок, а не автоматический доступ Balda или агентов ко всем его файлам. Сервис не монтирует целиком `Developer` или `Downloads` только потому, что они указаны в конфиге.
Поиск выполняется по имени папки (полное имя или подстрока, без учёта регистра), в выбранном корне либо во всех настроенных корнях. Результат содержит имя корня и относительный путь папки, чтобы различать одинаковые имена. Имена файлов и содержимое файлов в поиск не входят. Выход за корни через `..` и символические ссылки не допускается. Подключение найденной папки по-прежнему требует подтверждения владельца точного пути, получателя, прав и срока.
Порядок реализации: загрузить и проверить `roots` из конфига; реализовать листинг/навигацию; добавить поиск по имени; включить операции в MCP; проверить поиск в нескольких корнях, одинаковые имена, отсутствующий/недоступный корень и запрет выхода за границы.
## Границы
SSH-запуск, ACP-транспорт, исполнение команд на хосте и Seatbelt относятся к настройке Balda и среды, а не к Workspace Gateway.
@@ -33,7 +51,7 @@ Prism, Callee, Beads, управление задачами и сессиями
1. Я проверю готовую сетевую файловую систему на текущем Docker/Colima и целевых средах: исходные файлы видны обоим клиентам, добавление разрешённой папки обходится без перезапуска Balda, соседняя папка недоступна, отзыв закрывает уже выданный доступ.
2. Я подключу постоянную точку сетевой файловой системы в work dir; это разовая настройка deployment, последующие выдачи и отзывы происходят в рантайме.
3. Я реализую листинг папок и запрос подключения, связав подтверждение владельца с точным путём, получателем, правами и сроком; сначала проверю пригодность штатных взаимодействий Balda.
3. Я реализую конфиг нескольких именованных корней (`developer`, `downloads` и других), листинг/навигацию и поиск папок по имени внутри этих корней; затем запрос подключения, связав подтверждение владельца с точным путём, получателем, правами и сроком. Сначала проверю пригодность штатных взаимодействий Balda. Приёмка поиска включает несколько корней, одинаковые имена папок, недоступный корень и запрет выхода через ссылки или `..`.
4. Я реализую отключение и временный лизинг, сохранение состояния разрешений и обработку истечения срока после перезапуска сервиса; неполученное подтверждение оставляет доступ закрытым.
5. Я проведу приёмку с двумя клиентами: общие файлы, RO/RW, запрет соседних путей и обхода через ссылки, отказ владельца, отзыв, истечение, продление и повторный запуск сервиса.