Files
obsidian-vault/personal/projects/balda/setup.md
T

5.1 KiB
Executable File

Balda — актуальный локальный запуск

Execution Broker, Telegram-одобрения и текущая приёмка: personal/projects/balda/execution-broker.

Broker-кандидат 2026-10-14: 0.1.0-rc.26 / b64a1ba, локальные проверки сохранены отдельно. Старая Balda 223b85ad / codex/production-readiness отклонена после ревью четырёх дефектов; её зелёные тесты не подтверждали готовность upstream PR. Исправленная ветка codex/ingress-outbox-v2 / 49ce205d подготовлена на upstream 875d78ee в /private/tmp/execution-broker-balda-upstream. Дополнительный коммит 1fd3e101 восстанавливает continuation из answered-записи при повторе исходного inbound и обновляет README; 49ce205d исправляет macOS marketplace paths. Полный локальный race-gate прошёл в штатном TMPDIR, обе storage integration suites и остальные проверки прошли; подробности первого неудачного прогона и финального результата — в карточке выше. Изменения не развёрнуты, контейнер balda-mm-mac остаётся на прежнем образе. Выбор ветки или коммит не меняет действующий сервис.

Проверено: 2026-10-09.

Это основной runbook для текущей Balda на Mac. Старые документы про balda-agent-valera-1, Zulip и Kraken — исторические.

Текущая схема

  • Хост: Mac.
  • Контейнер: balda-mm-mac.
  • Канал: Mattermost.
  • Провайдер: Codex ACP.
  • Compose: /Users/admin/Docker/balda-mm-mac/docker-compose.yml.
  • Конфиг: /Users/admin/Docker/balda-mm-mac/config/config.yaml.
  • Состояние и managed plugins: /Users/admin/Docker/balda-mm-mac/state.
  • Рабочие каталоги: /Users/admin/Docker/balda-mm-mac/work.

Каталоги config, state и work bind-mounted в контейнер. Домашний каталог контейнера хранится в Docker volume balda_balda-home.

Что применять какой командой

Изменение Действие
Только содержимое config/config.yaml docker restart balda-mm-mac
.env, environment, mounts или service definition в Compose docker-compose up -d balda
Новый image/tag docker-compose pull && docker-compose up -d balda
Изменение исходного кода Собрать image, затем docker-compose up -d balda
Managed plugin Использовать /plugin install|upgrade|enable|disable|remove
Plugin/skill для уже открытой беседы /reset после активации изменения

docker restart перечитывает bind-mounted config.yaml, потому что Balda читает его при старте процесса. Он не перечитывает .env и не применяет изменения Compose.

Принудительное --force-recreate для изменения только config.yaml не требуется.

Plugins и skills

Managed plugin revisions в state неизменяемые и проверяются по digest. Их нельзя редактировать вручную в папке. Изменения устанавливаются через команды /plugin.

Каталог плагинов обновляется в работающем процессе после install/upgrade/enable/disable/remove. Уже созданная сессия закреплена за старым snapshot, поэтому для неё нужен /reset.

Файлы standalone skills редактировать можно, но существующая сессия также увидит новый snapshot только после /reset.

Codex ACP

Актуальный reasoning effort: medium.

Codex авторизация хранится в home-volume контейнера. Для headless-входа:

cd /Users/admin/Docker/balda-mm-mac
docker-compose run --rm --entrypoint codex balda login --device-auth

Obsidian MCP

Codex ACP поддерживает stdio и Streamable HTTP. SSE-конфигурация не поддерживается.

mcp_servers:
  obsidian:
    type: http
    url: http://host.docker.internal:3101/mcp
    name: obsidian

После изменения только этого блока:

docker restart balda-mm-mac

Проверка

docker ps --filter name=balda-mm-mac
docker logs --tail 120 balda-mm-mac

В логах должны быть успешная инициализация Codex ACP, готовность provider и подключение Mattermost WebSocket.