Chapter 05

核心服务地图:ctx 上到底挂了什么

目标不是背 API,而是建立能从顶层设计一路推导到源码细节的心智模型。读完本章,你应该能解释“为什么这样设计”,而不仅是“代码在哪里”。

1. 核心不是类,而是一组稳定 service key

Key责任谁消费
ctx.sessions活跃 Session 与事件日志loop、持久化、UI
ctx.systemPromptprompt section / variable / tool schema 组装loop
ctx.tools工具注册与执行管线loop、MCP、工具插件
ctx.agents活跃 agent 注册表与 factory 委托UI、CLI、subagent
ctx.agentLoop唯一具体 loop driveragents factory
ctx.llm消息/流协议与 adapter registryloop、model provider

2. 稳定接口 vs 具体实现

这是读 DSH 源码最重要的分层:core 包常常定义“契约”,provider 包提供“实现”,tool/UI 包做“消费”。如果你看到一个 consumer import 了具体 local provider,就要警觉它可能破坏 seam。

源码定位:Architecture core package map · docs/architecture.zh.md
打开官方源码/文档