[2026-10-18] eagle: personal/plans/balda-remote-agent.md personal/plans/workspace-gateway.md
This commit is contained in:
1 parent
abcb82c740
commit
b01a7c2230
2 files changed
+21
-3
No files matched your search
@@ -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.
|
||||
|
||||
@@ -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, запрет соседних путей и обхода через ссылки, отказ владельца, отзыв, истечение, продление и повторный запуск сервиса.
|
||||
|
||||
|
||||
Reference in new issue
Block a user