Что нашлось в исходном коде npm-пакета @anthropic-ai/claude-code
Что произошло
31 марта 2026 года в открытый доступ попал снапшот исходного кода Claude Code — CLI-инструмента Anthropic для разработчиков. В архиве около 33 МБ и 1 884 файла: код местами обфусцирован, но достаточно читаем, чтобы восстановить скрытые команды, feature gates и продуктовые заготовки.
Это важно не потому, что “слили внутренности”, а потому, что по коду стало видно направление продукта: persistent assistant, удалённое планирование, bridge-режим, фоновая память, multi-agent orchestration и другие возможности, которых в публичной документации ещё не было в таком виде. Ниже — сжатый разбор того, что именно нашли и что это даёт пользователю.
Ключевые скрытые функции
Ниже — 7 ключевых находок из утечки. Для каждой — как работает, где спрятана в коде и что реально даёт пользователю.
BUDDY
Виртуальный питомец
ПасхалкаНе выпущено
У каждого пользователя появляется свой виртуальный спутник рядом со строкой ввода. Его вид, редкость и поведение вычисляются по формуле из идентификатора аккаунта, так что питомец не случайный на каждый запуск, а по сути постоянная часть аккаунта.
Подробности: механика, параметры, где лежит в коде
Сроки релиза
Тизер: 1–7 апреля 2026. Полный запуск: май 2026.
Модель генерации
Внешность вычисляется по формуле из идентификатора аккаунта (Mulberry32). Питомец генерируется один раз и сохраняется навсегда.
Разнообразие
18 видов, 5 характеристик, 6 типов глаз, 7 шляп, блестящая версия с шансом 1%.
Поведение
Обновление каждые 500мс, анимации моргания и ожидания, пузырьки реплик около 10 секунд, /buddy pet даёт реакцию-сердечко.
Что это даёт пользователю
CLI перестаёт быть стерильным. BUDDY добавляет ощущение индивидуальности, эмоциональную обратную связь и ощущение, что Claude Code проектируется не только как чисто рабочий инструмент, но и как «продукт-компаньон».
Где это в коде
src/buddy/companion.tsmulberry32, species, eye, hat, shiny — генерация характеристик по userId.
src/buddy/types.tsSPECIES, EYES, HATS, STATS, StoredCompanion — словари и модель хранения.
Это режим постоянной работы, где Claude не обнуляется между сессиями. Он ведёт логи памяти (записи только добавляются, не удаляются), получает периодические сигналы, умеет проактивно действовать и ночью "видит сны" — консолидирует накопившуюся память в более полезные заметки.
Подробности: память, процесс «сна», инструменты, кодовые следы
Флаг активации
feature('KAIROS') + tengu_kairos.
Дневные логи
~/.claude/.../logs/YYYY/MM/DD.md, формат «только дозапись», без переписывания старой истории.
Фазы «сна»
Ориентация → Сбор → Объединение → Очистка. Весь процесс идёт в режиме только чтение.
Модель работы
15 секунд на активный ответ, потом уходит в фон. Два режима: обычный и проактивный. Специальные инструменты: отправка файлов, уведомления, подписка на PR, пауза.
Что это даёт пользователю
Не "ещё один чат", а персональный инженер, который помнит контекст, отслеживает долгие ветки работы и сам поддерживает непрерывность между днями, PR и идеями.
Где это в коде
src/main.tsxfeature('KAIROS'), assistantModule, kairosGate, proactivePrompt — включение и системный режим.
src/memdir/memdir.tslogPathPattern, ежедневные логи (только дозапись), ночная дистилляция в MEMORY.md.
src/tools.tsSendUserFileTool, PushNotificationTool, SubscribePRTool, SleepTool — набор инструментов KAIROS.
ULTRAPLAN
Удалённое планирование
Облачное планированиеНе выпущено
Для сложных задач Claude поднимает отдельный облачный сервер и может планировать до 30 минут отдельно от локальной сессии. План собирается удалённо, а пользователь потом утверждает или отклоняет его в браузере до запуска.
Подробности: удалённое планирование, цикл одобрения, кодовые следы
Модель
Opus 4.6 через tengu_ultraplan_model.
Бюджет
До 30 минут на отдельную сессию удалённого планирования.
Цикл управления
Опрос каждые 3 секунды → выход из режима планирования → одобрить/отклонить → новый цикл или выполнение.
Телепорт
Кнопка «Телепорт в терминал» архивирует удалённую ветку и переносит выполнение обратно в локальный терминал.
Что это даёт пользователю
Вместо того чтобы жечь локальную сессию на размышления, можно вынести planning в облако, получить более глубокий план и включиться уже на этапе принятия решения.
Где это в коде
src/commands/ultraplan.tsxgetUltraplanModel(), ULTRAPLAN_TIMEOUT_MS, teleportToRemote() — точка входа и модель.
src/utils/ultraplan/ccrSession.tsPOLL_INTERVAL_MS, ExitPlanModeScanner, pollForApprovedExitPlanMode() — цикл опроса одобрения/отклонения.
src/tools/ExitPlanModeTool/ExitPlanMode — механизм выхода из режима планирования и передачи одобренного плана обратно в поток.
Coordinator Mode
Управление агентами
Параллельные воркерыЧерез переменную
Здесь Claude ведёт себя как менеджер: режет задачу на подзадачи, раздаёт их воркерам, ждёт структурированные отчёты и собирает финальный синтез. Это уже не "один агент с долгим промптом", а слой координации поверх нескольких исполнителей.
Воркеры шлют XML-уведомления формата <task-notification>.
Поля уведомлений
status, summary, tokens, duration.
Изоляция
Рабочие папки через tengu_scratch, продолжение диалога идёт через SendMessage.
Что это даёт пользователю
Нормальную параллельную работу над крупной задачей. Не один медленный проход модели, а распределённый execution с отдельными контекстами и управляемым merge результатов.
Где это в коде
src/coordinator/coordinatorMode.tsCLAUDE_CODE_COORDINATOR_MODE, tengu_scratch — активация режима и изоляция рабочих папок.
src/coordinator/coordinatorMode.ts<task-notification>, status, summary, total_tokens, duration_ms — формат сообщений от воркеров.
src/tools/SendMessageTool/SEND_MESSAGE_TOOL_NAME и продолжение диалога с конкретным воркером по ID.
UDS Inbox
Обмен между сессиями
Локальные сообщенияНе выпущено
Если на машине запущено несколько Claude-сессий, они могут общаться друг с другом как маленькая локальная команда. Транспорт основан на Unix domain sockets, а адресация поддерживает локальные, peer и bridge-маршруты.
to: "researcher", to: "uds:/.../sock", to: "bridge:...".
Обнаружение
ListPeersTool и реестр сессий в ~/.claude/sessions/.
Роль
Обмен данными между агентами, локальными сессиями и удалёнными подключениями.
Применение
Передача задач между сессиями, сбор результатов из нескольких параллельных потоков.
Что это даёт пользователю
Возможность строить собственную сеть агентов на одной машине: отдельная сессия ресёрчит, другая пишет, третья координирует и всё это может разговаривать без внешнего слоя оркестрации.
Где это в коде
src/setup.ts--messaging-socket-path — запуск локального сервера сообщений и ручное переопределение пути сокета.
src/utils/peerAddress.tsuds:, bridge:, разбор адресов и маршрутизация сообщений.
src/utils/concurrentSessions.ts~/.claude/sessions/, реестр PID/сессий, перечисление соседей и именование сессий.
Bridge
Удалённое управление
Веб ↔ локальная связьНе выпущено
Claude запускается локально, но управляется с телефона или через claude.ai в браузере. Разрешения, смена модели и подтверждения на использование инструментов передаются через мост в реальном времени, а локальная сессия остаётся источником исполнения.
Подробности: точка входа, транспорт, управляющие сообщения
Точка входа
claude remote-control.
API инициализации
POST /v1/environments/bridge.
Транспорт
Опрос на старте, затем двусторонняя связь через WebSocket. Есть путь синхронизации для управления удалёнными сессиями.
Управляющие сообщения
initialize, set_model, can_use_tool и другие запросы управления сессией в реальном времени.
Что это даёт пользователю
Локальная машина становится движок выполнения, а интерфейс можно вынести куда угодно. По сути это удалённый рабочий стол для Claude Code без потери локальных файлов, прав и инструментов.
src/bridge/bridgeApi.tsPOST /v1/environments/bridge, bridgeId, точки переподключения/архивации и регистрация окружения.
src/remote/RemoteSessionManager.ts / src/remote/SessionsWebSocket.tscan_use_tool, запросы управления в реальном времени, /v1/sessions/ws/{id}/subscribe, логика переподключения WebSocket.
Daemon Mode
Фоновый супервизор
Фоновая работаНе выпущено
Это управляющий слой для долгоживущих фоновых сессий. Claude можно запускать как фоновый сервис, смотреть список, логи, переподключаться и завершать нужную сессию без потери контекста на каждом закрытии терминала.
Не завершение, а отсоединение — сессия продолжает жить после выхода из терминала.
Назначение
Супервизор сессий для удалённого управления, фоновых задач, долгих процессов и отложенных задач.
Что это даёт пользователю
Claude начинает вести себя как фоновый рабочий процесс, а не как одноразовая интерактивная команда. Это база для фоново живущих агентов и длинных автоматизаций.
src/utils/concurrentSessions.tsSessionKind, 'bg', 'daemon', 'daemon-worker', isBgTmuxSession() — типы и состояние сессий.
src/commands/exit/exit.tsxtmux detach-client внутри claude --bg вместо kill при выходе.
ULTRAREVIEW
Глубокая проверка кода
Облачный ревьюНе выпущено
Команда /ultrareview поднимает облачный контейнер и запускает систему bughunter — оркестратор, который параллельно ищет и верифицирует баги. Работает в двух режимах: проверка PR по номеру и проверка текущей ветки. Результаты приходят асинхронно.
Подробности: флот агентов, стадии, биллинг, где в коде
Флот агентов
По умолчанию 5, максимум 20. Каждый агент работает до 10 минут (потолок 1800 сек).
Общее время
До 22 минут на ревью (потолок 27 мин). Локальный поллер ждёт до 30 минут.
Стадии
Поиск багов → Верификация найденных → Дедупликация и синтез отчёта.
Биллинг
Для Pro/Max: квота бесплатных ревью, далее Extra Usage ($10 мин. баланс). Для Team/Enterprise: без ограничений.
Что это даёт пользователю
Вместо ручного ревью — параллельная команда агентов-багхантеров, которая за 10–20 минут проверяет ветку или PR и возвращает отчёт с верифицированными багами. Живой счётчик «N найдено · M проверено» в интерфейсе.
src/tasks/RemoteAgentTask/RemoteAgentTask.tsxПоллер с таймаутом 30 мин, парсинг heartbeat-тегов прогресса, стадии finding/verifying/synthesizing.
Verification Stack
Независимая верификация
Агент-проверщикНе выпущено
Отдельный агент, задача которого — не подтвердить, а сломать реализацию. Получает описание задачи, список изменённых файлов и подход — возвращает вердикт PASS / FAIL / PARTIAL с доказательствами в виде реальных команд и их вывода.
Конкурентность, граничные значения (0, -1, пустая строка), идемпотентность, orphan-операции. PASS без попытки сломать — недопустим.
Формат вердикта
Строго: VERDICT: PASS, FAIL или PARTIAL. Каждая проверка: команда → вывод → результат.
Что это даёт пользователю
Защита от ситуации «агент сказал готово, но ничего не проверил». Верификатор не имеет контекста реализации — проверяет вживую, а не читает код. Каждый PASS требует реально выполненную команду с выводом.
Где это в коде
src/tools/AgentTool/built-in/verificationAgent.tsПолный системный промпт, список запрещённых инструментов, условия вызова.
src/commands/init-verifiers.tsКоманда /init-verifiers — генерация project-specific скиллов для Playwright/CLI/API.
Отдельный канал ответа, параллельный основному потоку. Предназначен для финальных сообщений, статусных обновлений и доставки файлов. Два режима: обычный (по запросу) и проактивный (агент сам инициирует сообщение).
Подробности: статусы, инструменты, связь с KAIROS
Статусы
normal — ответ на запрос, proactive — агент сам инициирует (завершение задачи, блокер, фоновое обновление).
Блокирующий бюджет
15 секунд на синхронный ответ, далее задача уходит в фон.
Все инструменты канала доступны только в режиме KAIROS — долгоживущего постоянного ассистента.
Что это даёт пользователю
Основной поток перегружен служебными данными. Brief выносит финальные ответы в отдельный канал — пользователь видит только важное. В режиме KAIROS это единственный способ вернуть результат фоновой работы.
src/memdir/memdir.tsBrief-сообщения становятся частью дневных логов памяти агента.
BG Sessions
Фоновые сессии
Фоновая работаНе выпущено
Фоновые сессии через claude --bg — агент запускается в tmux и продолжает работать после закрытия терминала. Полный набор команд: ps (список), logs (логи), attach (подключение), kill (остановка).
Подробности: флаги, виды сессий, поведение tmux
CLI-флаги
--bg / --background — запуск в tmux. Также --daemon-worker для супервизорного режима.
Виды сессий
Три типа: bg, daemon, daemon-worker. Определяются через SessionKind.
При выходе
Не завершение процесса, а tmux detach-client — сессия продолжает жить в фоне.
Реестр
PID и метаданные хранятся в ~/.claude/sessions/. Функция isBgTmuxSession() определяет тип.
Что это даёт пользователю
Агент ведёт себя как фоновый процесс: запустил задачу → закрыл терминал → вернулся через claude attach. Основа для долгих автоматизаций без потери контекста.
src/utils/concurrentSessions.tsSessionKind, реестр в ~/.claude/sessions/, isBgTmuxSession().
src/commands/exit/exit.tsxЛогика tmux detach-client вместо kill при выходе из фоновой сессии.
Auto-Dream
Переработка памяти
Фоновая консолидацияНе выпущено
Автоматический фоновый механизм: после каждого ответа проверяет условия и запускает агента-консолидатора. Тот анализирует накопленные транскрипты и обновляет файлы памяти. Аналог «сна» — когда накопилось достаточно опыта, система переваривает его.
Подробности: условия запуска, lock-файл, 4 фазы, ограничения агента
Условия запуска
≥24 часа с последней консолидации + ≥5 новых сессий. Оба порога настраиваются через GrowthBook. Повторная проверка — не чаще раза в 10 минут.
Lock-файл
.consolidate-lock в директории памяти. Его mtime = время последней консолидации. PID в теле файла. Протухание через 1 час.
4 фазы
Ориентация (чтение текущей памяти) → Сбор (поиск нового в логах) → Объединение (запись/обновление файлов) → Очистка (обновление индекса, лимит ~25KB).
Ограничения агента
Только read-only команды: ls, find, grep, cat, stat, wc, head, tail. Пользователь может прервать в любой момент.
Что это даёт пользователю
Память автоматически «дефрагментируется» между сессиями. Накопленный опыт синтезируется в структурированные файлы, устаревшие факты удаляются, индекс остаётся компактным. Процесс полностью фоновый и прерываемый.
src/services/autoDream/consolidationLock.tsLock-файл, HOLDER_STALE_MS (1 час), rollback при сбое.
src/tasks/DreamTask/DreamTask.tsUI-задача: фазы starting → updating, прерывание с откатом lock.
src/services/autoDream/consolidationPrompt.ts4-фазный промпт для агента-консолидатора.
Proactive Mode
Автономный режим
Самостоятельный агентНе выпущено
Агент не ждёт команды — сам решает, что делать дальше или когда уйти в паузу. Получает периодические сигналы, может инициировать действия, отправлять уведомления и подписываться на внешние события.
Подробности: двойной gate, статусы, бюджет, механизм паузы
Двойной gate
feature('KAIROS') + tengu_kairos. Оба флага обязательны — одного недостаточно.
Два статуса
normal — ответ на запрос пользователя, proactive — агент сам инициирует действие.
Бюджет
15 секунд на активный ответ, затем автоматический уход в фон.
Механизм паузы
SleepTool — агент явно вызывает его, когда решает «спать». SubscribePR может разбудить при событиях в GitHub.
Что это даёт пользователю
Ассистент, который сам двигает задачу. Не «ещё один чат», а фоновый инженер с долгосрочной памятью, ночной консолидацией и проактивными уведомлениями. Сам решает — работать или ждать.
Служебные команды для автоматизации git-операций, диагностики и управления сессиями.
8 новых команд
▶
💾
commit
Агент сам готовит и делает коммит. Автоматизированное завершение без ручной git-рутины.
🚀
commit-push-pr
Ветка, коммит, push и создание PR в одном потоке. «От кода до PR» за один шаг.
🧹
heapdump
Снятие дампа памяти для диагностики утечек. Для отладки самого инструмента.
🏷️
version
Скрытый путь вывода версии. Быстрая самопроверка.
⚠️
rate-limit-options
Экран действий при упоре в лимиты. Запасной выбор вместо тупика.
🎨
output-style
Скрытое управление стилем вывода. Тонкая настройка формата ответа.
🔧
bridge-kick
Служебный «пинок» bridge-соединению. Аварийное восстановление удалённого управления.
🖥️
terminal-setup
Настройка среды и терминала вокруг сессии. Меньше ручной настройки окружения.
Эксперименты и заготовки
Тут в основном недоделанные фичи и внутренние заготовки: что-то бросили на полпути, что-то так и осталось экспериментом. По одному сливу кода не всё разложить по полочкам — ниже просто собрали, что удалось разглядеть.
18 экспериментальных функций
▶
🔧
autofix-pr
Автоисправление PR по замечаниям. Автоматическое доведение PR до зелёного состояния.
📋
background-pr
Фоновая обработка PR как долгий серверный процесс.
🐛
bughunter
Отдельный режим агрессивной охоты за багами.
📤
share
Отправка сессии или сводки. Передача результатов другим людям.
📝
summary
Автосводка по сессии. Быстрая выжимка без чтения всей истории.
✈️
teleport
Перенос удалённой работы в локальный терминал. Бесшовный переход между удалённым и локальным режимом.
🌍
env
Более явная работа с окружением и средой исполнения.
👋
onboarding
Отдельный пользовательский онбординг-флоу. Мягкий вход в продукт.
🔬
ant-trace
Внутренний режим трассировки и отладки. Диагностика.
⏱️
perf-issue
Поток для проблем производительности. Системный способ фиксировать баги скорости.
🎫
issue
Более явная работа с issue-трекером. Интеграция «из задачи в код».
🔍
debug-tool-call
Отладка отдельного вызова инструмента. Для сложных сбоев.
📚
backfill-sessions
Восстановление или миграция старых сессий. Сохранность истории.
💥
break-cache
Принудительная ломка кеша для тестов и дебага.
👁️
ctx_viz
Визуализация контекста модели. Прозрачность того, что агент реально видит.
🧪
mock-limits
Симуляция лимитов. Тестирование граничных случаев без реального упора.
🔄
reset-limits
Сброс лимитов в тестовом режиме.
🔥
torch, passes, good-claude
Экспериментальные внутренние поверхности. Потенциально — новые режимы качества или поведения, но из снапшота их смысл полностью не раскрыт.