Claude Code Agent Runtime 架构 · v2.1.88 Sourcemap 还原
Query Loop 单次迭代
System Prompt 组装
缓存边界 · 动态上下文
Claude API 流式
Streaming · 扩展思考
Tool 调度执行
并发分组 · 权限 · Hook
Interactive REPLReact/Ink · 声明式终端 UI
Headless / SDK--print · stream-json
Remote / CCRWebSocket · 远程会话
Bridge 工作节点Remote Control · 轮询
Server ModeHTTP API · SDK 嵌入
消息驱动核心 — Interactive 与 Headless 共享同一套 query/tool/message 基础设施
Query Loop · 对话核心
QueryEngine.ts会话级对象 · 消息数组 · 文件缓存 · 用量追踪
query.ts 主循环API 流式 → tool_use 检测 → tool_result 回填
System Prompt 组装静态前缀 + DYNAMIC_BOUNDARY + 动态上下文
services/api/claude.ts请求组装 · beta header · tool schema · prompt cache
循环控制max-output 恢复 · 自动压缩 · stop hook
Tool Runtime · 40+ 工具
tools.ts 注册中心feature gate · 稳定排序 · prompt cache 友好
toolOrchestration.ts并发安全分组 · 读写分离并行执行
toolExecution.tsschema 校验 · hook · 权限 · 遥测 · OTel
Tool.ts 统一协议call + checkPermissions + render + isReadOnly
StreamingToolExecutor流式中并发执行 · 进度渲染
Anthropic Claude APIOpus · Sonnet · Haiku · 流式
MCP Server 进程stdio · SSE · HTTP · WS
本地文件系统Read · Edit · Write · Glob
Shell / 子进程Bash · PowerShell · sandbox
4路权限竞争
PermissionModedefault · plan · auto · bypass · bubble
4路 Race 解析User · Hook · Classifier · Bridge
Bash ClassifierLLM 自动判断命令安全性
规则引擎allow/deny/ask · glob · denial 追踪
ResolveOnce 原子竞争 · 第一个 claim 胜出
5层上下文压缩
① snip compact旧 tool_result → [snipped] 保留结构
② microcompactstrip 旧 tool results · 通知 cache detector
③ context collapse折叠已完成子对话
④ autoCompact阈值摘要
⑤ reactivePTL 错误触发
compact boundary · 增量恢复 · tool result 预算
四层扩展体系
Commands 80+built-in · skills · plugins · MCP prompt
Skills 技能Markdown prompt · 动态发现 · 条件激活
Plugins 插件能力包: cmd/skill/hook/MCP/agent
MCP Clientstdio/SSE/HTTP/WS/claudeai-proxy
外部能力统一映射为 tool/resource/command/skill
Agent / Task 子系统
AgentTool子代理 · 独立 tool pool/model/workdir
Task 统一壳local_agent · remote · bash · workflow
SendMessageTool团队上下文 · 广播 · plan 审批
worktree / remote 隔离Git worktree · 远程执行
Feature-Flagged 特性
GrowthBook
BUDDY 虚拟宠物Tamagotchi · 18种 · 500ms 精灵动画
KAIROS 常驻智能体夜间 Dream · Brief 模式 · 持久记忆
ULTRAPLAN 远程规划CCR 30min · 浏览器审批 · teleport
Coordinator 协调器多 Agent 并行 · push 通知 · scratch
持久化与状态层 ~/.claude/ · 会话生命周期管理
bootstrap/state.ts进程级全局状态
AppStateStoreZustand 式运行时状态
sessionStorage.tstranscript JSONL · 恢复核心
history.ts输入历史 · 项目级
compact boundary压缩点 · 增量恢复
fileHistory文件变更快照
memdir/记忆目录 · MEMORY.md
analytics / OTelDatadog · 遥测
关键架构判断
消息驱动 — 用户输入、模型输出、tool 进度、系统事件全部是 Message,transcript 是恢复核心
Prompt Cache 优先 — 工具稳定排序、DYNAMIC_BOUNDARY 分界、deferred tools、cache break detection
四层扩展叠加 — Command + Skill + Plugin + MCP 并行不冲突,决定了这是平台而非客户端
Agent 是一级概念 — 独立 tool pool / model / 权限 / worktree,支持 SendMessage 团队协作
技术栈
TypeScript + Bun ← 运行时
React / Ink ← 终端 UI 框架
@anthropic-ai/sdk ← Claude API 客户端
Zod v4 ← 工具 schema 校验
@modelcontextprotocol/sdk ← MCP 协议
vendor/: Rust 原生模块 (audio · image · key modifiers · URL handler)
↑ 循环迭代
直到纯文本返回或终止
Bash · Read · Edit · Write · Glob · Grep
Agent · Skill · ToolSearch · WebSearch …
安全边界
用户输入
4路权限竞争
User · Hook · Classifier · Bridge
Tool 安全边界
isReadOnly · 路径检查 · 危险文件
输入净化
Unicode 反注入 · SSRF guard
Hook 拦截
PreToolUse · PostToolUse
Feature Gate
feature() · ant-only · GrowthBook