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

✍️ OpenClawRadar📅 Опубликовано: 4 апреля 2026 г.🔗 Source
Анализ архитектуры Claude Code на основе утекших исходных карт
Ad

Технический стек и архитектура

Пакет 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/Ink
  • commands.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/ - Мост интеграции IDE
  • coordinator/ - Координатор нескольких агентов
  • plugins/ - Система плагинов
  • skills/ - Система навыков
  • memdir/ - Система постоянной памяти
  • tasks/ - Система управления задачами
  • state/ - Управление состоянием
  • remote/ - Удаленные сессии
  • server/ - Серверный режим
  • vim/ - Режим Vim с полным конечным автоматом
  • voice/ - Голосовой ввод
  • keybindings/ - Система горячих клавиш
  • screens/ - Полноэкранный интерфейс (Doctor, REPL, Resume)
  • schemas/ - Схемы конфигурации Zod
  • migrations/ - Миграции конфигурации
  • query/ - Подмодули конвейера запросов
  • outputStyles/ - Стили вывода
  • buddy/ - Компаньон-спрайт (пасхальное яйцо)
Ad

Основной поток данных

Система следует следующей схеме потока данных:

  1. Пользовательский ввод (терминал / IDE / удаленно)
  2. main.tsx → парсинг Commander.js
  3. REPL.tsx (основной цикл взаимодействия)
  4. QueryEngine.submitMessage() ← жизненный цикл сессии
  5. Этап подготовки сообщения включает:
    • applyToolResultBudget() - ограничение размера результата
    • snipCompact() - компактирование сниппетов
    • microCompact() - микро-компактирование
    • contextCollapse() - схлопывание контекста
    • autoCompact() - автоматическое компактирование

Этот анализ основан на утекшем исходном коде, который дает представление о том, как производственный AI-агент для программирования управляет контекстом, инструментами и координацией нескольких агентов.

📖 Read the full source: r/ClaudeAI

Ad

👀 Смотрите также

Использование pre-commit для повышения качества и безопасности кода, созданного с помощью ИИ.
Инструменты

Использование pre-commit для повышения качества и безопасности кода, созданного с помощью ИИ.

Разработчик делится своей конфигурацией pre-commit для проектов на Go и Java, используя инструменты вроде golangci-lint, govulncheck и checkov для выявления уязвимостей и проблем с качеством в коде, сгенерированном ИИ, перед коммитом.

OpenClawRadar
Snip: Инструмент с открытым исходным кодом сокращает использование токенов кода Claude с помощью YAML-фильтров.
Инструменты

Snip: Инструмент с открытым исходным кодом сокращает использование токенов кода Claude с помощью YAML-фильтров.

Snip — это инструмент на Go, который располагается между Claude Code и оболочкой, фильтруя многословный вывод команд через декларативные YAML-конвейеры, сокращая использование токенов на 60–90%. Он включает 16 компонуемых действий конвейера и работает с несколькими ИИ-агентами для программирования.

OpenClawRadar
Контекстно-инженерная система обучения для Claude Code, выполняющая роль постоянного репетитора
Инструменты

Контекстно-инженерная система обучения для Claude Code, выполняющая роль постоянного репетитора

Разработчик создал систему обучения на основе Claude Code, которая отслеживает прогресс между сессиями, проверяет понимание, прорабатывает упражнения и адаптируется к стилям обучения. Система использует структурированные markdown-файлы для формирования поведения агента и включает инструменты для извлечения страниц учебников из PDF-файлов.

OpenClawRadar
Spectr: MCP, который пишет спецификации приложений на основе записей экрана для пиксельно точных клонов Claude
Инструменты

Spectr: MCP, который пишет спецификации приложений на основе записей экрана для пиксельно точных клонов Claude

Spectr — это MCP-сервер, CLI и навык для Claude Code, который принимает .mp4/.mov запись экрана iOS-приложения и генерирует spec.md с семью разделами: hex-коды, вес шрифта, отступы, переходы и навигационный граф — устраняя необходимость в 30-минутном ручном написании спецификации для каждого экрана.

OpenClawRadar