Chief Beaver Officer

Что это

Что такое Менеджер Бобрения буквально, из каких трёх слоёв он собран и какой из них твой. Дальше каждый шаг помечен слоем.

Буквально

Менеджер Бобрения - персональный агент, который живёт на твоём сервере и думает головой Claude. Бобёр в этой системе - ты.

Менеджер читает твой Obsidian vault (дневник, люди, проекты, доски задач) и отвечает с этим контекстом: не «сходи к врачу», а «ты писал в среду, что спина опять, а к врачу ты ходишь по четвергам». Он помнит вчерашнее и делает выводы: ведёт записки о тебе и о каждом, кого ты упоминаешь, замечает паттерны («третий раз за месяц переносишь этот созвон»), сверяет обещания со сроками и говорит об этом вслух, когда есть повод. Пишет в Telegram сам, если случилось что-то важное, и умеет делать руками: код на твоих машинах, финансы, дом, календарь.

День с ним: утром новый мастер-чат стартует со вчерашним хендаутом и состоянием. Ты пишешь в телегу как другу, он отвечает голосом Chief Beaver Officer. Под каждым твоим сообщением gateway незаметно подкладывает конверт: время, что изменилось в vault, справку по людям, которых ты упомянул. Задачу побольше уносит в ветку-топик, долгий разговор - в markdown-файл рядом с заметками. Раз в несколько часов куратор раскладывает новое по запискам о людях. Обещания становятся отложенными инжектами. Ночью мастер пересоздаётся, оставив хендаут. А ещё он умеет общаться с чужими персональными агентами через vibegram.

Нужно: сервер с Docker, подписка на Claude (той же, что для Claude Code), Obsidian с Sync, Telegram-бот. Модель - Claude Opus, для служебных тёрнов Sonnet, Fable - когда очень хочется.

Admin: тред мастера с деревом тул-коллов

Три слоя

Каждый шаг доки помечен слоем:

  • gateway - ядро, beaver-gateway. Разговоры и их виды (мастер, ветка, глубокий чат, джоб, форк), очередь инжектов, ротация, джобы, окна, хуки памяти, граница политики. Настраивается полями Gateway, код менять не нужно. Он не знает ни одного пути в vault, ни одного имени агента, ни одной русской строки.
  • beaver-agent - мой сетап поверх: config.py и пакет beaver_agent/. Гранулы и голос, скиллы, зона vault и её правила, роли (диспетчер, дистиллятор, куратор, триаж), мои джобы и руки. Это мнение, а не ядро: переписывай под себя или выкидывай.
  • вокруг - необязательное: плагины Obsidian и коннекторы (t3code-mcp, beavergram, raycast-api).

Два бейджа значат «механизм в gateway, содержимое в сетапе». Глубокие чаты - gateway (MarkdownFrontend, вид deep), а гранулы, из которых собран промпт, - целиком сетап, gateway их только склеивает.

Четыре окна gateway

Один агент, четыре способа с ним говорить:

  • Telegram - личка с ботом. Топик «General» - мастер-тред, один навсегда; каждый новый топик - ветка.
  • Obsidian - плагин Beaver: те же разговоры рядом с заметками, с деревом тул-коллов. И markdown-файлы в 💬 чаты/, где файл и есть разговор.
  • Admin - веб-консоль: что сейчас крутится, что ждёт ответа, контекст, квоты, память, джобы, токены.
  • API - /anthropic для любого клиента Anthropic, /api для панели и /mcp - все руки Менеджера одним адресом под одним токеном: beavergram, календари, Firefly импортируются в Claude Desktop или ChatGPT так же, как их видит Менеджер (подробнее в «Руках»).
Admin: доска Now - что ждёт, что в движении, граф вокруг мастера

Инварианты gatewaybeaver-agent

Несколько правил, на которых всё держится:

  • Маршрутизация детерминирована и живёт в gateway. Ответ стримится туда, откуда пришло сообщение: написал в телегу - ответ в телеге, в файл - в файл. Модель об этом не думает и работает в привычной среде Claude Code. Исключение - тёрн, начатый инжектом (крон, вебхук, слив): он никуда не роутится, в телегу попадает только явный say(text), а молчание - просто не вызвать его.
  • Правда - в Postgres, vault - её человекочитаемая проекция. В vault попадают только артефакты: файлы глубоких чатов, выжимки, хендауты, записки.
  • Процесс модели физически ограничен. Свой uid, белый список env, нет пути к базе. Vault смонтирован на запись, границы внутри него держит хук PreToolUse.
  • Текст - в vault, код - в репе. Промпты, скиллы, память правятся в Obsidian и приезжают синком.
  • Никаких permission-промптов. bypassPermissions плюс хук плюс монтирование.

Два пути beaver-agent

Быстрый. Голос Менеджера одним промптом в Raycast или любом чат-клиенте. Без сервера, без памяти, без vault, одно сообщение за раз. Пресеты на главной, промпт собран из тех же гранул голоса, что и полная версия.

Полный. Всё, что описано в этой доке: сервер с Docker, подписка на Claude, Telegram-бот, vault через Obsidian Sync. Дальше модули идут по глубине погружения: vault и окна, потом разговоры и память, деплой в конце; каждый самодостаточен.

Экосистема вокруг

Всё живёт в одном месте: git.kotikot.com/beaver. Кроме gateway и сетапа там есть вещи, которые полезны и сами по себе:

  • beaver-plugin-obsidian - панель Менеджера внутри Obsidian и отправка заметки агенту. Без него разговоры видны только в телеге и админке; как ставить - в модуле «Vault».
  • beaver-calendar - календарь и список задач поверх Tasks и Kanban. Единственный по-настоящему рабочий способ для человека взаимодействовать с плагином Tasks в Obsidian.
  • beavergram - полезен и тем, кто агента не ставит: read-only клиент Telegram, который сохраняет всё входящее, включая удалённые и отредактированные сообщения, и отдаёт историю по MCP.
  • t3code-mcp - единственная недостающая фича T3 Code: агенты не умеют сами создавать чаты. Этот коннектор умеет.

И сам этот сайт - beaver-land. Его код можно отдать любому своему ИИ-агенту: документация лежит внутри, и он быстрее разберётся с настройкой и поможет, если что-то не сойдётся.