05 - 服务层(services/)
概述
服务层封装外部集成和核心业务逻辑(130 个文件)。
源码位置:src/services/
服务清单
API 服务(api/,20 文件)
与 Anthropic API 的通信层:
claude.ts- Claude API 调用(accumulateUsage, updateUsage)logging.ts- 请求日志errors.ts- 错误处理(可重试错误分类)withRetry.ts- 重试逻辑(FallbackTriggeredError)dumpPrompts.ts- 提示导出promptCacheBreakDetection.ts- 提示缓存破坏检测
MCP 服务(mcp/,22 文件)
Model Context Protocol 实现:
client.ts- MCP 客户端(connectToServer, fetchToolsForClient)config.ts- MCP 配置管理types.ts- 类型定义(MCPServerConnection, ServerResource)
上下文压缩(compact/,11 文件)
上下文窗口管理:
autoCompact.ts- 自动压缩(calculateTokenWarningState, isAutoCompactEnabled)compact.ts- 压缩逻辑(buildPostCompactMessages)reactiveCompact.ts- 响应式压缩(REACTIVE_COMPACT 特性)contextCollapse/- 上下文折叠(CONTEXT_COLLAPSE 特性)
LSP 服务(lsp/,7 文件)
语言服务协议:
- TypeScript/JavaScript 语言服务集成
- 代码补全、诊断、定义跳转
分析服务(analytics/,9 文件)
使用分析和遥测:
growthbook.ts- 功能开关(getFeatureValue_CACHED_MAY_BE_STALE)index.ts- 事件日志(logEvent)
OAuth 服务(oauth/,5 文件)
认证授权:
- GitHub OAuth
- Anthropic 认证
团队记忆同步(teamMemorySync/,5 文件)
多代理间的记忆同步机制。
其他服务
| 服务 | 文件数 | 功能 |
|---|---|---|
plugins/ | 3 | 插件管理服务 |
autoDream/ | 4 | 自动梦境(后台推理) |
settingsSync/ | 2 | 设置同步 |
SessionMemory/ | 3 | 会话记忆 |
tips/ | 3 | 使用提示 |
MagicDocs/ | 2 | 魔法文档 |
extractMemories/ | 2 | 记忆提取 |
toolUseSummary/ | 1 | 工具使用摘要 |
AgentSummary/ | 1 | 代理摘要 |
PromptSuggestion/ | 2 | 提示建议 |
policyLimits/ | 2 | 策略限制 |
remoteManagedSettings/ | 4 | 远程托管设置 |
skillSearch/ | 1 | 技能搜索 |