Claude Info
AI и агенты

claude-code

chiragjoshi12/claude-code

Независимый образовательный Python-порт Claude Code, переписанный с нуля на основе oh-my-codex. Содержит анализ утёкшего исходного кода TypeScript-CLI от Anthropic: архитектура инструментов, команд, сервисов и мультиагентной координации.

Установка

terminal
bash
git clone https://github.com/chiragjoshi12/claude-code.git

README

Claude Code — Утёкший исходный код (2026-03-31)

31 марта 2026 года полный исходный код CLI-инструмента Claude Code от Anthropic был слит через .map-файл, обнаруженный в их npm-реестре.


Как произошла утечка

Chaofan Shou (@Fried_rice) обнаружил утечку и опубликовал её:

«Исходный код Claude Code утёк через map-файл в их npm-реестре!»

@Fried_rice, 31 марта 2026

Файл source map в опубликованном npm-пакете содержал ссылку на полный, необфусцированный TypeScript-исходник, который можно было скачать в виде zip-архива из R2-хранилища Anthropic.


Обзор

Claude Code — официальный CLI-инструмент Anthropic, позволяющий взаимодействовать с Claude прямо из терминала для решения задач разработки: редактирование файлов, выполнение команд, поиск по кодовой базе, управление git-процессами и многое другое.

Данный репозиторий содержит утёкшую директорию src/.

  • Дата утечки: 2026-03-31
  • Язык: TypeScript
  • Среда выполнения: Bun
  • Терминальный UI: React + Ink (React для CLI)
  • Масштаб: ~1 900 файлов, 512 000+ строк кода

Структура директорий

src/ ├── main.tsx # Точка входа (CLI-парсер на базе Commander.js) ├── commands.ts # Реестр команд ├── tools.ts # Реестр инструментов ├── Tool.ts # Определения типов инструментов ├── QueryEngine.ts # Движок запросов к LLM (основной вызов Anthropic API) ├── context.ts # Сбор системного/пользовательского контекста ├── cost-tracker.ts # Отслеживание стоимости токенов │ ├── commands/ # Реализации slash-команд (~50) ├── tools/ # Реализации инструментов агента (~40) ├── components/ # Ink UI-компоненты (~140) ├── hooks/ # React-хуки ├── services/ # Интеграции с внешними сервисами ├── screens/ # Полноэкранные UI (Doctor, REPL, Resume) ├── types/ # Определения TypeScript-типов ├── utils/ # Вспомогательные функции │ ├── bridge/ # Мост интеграции с IDE (VS Code, JetBrains) ├── coordinator/ # Координатор мультиагентной системы ├── plugins/ # Система плагинов ├── skills/ # Система навыков ├── keybindings/ # Конфигурация горячих клавиш ├── vim/ # Vim-режим ├── voice/ # Голосовой ввод ├── remote/ # Удалённые сессии ├── server/ # Серверный режим ├── memdir/ # Директория памяти (постоянная память) ├── tasks/ # Управление задачами ├── state/ # Управление состоянием ├── migrations/ # Миграции конфигурации ├── schemas/ # Схемы конфигурации (Zod) ├── entrypoints/ # Логика инициализации ├── ink/ # Обёртка рендерера Ink ├── buddy/ # Компаньон-спрайт (пасхальное яйцо) ├── native-ts/ # Нативные TypeScript-утилиты ├── outputStyles/ # Стилизация вывода ├── query/ # Конвейер запросов └── upstreamproxy/ # Конфигурация прокси

Основная архитектура

1. Система инструментов (src/tools/)

Каждый инструмент, который может вызвать Claude Code, реализован как самодостаточный модуль. Каждый инструмент определяет схему входных данных, модель разрешений и логику выполнения.

ИнструментОписание
BashToolВыполнение shell-команд
FileReadToolЧтение файлов (изображения, PDF, ноутбуки)
FileWriteToolСоздание / перезапись файлов
FileEditToolЧастичное изменение файла (замена строк)
GlobToolПоиск файлов по шаблону
GrepToolПоиск по содержимому на базе ripgrep
WebFetchToolПолучение содержимого URL
WebSearchToolВеб-поиск
AgentToolЗапуск дочернего агента
SkillToolВыполнение навыка
MCPToolВызов инструмента MCP-сервера
LSPToolИнтеграция с Language Server Protocol
NotebookEditToolРедактирование Jupyter-ноутбуков
TaskCreateTool / TaskUpdateToolСоздание задач и управление ими
SendMessageToolМежагентный обмен сообщениями
TeamCreateTool / TeamDeleteToolУправление командами агентов
EnterPlanModeTool / ExitPlanModeToolПереключение режима планирования
EnterWorktreeTool / ExitWorktreeToolИзоляция git worktree
ToolSearchToolОтложенное обнаружение инструментов
CronCreateToolСоздание запланированных триггеров
RemoteTriggerToolУдалённый триггер
SleepToolОжидание в проактивном режиме
SyntheticOutputToolГенерация структурированного вывода

2. Система команд (src/commands/)

Пользовательские slash-команды, вызываемые с префиксом /.

КомандаОписание
/commitСоздание git-коммита
/reviewРевью кода
/compactСжатие контекста
/mcpУправление MCP-сервером
/configУправление настройками
/doctorДиагностика окружения
/login / /logoutАутентификация
/memoryУправление постоянной памятью
/skillsУправление навыками
/tasksУправление задачами
/vimПереключение Vim-режима
/diffПросмотр изменений
/costПроверка стоимости использования
/themeСмена темы
/contextВизуализация контекста
/pr_commentsПросмотр комментариев к PR
/resumeВосстановление предыдущей сессии
/shareПоделиться сессией
/desktopПередача в десктопное приложение
/mobileПередача в мобильное приложение

3. Сервисный слой (src/services/)

СервисОписание
api/Клиент Anthropic API, file API, bootstrap
mcp/Подключение к MCP-серверу и управление им
oauth/Поток аутентификации OAuth 2.0
lsp/Менеджер Language Server Protocol
analytics/Флаги функций и аналитика на базе GrowthBook
plugins/Загрузчик плагинов
compact/Сжатие контекста разговора
policyLimits/Ограничения политик организации
remoteManagedSettings/Удалённо управляемые настройки
extractMemories/Автоматическое извлечение воспоминаний

Похожие скиллы