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

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

Сервер MCP для локальных файлов XMind Mind Map выпущен
Инструменты

Сервер MCP для локальных файлов XMind Mind Map выпущен

Разработчик опубликовал MCP-сервер, предоставляющий 22 инструмента для чтения и записи локальных файлов ментальных карт XMind. Сервер работает с совместимыми с MCP AI-клиентами, такими как Claude Desktop и Cursor.

OpenClawRadar
LAP: Собрано более 1500 спецификаций API для использования в LLM с целью снижения галлюцинаций у Claude
Инструменты

LAP: Собрано более 1500 спецификаций API для использования в LLM с целью снижения галлюцинаций у Claude

LAP — это инструмент, который компилирует более 1500 реальных спецификаций API в облегчённый формат, оптимизированный для LLM, предоставляя проверенные конечные точки и параметры, чтобы предотвратить создание AI-агентами, такими как Claude, некорректных вызовов API.

OpenClawRadar
嵌入Shell中的AI代理:终端缓冲与覆盖扩展
Инструменты

嵌入Shell中的AI代理:终端缓冲与覆盖扩展

Оболочка с открытым исходным кодом и встроенным ИИ-агентом, который читает вывод терминала и вводит команды через плавающее наложение. Поддерживает локальные и облачные модели.

OpenClawRadar
nah: Контекстно-зависимый охранник разрешений для Claude Code
Инструменты

nah: Контекстно-зависимый охранник разрешений для Claude Code

nah — это PreToolUse-хук, который перехватывает каждый вызов инструмента в Claude Code, классифицируя команды по типам действий, таким как filesystem_read или git_history_rewrite, и применяя политики на основе контекста. Он запускает детерминированный классификатор за миллисекунды с возможностью эскалации к LLM для неоднозначных случаев.

OpenClawRadar