From b4747b5c09b09549f25acc33c699d75c6d31fa2b Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 9 Oct 2026 14:09:02 +0600 Subject: [PATCH] [2026-10-09] eagle: family/how-to/samsung-m2020.md personal/plans/balda-callee-prism-plan.md personal/plans/balda-mm-endtoend-plan.md personal/plans/balda-mm-phase4-agents.md personal/plans/balda-runtime-rebuild-mm-validation.md personal/projects/balda/balda-kraken-mm-deploy.md personal/projects/balda/balda-mm-delegation-plan.md personal/projects/balda/balda-valera.md personal/projects/balda/claudio-klaudiy.md personal/projects/balda/fast-rlm-integration.md --- family/how-to/samsung-m2020.md | 8 +- personal/plans/balda-callee-prism-plan.md | 5 + personal/plans/balda-mm-endtoend-plan.md | 5 + personal/plans/balda-mm-phase4-agents.md | 5 + .../balda-runtime-rebuild-mm-validation.md | 5 + .../projects/balda/balda-kraken-mm-deploy.md | 5 + .../balda/balda-mm-delegation-plan.md | 5 + personal/projects/balda/balda-valera.md | 5 + personal/projects/balda/claudio-klaudiy.md | 5 + .../projects/balda/fast-rlm-integration.md | 5 + .../balda/mattermost-kraken-deploy.md | 5 + personal/projects/balda/setup.md | 121 +++++++++--------- .../personal-os/obsidian-mcp-setup.md | 4 + personal/projects/zulip-router.md | 5 + personal/tech/balda-executor-mcp.md | 5 + .../tech/hermes-whale-mattermost-transport.md | 5 + 16 files changed, 132 insertions(+), 66 deletions(-) diff --git a/family/how-to/samsung-m2020.md b/family/how-to/samsung-m2020.md index 55bc6e63..19a1da9c 100644 --- a/family/how-to/samsung-m2020.md +++ b/family/how-to/samsung-m2020.md @@ -40,7 +40,9 @@ updated: "2026-10-09" SNMPv1/v2 включён. Android печатает. На Mac применён обход ниже; Mac печатает. -Проверка CUPS 2026-10-09: задание `#99` без `waiteof=false` получило `The printer is not responding` через 30 секунд. После добавления `waiteof=false` тестовое задание `#103` принято и напечатано без задержки и ошибки. +Проверка CUPS 2026-10-09: задание `#99` без `waiteof=false` получило `The printer is not responding` через 30 секунд. `waiteof=false` убирает это ожидание только в Mac: документ сразу исчезает из очереди и диалог печати закрывается после передачи данных. Он не подтверждает завершение физической печати и не ускоряет M2020. + +После приёма задания M2020 остаётся с постоянным зелёным индикатором около минуты, затем запускает печать. Причина этой паузы пока не подтверждена. Текущие связанные параметры: `Power Save = 1 minute`, `Job Timeout = 15 seconds`. Нельзя записывать ни один из них причиной без отдельного теста. ## Решение конфликта на Mac @@ -56,4 +58,6 @@ socket://192.168.1.80:9100/?snmp=false&waiteof=false sudo lpadmin -p 'Samsung_M2020_Series__SEC84251974A6B3_' -v 'socket://192.168.1.80:9100/?snmp=false&waiteof=false' -E ``` -Настройка очереди Mac применена 2026-10-09. `snmp=false` не даёт Mac блокировать задание по статусу `C2-1511`; `waiteof=false` закрывает соединение после передачи данных, поэтому M2020 не ждёт таймаут конца задания. +Настройка очереди Mac применена 2026-10-09. `snmp=false` не даёт Mac блокировать задание по статусу `C2-1511`; `waiteof=false` закрывает соединение после передачи данных и не ждёт фактического завершения печати. + +Для проверки гипотезы о Power Save: изменить в веб-интерфейсе M2020 `Settings → Machine Settings → System → Setup → Power Save` с `1` до `60` минут и сравнить первый запуск после простоя. На 2026-10-09 это изменение ещё не применено. diff --git a/personal/plans/balda-callee-prism-plan.md b/personal/plans/balda-callee-prism-plan.md index 935d1936..c1462874 100755 --- a/personal/plans/balda-callee-prism-plan.md +++ b/personal/plans/balda-callee-prism-plan.md @@ -1,3 +1,8 @@ +> [!WARNING] Исторический документ +> Не использовать как runbook текущей Balda. Актуальная локальная схема, пути и команды: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Текущий контейнер: `balda-mm-mac`; config: `/Users/admin/Docker/balda-mm-mac/config/config.yaml`; Obsidian MCP: `type: http`, `http://host.docker.internal:3101/mcp`. +> Материал ниже сохранён только как история. + # Текущее состояние — Balda / Broker — 2026-10-03 22:41 Бишкек Статус: **приёмочный Docker-прогон выполнен на прежнем образе; автоматическая публикация исправлена, а Balda запущена из текущего исправленного HEAD PR #12 (`73e02156`). Общий release остаётся NO-GO до нового end-to-end прогона, подтверждающего публикацию и уведомления на образе из текущего HEAD `73e02156`.** Записи ниже — история и могут содержать устаревшие статусы. diff --git a/personal/plans/balda-mm-endtoend-plan.md b/personal/plans/balda-mm-endtoend-plan.md index 0ed8d515..d87ba523 100755 --- a/personal/plans/balda-mm-endtoend-plan.md +++ b/personal/plans/balda-mm-endtoend-plan.md @@ -1,3 +1,8 @@ +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # План: доделать сквозной путь `@balda` → ответ в Mattermost > Создан 2026-09-26. Обновлён 2026-09-26 (сессия реализации, полный проход). diff --git a/personal/plans/balda-mm-phase4-agents.md b/personal/plans/balda-mm-phase4-agents.md index e3a876c8..6e35ce14 100755 --- a/personal/plans/balda-mm-phase4-agents.md +++ b/personal/plans/balda-mm-phase4-agents.md @@ -1,3 +1,8 @@ +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # Фаза 4 — исполнитель на Mac + `~/agents` + секция «Agents» в Eagle Dashboard > План + статус. Старт 2026-09-26. diff --git a/personal/plans/balda-runtime-rebuild-mm-validation.md b/personal/plans/balda-runtime-rebuild-mm-validation.md index 912eb246..dd1063e7 100755 --- a/personal/plans/balda-runtime-rebuild-mm-validation.md +++ b/personal/plans/balda-runtime-rebuild-mm-validation.md @@ -1,3 +1,8 @@ +> [!WARNING] Исторический документ +> Не использовать как runbook текущей Balda. Актуальная локальная схема, пути и команды: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Текущий контейнер: `balda-mm-mac`; config: `/Users/admin/Docker/balda-mm-mac/config/config.yaml`; Obsidian MCP: `type: http`, `http://host.docker.internal:3101/mcp`. +> Материал ниже сохранён только как история. + > Создан 2026-09-28. Статус: **✅ ЧАСТЬ A (runtime) · C/D (сборка+деплой+валидация) · E (sync с апстримом) ВЫПОЛНЕНЫ.** > Часть B (3 блокера PR #8) — **✅ ПРОВЕРЕНА 2026-09-29: фиксы УЖЕ в апстриме** (см. блок ниже). > ⛔ **2026-09-29: Balda-стек на Kraken СНЕСЁН.** Топология пересмотрена — стек переезжает на Mac. diff --git a/personal/projects/balda/balda-kraken-mm-deploy.md b/personal/projects/balda/balda-kraken-mm-deploy.md index 1653cbd1..9a09f5e3 100755 --- a/personal/projects/balda/balda-kraken-mm-deploy.md +++ b/personal/projects/balda/balda-kraken-mm-deploy.md @@ -1,3 +1,8 @@ +> [!WARNING] Исторический документ +> Не использовать как runbook текущей Balda. Актуальная локальная схема, пути и команды: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Текущий контейнер: `balda-mm-mac`; config: `/Users/admin/Docker/balda-mm-mac/config/config.yaml`; Obsidian MCP: `type: http`, `http://host.docker.internal:3101/mcp`. +> Материал ниже сохранён только как история. + # Фаза 3 — Балда на Kraken + Mattermost (деплой) > ⛔ **2026-09-29: СТЕК СНЕСЁН.** Контейнеры `balda-mm`, `balda-executor-mcp`, `obsidian-mcp` diff --git a/personal/projects/balda/balda-mm-delegation-plan.md b/personal/projects/balda/balda-mm-delegation-plan.md index 028af281..467e713a 100755 --- a/personal/projects/balda/balda-mm-delegation-plan.md +++ b/personal/projects/balda/balda-mm-delegation-plan.md @@ -1,3 +1,8 @@ +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # Balda 2.0 — Mattermost + распределённое делегирование (план) > Создан 2026-09-25. Статус (обновлён **2026-09-28**): **Фазы 1-3 закрыты** (MM на Kraken · diff --git a/personal/projects/balda/balda-valera.md b/personal/projects/balda/balda-valera.md index 8014f6fb..6351a027 100755 --- a/personal/projects/balda/balda-valera.md +++ b/personal/projects/balda/balda-valera.md @@ -1,3 +1,8 @@ +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # Балда / Валера — эксплуатация & MCP debug > ## ⛔ СНЕСЁН 2026-09-29 — агент удалён на Mac diff --git a/personal/projects/balda/claudio-klaudiy.md b/personal/projects/balda/claudio-klaudiy.md index d7847f51..78d97ea2 100755 --- a/personal/projects/balda/claudio-klaudiy.md +++ b/personal/projects/balda/claudio-klaudiy.md @@ -1,3 +1,8 @@ +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # Клавдий (Claudio) — эксплуатация ## Расположение diff --git a/personal/projects/balda/fast-rlm-integration.md b/personal/projects/balda/fast-rlm-integration.md index 946b9cde..c0961fa7 100755 --- a/personal/projects/balda/fast-rlm-integration.md +++ b/personal/projects/balda/fast-rlm-integration.md @@ -1,3 +1,8 @@ +> [!WARNING] Исторический документ +> Не использовать как runbook текущей Balda. Актуальная локальная схема, пути и команды: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Текущий контейнер: `balda-mm-mac`; config: `/Users/admin/Docker/balda-mm-mac/config/config.yaml`; Obsidian MCP: `type: http`, `http://host.docker.internal:3101/mcp`. +> Материал ниже сохранён только как история. + # fast-rlm MCP HTTP integration with Balda > ## ⚠️ СТАТУС (2026-09-25) diff --git a/personal/projects/balda/mattermost-kraken-deploy.md b/personal/projects/balda/mattermost-kraken-deploy.md index 0cad627a..d17229e0 100755 --- a/personal/projects/balda/mattermost-kraken-deploy.md +++ b/personal/projects/balda/mattermost-kraken-deploy.md @@ -1,3 +1,8 @@ +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # Mattermost на Kraken — деплой (arm64) > Создано 2026-09-26. Обновлено 2026-09-26. Статус: **✅ СЕРВЕР РАБОТАЕТ**. diff --git a/personal/projects/balda/setup.md b/personal/projects/balda/setup.md index d7773cdf..6cfa99c2 100755 --- a/personal/projects/balda/setup.md +++ b/personal/projects/balda/setup.md @@ -1,86 +1,79 @@ -# Balda — Setup & Config +# Balda — актуальный локальный запуск -_Последнее обновление: 2026-06-24_ +_Проверено: 2026-10-09._ -## Хост +> Это основной runbook для текущей Balda на Mac. Старые документы про `balda-agent-valera-1`, Zulip и Kraken — исторические. -Mac (Eagle), **Colima** (arm64, 8 CPU, 24 GB RAM, 100 GB sparse disk). Контейнеры собираются из исходников в `~/Developer/balda/`. +## Текущая схема -**Важно:** `buildx_buildkit_arm64builder0_state` volume — основная причина зависаний Zulip при сборке. См. [[tech/docker-mac-disk-issues]]. +- Хост: 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`. -| Бот | Порт | Провайдер | Dockerfile | -|-----|------|-----------|------------| -| **Валера** (`balda-agent-valera-1`) | `:8091` | DeepSeek | `Dockerfile` (одинаковый) | -| **Клавдий** (`claudio-agent-claudio-1`) | `:8092` | Claude (через proxy :3457) | `Dockerfile.claudio` (тот же + arm64 target) | +## Что применять какой командой -## Расположение +| Изменение | Действие | +|---|---| +| Только содержимое `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` после активации изменения | -| Item | Валера | Клавдий | -|------|--------|---------| -| Compose | `~/Docker/balda-agent/docker-compose.yaml` | `~/Docker/claudio-agent/docker-compose.yaml` | -| Config volume | `~/Docker/balda-agent/.config/balda/` | `~/Docker/claudio-agent/.config/balda/` | -| Env | `~/Docker/balda-agent/.env` | `~/Docker/claudio-agent/.env` | -| Dev repo (общий) | `~/Developer/balda/` | `~/Developer/balda/` | +`docker restart` перечитывает bind-mounted `config.yaml`, потому что Balda читает его при старте процесса. Он не перечитывает `.env` и не применяет изменения Compose. -**Важно:** оба бота собираются из одного репозитория `~/Developer/balda/` (normahq/balda fork). Разница — только в config.yaml (провайдер) и .env (Zulip credentials). +Принудительное `--force-recreate` для изменения только `config.yaml` не требуется. -## Образ +## Plugins и skills -- Собирается локально из `Dockerfile` (Go, multi-stage: golang:1.26 → alpine:3) -- Target: `linux/arm64` (статический Go бинарник) -- Image name: `balda-agent-valera:latest` / `claudio-agent-claudio:latest` (по имени compose проекта) -- Entrypoint: `/usr/local/bin/balda` (ELF arm64) -- Сеть: `balda_default` (bridge, внешняя, создаётся через docker network create) +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-входа: -**Валера:** ```bash -cd ~/Docker/balda-agent -docker-compose restart # без пересборки, без перечитывания .env -docker-compose up -d # пересоздаёт контейнер с текущим .env -docker-compose build && docker-compose up -d # после изменений в коде +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-конфигурация не поддерживается. + +```yaml +mcp_servers: + obsidian: + type: http + url: http://host.docker.internal:3101/mcp + name: obsidian +``` + +После изменения только этого блока: + ```bash -cd ~/Docker/claudio-agent -# те же команды +docker restart balda-mm-mac ``` -**После изменений кода** (в `~/Developer/balda/`): `build && up -d` в каждом compose. +## Проверка -## .env (общие переменные) - -```env -OPENAI_BASE_URL=https://api.deepseek.com/v1 # обязательна для deepseek provider -# для claude provider не нужна +```bash +docker ps --filter name=balda-mm-mac +docker logs --tail 120 balda-mm-mac ``` -**Важно:** `docker-compose restart` не перечитывает `.env`. Только `docker-compose up -d`. - -## Известные грабли - -### 1. OPENAI_BASE_URL — обязательна для DeepSeek -Norma не читает `base_url` из config.yaml для `provider: deepseek`. Читает env `OPENAI_BASE_URL`. -Без неё запросы уходят на `api.openai.com` (401). - -### 2. DOCKER_OPTS — пустая строка убивает старт -```env -DOCKER_OPTS={"max_tokens": 2048, "temperature": 0.7} -``` -Не пустая строка! Иначе `strconv.ParseFloat: parsing ""` при старте. - -### 3. exec format error на arm64 -Симптом: контейнер в crash-цикле, логи повторяют `exec /usr/local/bin/balda: exec format error`. -Docker показывает `Up N hours` (накопленное время рестартов), но exec не работает. - -**Причина:** контейнер создан с `Platform: linux/amd64` (старый Docker Desktop или первый run без platform). Образ arm64, контейнер amd64 — несовместимость. - -**Фикс:** `docker-compose down; docker-compose up -d` — удаляет старый контейнер и создаёт новый с правильной платформой. - -### 4. После перезапуска нужно @mention для создания сессии -Events API polling подхватывает сообщения только если есть активная сессия в теме. -После рестарта: написать `@Валера <текст>` (или `@Клавдий`). +В логах должны быть успешная инициализация Codex ACP, готовность provider и подключение Mattermost WebSocket. diff --git a/personal/projects/personal-os/obsidian-mcp-setup.md b/personal/projects/personal-os/obsidian-mcp-setup.md index 1a173eca..ea933432 100755 --- a/personal/projects/personal-os/obsidian-mcp-setup.md +++ b/personal/projects/personal-os/obsidian-mcp-setup.md @@ -1,3 +1,7 @@ +> [!IMPORTANT] Актуальная конфигурация для Balda (2026-10-09) +> Текущая Balda использует Codex ACP и Streamable HTTP: `type: http`, URL `http://host.docker.internal:3101/mcp`. +> Указания ниже про Balda + SSE или `/sse` относятся к прежним клиентам/развёртываниям. Канонический runbook: [[personal/projects/balda/setup]]. + # Obsidian MCP — текущая архитектура ## Факт: что стоит сейчас diff --git a/personal/projects/zulip-router.md b/personal/projects/zulip-router.md index 61105664..a1fb2beb 100755 --- a/personal/projects/zulip-router.md +++ b/personal/projects/zulip-router.md @@ -1,3 +1,8 @@ +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # Zulip Router _Последнее обновление: 2026-06-19 (forward_trigger, sender_email, data, stream_id — payload идентичен Zulip outgoing webhook)_ diff --git a/personal/tech/balda-executor-mcp.md b/personal/tech/balda-executor-mcp.md index 059a046a..e0a34724 100755 --- a/personal/tech/balda-executor-mcp.md +++ b/personal/tech/balda-executor-mcp.md @@ -1,3 +1,8 @@ +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # balda-executor-mcp — MCP-сервер делегирования задач (шаг 5 Фазы 4) > Создан 2026-09-26. Шаг 5 плана [[personal/plans/balda-mm-phase4-agents]]. diff --git a/personal/tech/hermes-whale-mattermost-transport.md b/personal/tech/hermes-whale-mattermost-transport.md index 9331e89f..64ef9883 100755 --- a/personal/tech/hermes-whale-mattermost-transport.md +++ b/personal/tech/hermes-whale-mattermost-transport.md @@ -23,6 +23,11 @@ related: - '[[personal/tech/hermes-fork-vs-upstream.md]]' - '[[personal/tech/hermes-memory-architecture.md]]' --- +> [!WARNING] Историческая схема Balda +> Не использовать пути, контейнеры, provider или MCP transport из этой заметки для текущего запуска. +> Канонический текущий runbook: [[personal/projects/balda/setup|Balda — актуальный локальный запуск]]. +> Актуально: `balda-mm-mac`, `/Users/admin/Docker/balda-mm-mac/config/config.yaml`, Mattermost, Codex ACP, Obsidian `type: http` → `http://host.docker.internal:3101/mcp`. + # hermes-whale — Mattermost как транспорт