Zpět na domů

Zdrojové kódy Claude Code: architektura CLI

Únik zdrojových kódů Claude Code odhalil mnohorežimový runtime na React/Ink s orchestrací agentů, dynamickými importy a přísnou bash-bezpečností. Analýza se zaměřuje na architekturu pro terminal AI.

Vnitřnosti Claude Code z úniku: React a agenti
Advertisement 728x90

Anatomie Claude Code: co odhalily zdrojové kódy z úniku

  • března 2026 unikly přes sourcemap v npm balíčku zdrojové kódy Claude Code. Nejde o čistý git-checkout, ale o obnovený snapshot klientského kódu s transformacemi a chybějícími soubory jako assistant/index.ts nebo daemon/main.js. screens/REPL.tsx je již prošit React Compilerem a main.tsx si zachovává stopy optimalizací spouštění: profileCheckpoint, prefetch keychain, paralelní MDM-read.

Kód odráží vývoj od jednoduchého CLI k terminálovému operačnímu systému. Importy jsou dynamické pro líné načítání, --version se spouští bez závislostí. Ale složitost roste: daemon, remote-control, tmux, MCP-servery.

CLI jako fasáda vícemódového runtime

entrypoints/cli.tsx — nádraží tras: --version, system prompt, daemon, environment-runner, self-hosted-runner, ps/logs/attach/kill. Dynamické importy minimalizují evaluation: workers are lean. Rychlé cesty netahají těžké moduly, snižují paměť a rizika selhání.

Plus: optimalizace startu. Mínus: znalost všech módů dělá CLI podobným letišti. Líné načítání zachraňuje, ale schéma děsí.

Google AdInline article slot
// Příklad z cli.tsx
if (fastPath) {
  // zero imports beyond this file
  console.log(version);
  process.exit(0);
}

main.tsx: střed gravitace systému

main.tsx — bod kolapsu: inicializace, výběr módu, tool pool, feature flags, KAIROS/Proactive, structured output, obnova sezení. Plus: všechny rozcestí na jednom místě. Mínus: kompromisy jako proactive mode před getTools() pro SleepTool.isEnabled().

Evoluce je vidět: od CLI k systému s vlajkami a kontrolami. Měřítko rodí takové konstrukce.

  • Inicializace a výběr módu
  • System prompt a tool pool
  • Feature flags a remote-sezení
  • UI-spuštění a sezení

React v terminálu: Ink a frontend-kombajn

Claude Code — React aplikace na Ink. screens/REPL.tsx spravuje upozornění, modální okna, IDE-integraci, MCP, pluginy, teammate-mód, floating UI, Buddy.

Google AdInline article slot

Synchronizuje stav, filtruje tools, přimíchává pluginy. Není to chat, ale frontend v terminálu s návyky prohlížeče.

Orchestrace agentů jako infrastruktura

Ne jeden agent, ale dispečink. AgentTool podporuje:

  • Synchronní/asynchronní spuštění
  • Background a worktree-izolaci
  • Remote a teammate-módy
  • Vlastní tool pool a permission mode
  • Cache-identitu prompt/tools

Async-agenti s pokrokem, upozorněními. Worktree jako část trasy. Dospělá agentnost za hranicemi Promise.all.

Google AdInline article slot

Explore-agent je omezen: read-only, bez write/delete/redirect/heredoc, zaměření na grep/read paralelně. Rovnováha samostatnosti a náhubku.

Tool execution: concurrency a odolnost vůči selhání

Nástroje seskupují: read-only paralelně, riskantní — sériově. Streamový executor s:

  • Zrušením sousedních při chybě
  • user_interrupted vs sibling_error vs streaming_fallback
  • Bufferováním pro pořádek
  • Zohledněním přerušení

Produkt přežívá zaseknutí a konflikty.

Bash bez sebevraždy: paranoia security

bashPermissions a bashSecurity blokují:

  • Command/process substitution
  • Heredoc/zsh equals
  • zmodload/ztcp/zpty
  • Zmatené vlajky
  • env/sudo/nice/timeout
  • Whitespace/escapování

Zralá vrstva proti skutečným útokům shellu od LLM.

Lidský dotek: Buddy a animace

buddy/ — ASCII-sprity, bubliny řeči, animace. Terminálový společník přidává život CLI.

Co je důležité:

  • Dynamické importy pro rychlý start módů
  • main.tsx jako střed orchestrace s kompromisy měřítka
  • Agentní infrastruktura s izolací a lifecycle
  • Paralelní/sériové tool calls s error-handling
  • Bash-security proti shell-útokům
  • React/Ink pro terminálový UI s Buddy

— Editorial Team

Advertisement 728x90

Číst dál