Анализ архитектуры Claude Code на основе утекших исходных карт

Технический стек и архитектура
Пакет Claude Code, опубликованный в npm 31 марта 2026 года, включал .map файлы, которые раскрыли полный исходный код на TypeScript. Кодовая база состоит примерно из 1900 файлов с более чем 512 000 строк кода на TypeScript.
Основные технологии
- Среда выполнения: Bun
- Язык: TypeScript (строгий режим)
- Терминальный интерфейс: React + Ink (React для CLI)
- Парсинг CLI: Commander.js с дополнительными типами
- Валидация схем: Zod v4
- Поиск кода: ripgrep через GrepTool
- Протоколы: MCP SDK, LSP (vscode-jsonrpc)
- API: Anthropic SDK
- Телеметрия: OpenTelemetry + gRPC (ленивая загрузка, ~400КБ + 700КБ)
- Флаги функций: GrowthBook
- Аутентификация: OAuth 2.0, JWT, macOS Keychain
- Управление состоянием: Zustand (хранилище на основе React)
Основные моменты структуры каталогов
Каталог src/ содержит:
main.tsx- Точка входа с CLI Commander.js + рендеринг React/Inkcommands.ts- Реестр команд с более чем 100 командамиtools.ts- Реестр инструментов с более чем 38 инструментамиTool.ts- Определения типов инструментовQueryEngine.ts- Механизм запросов LLM (~46К строк)query.ts- Основной цикл запросов (~1729 строк)context.ts- Сбор системного/пользовательского контекстаcost-tracker.ts- Отслеживание стоимости токеновcommands/- Реализации слэш-команд (100+)tools/- Реализации инструментов (38+)components/- Компоненты Ink UI (~140)hooks/- React Hooks + хуки разрешенийservices/- Интеграции внешних сервисов, включая API, MCP, LSP, сжатие контекста, извлечение памяти и аналитикуconstants/- Системные промпты + константыbridge/- Мост интеграции IDEcoordinator/- Координатор нескольких агентовplugins/- Система плагиновskills/- Система навыковmemdir/- Система постоянной памятиtasks/- Система управления задачамиstate/- Управление состояниемremote/- Удаленные сессииserver/- Серверный режимvim/- Режим Vim с полным конечным автоматомvoice/- Голосовой вводkeybindings/- Система горячих клавишscreens/- Полноэкранный интерфейс (Doctor, REPL, Resume)schemas/- Схемы конфигурации Zodmigrations/- Миграции конфигурацииquery/- Подмодули конвейера запросовoutputStyles/- Стили выводаbuddy/- Компаньон-спрайт (пасхальное яйцо)
Основной поток данных
Система следует следующей схеме потока данных:
- Пользовательский ввод (терминал / IDE / удаленно)
main.tsx→ парсинг Commander.jsREPL.tsx(основной цикл взаимодействия)QueryEngine.submitMessage()← жизненный цикл сессии- Этап подготовки сообщения включает:
applyToolResultBudget()- ограничение размера результатаsnipCompact()- компактирование сниппетовmicroCompact()- микро-компактированиеcontextCollapse()- схлопывание контекстаautoCompact()- автоматическое компактирование
Этот анализ основан на утекшем исходном коде, который дает представление о том, как производственный AI-агент для программирования управляет контекстом, инструментами и координацией нескольких агентов.
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

TradingAgents-GUI: Локальный веб-интерфейс для многолетнего анализа акций с поддержкой Ollama
Графический интерфейс для фреймворка TradingAgents с несколькими LLM-агентами для анализа акций. Работает локально с Ollama, OpenAI, Anthropic и другими. Визуализация конвейера в реальном времени, читатель отчетов, экономия токенов до 50% в кратком режиме.
TextGen (text-generation-webui) становится нативным десктопным приложением с портативными сборками
TextGen, альтернатива LM Studio с открытым исходным кодом, превратилась из веб-интерфейса в настольное приложение без установки для Windows, Linux и macOS с портативными сборками, полной приватностью и расширенной поддержкой квантования.

Постоянная боковая панель для Claude Code с автономным управлением контентом
Разработчик создал TUI-панель, которая располагается в разделённой панели iTerm2 рядом с терминалом, с тремя фиксированными панелями, которыми Claude автономно управляет для отображения релевантного контента, такого как код, диаграммы и обновления статуса.

RalphTerm: цикл в стиле Ральфа для Claude Code с сессиями кросс-рецензирования от разных агентов
RalphTerm — это CLI с открытым исходным кодом на Rust, который запускает внешний цикл в стиле Ralph вокруг Claude Code: он берет план в формате Markdown, выполняет задачи в свежих интерактивных сессиях и проводит перекрестную проверку с другой моделью (например, Codex) в отдельных свежих сессиях, передавая найденные проблемы обратно в новые сессии исполнителя.