运行表面
“运行表面”指用户或其他程序与同一个 Agent runtime 交互的不同方式。本阶段不重复官方使用手册,而是解释每个表面如何接入核心、在哪里形成独有状态,以及出了问题应从哪里开始。
对应源码
| 运行表面 | 源码 |
|---|---|
| Channel 与 Gateway | nanobot/channels/、nanobot/gateway/ |
| HTTP API 与 SDK | nanobot/api/server.py、nanobot/nanobot.py、nanobot/sdk/ |
| WebSocket 与 WebUI | nanobot/channels/websocket.py、nanobot/session/webui_turns.py、nanobot/webui/、webui/ |
| Provider 解析与 Fallback | nanobot/providers/registry.py、factory.py、fallback_provider.py |
阅读顺序
总体关系
flowchart TD USER["用户/程序"] --> CLI["CLI"] USER --> CH["Chat Channel"] USER --> WEB["WebUI"] USER --> API["HTTP API"] USER --> SDK["Python SDK"] CLI --> LOOP["AgentLoop"] CH --> GW["Gateway + MessageBus"] WEB --> WS["WebSocket Channel"] WS --> GW GW --> LOOP API --> LOOP SDK --> LOOP LOOP --> PS["Provider Snapshot"] PS --> P["LLM Provider / Fallback"]
学习边界
- 只选择代表性 Channel 理解共同契约;
- 不逐个讲所有平台 SDK;
- 不重复 API 参数表;
- 不系统教授 React;
- Provider 重点是解析和统一契约,不是每家厂商配置。