Анализ архитектуры 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

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

Бернштейн: Оркестратор, подобный Kubernetes, для ИИ-агентов программирования с верификацией и политиками моделей
Инструменты

Бернштейн: Оркестратор, подобный Kubernetes, для ИИ-агентов программирования с верификацией и политиками моделей

Bernstein — это оркестратор для ИИ-агентов программирования, который включает независимую проверку выходных данных агентов, управление политиками моделей, 13 адаптеров для агентов и детерминированное планирование на основе Python. Проект содержит более 5000 тестов и такие функции, как автоматические выключатели, обнаружение аномалий затрат и сканирование на наличие персональных данных.

OpenClawRadar
Примечание: Markdown-инструмент для аннотирования в рабочих процессах работы с кодом Claude
Инструменты

Примечание: Markdown-инструмент для аннотирования в рабочих процессах работы с кодом Claude

Remark — это нативное приложение для macOS, которое позволяет разработчикам добавлять аннотации в файлы Markdown прямо в тексте для рабочих процессов проверки кода в Claude Code. Оно экспортирует аннотации в формате JSON для агента и интегрируется через навык, установленный в директории .claude/skills/.

OpenClawRadar
Tether: MCP-сервер для обмена контекстом между ИИ-моделями через SQLite
Инструменты

Tether: MCP-сервер для обмена контекстом между ИИ-моделями через SQLite

Tether — это инструмент с открытым исходным кодом, который сворачивает JSON-данные в 28-байтовые контентно-адресуемые дескрипторы, позволяя нескольким ИИ-моделям обмениваться контекстом через общую базу данных SQLite. Он функционирует как сервер MCP, обеспечивая прямую коммуникацию между моделями, такими как Claude и MiniMax, без необходимости копирования и вставки.

OpenClawRadar
singularity-claude: Саморазвивающийся движок навыков для Claude Code
Инструменты

singularity-claude: Саморазвивающийся движок навыков для Claude Code

singularity-claude — это плагин с открытым исходным кодом для Claude Code, который добавляет рекурсивный цикл эволюции для предотвращения деградации навыков. Он оценивает выполнение навыков, автоматически исправляет низкооценённые навыки, фиксирует высокопроизводительные версии и выявляет пробелы в возможностях.

OpenClawRadar