服务层概览
src/services/ 目录包含 Claude Code 的所有后台服务和基础设施服务,约 130 个文件分布在 20 个子目录中,另有 16 个顶层散文件。
服务架构图
┌─────────────────────────────────────────────────────────────┐
│ 应用层 │
├───────────────┬──────────────────┬──────────────────────────┤
│ Compact │ Analytics │ Background Services │
│ (上下文压缩) │ (遥测分析) │ (后台服务) │
├───────────────┼──────────────────┼──────────────────────────┤
│ MCP │ OAuth │ Tools Service │
│ (协议服务) │ (认证授权) │ (工具管理) │
├───────────────┼──────────────────┼──────────────────────────┤
│ LSP │ Enterprise │ Plugins │
│ (语言服务) │ (企业功能) │ (插件系统) │
└───────────────┴──────────────────┴──────────────────────────┘服务目录清单
注意: 以下为 src/services/ 下实际存在的子目录,此前文档中列出的 hooks/、background/、enterprise/、cloudflare-tracing/、mcpAuth/、autoMode/、agents/、contextSearch/、prompt/ 均不存在。
| 子目录 | 文件数 | 功能 |
|---|---|---|
compact/ | 11 | 上下文压缩系统(micro/auto/session) |
analytics/ | 9 | 遥测、事件追踪(Datadog + 1P) |
mcp/ | 23 | MCP 协议客户端完整实现 |
lsp/ | 7 | Language Server Protocol 集成 |
oauth/ | 5 | OAuth 2.0 + SSO 认证 |
tools/ | 4 | 工具注册与管理 |
api/ | — | API 服务 |
plugins/ | — | 插件系统 |
tips/ | — | 提示信息 |
policyLimits/ | — | 策略限制 |
remoteManagedSettings/ | — | 远程托管设置 |
settingsSync/ | — | 设置同步 |
teamMemorySync/ | — | 团队记忆同步 |
AgentSummary/ | — | Agent 摘要 |
autoDream/ | — | 离线知识整合 |
extractMemories/ | — | 记忆提取 |
PromptSuggestion/ | — | 提示建议 |
MagicDocs/ | — | 文档自动生成 |
toolUseSummary/ | — | 工具使用摘要 |
SessionMemory/ | 3 | 会话记忆 |
顶层文件 (16个): awaySummary.ts, claudeAiLimits.ts, voice.ts, vcr.ts, tokenEstimation.ts, notifier.ts, preventSleep.ts, diagnosticTracking.ts 等
服务生命周期
App 启动
├── init() 阶段
│ ├── Analytics 初始化(Datadog + 1P sinks)
│ ├── OAuth token 验证
│ ├── MCP 服务器启动
│ └── Hooks 注册
│
├── REPL 运行阶段
│ ├── Compact 上下文管理(持续)
│ ├── Background services(按条件启动)
│ ├── LSP 连接(按需)
│ └── AutoMode 分类(按需)
│
└── 退出阶段
├── Analytics flush(异步)
├── MCP 服务器关闭
└── Session 清理文档导航
| 文档 | 涵盖服务 |
|---|---|
| 上下文压缩系统 | compact/ — 三层压缩架构 |
| 遥测分析系统 | analytics/ — 双 Sink 管道 |
| MCP 协议服务 | mcp/ + mcpAuth/ — 完整 MCP 实现 |
| 语言服务器 | lsp/ — LSP 集成 |
| 认证授权 | oauth/ — OAuth 2.0 + SSO |
| 工具管理服务 | tools/ — 工具注册、过滤 |
| 后台服务 | background/ — autoDream, extractMemories 等 |
| 企业功能 | enterprise/ — 策略、设置同步 |