运行表面

“运行表面”指用户或其他程序与同一个 Agent runtime 交互的不同方式。本阶段不重复官方使用手册,而是解释每个表面如何接入核心、在哪里形成独有状态,以及出了问题应从哪里开始。

对应源码

运行表面源码
Channel 与 Gatewaynanobot/channels/、nanobot/gateway/
HTTP API 与 SDKnanobot/api/server.py、nanobot/nanobot.py、nanobot/sdk/
WebSocket 与 WebUInanobot/channels/websocket.py、nanobot/session/webui_turns.py、nanobot/webui/、webui/
Provider 解析与 Fallbacknanobot/providers/registry.py、factory.py、fallback_provider.py

阅读顺序

  1. Channel 与 Gateway
  2. HTTP API 与 Python SDK
  3. WebSocket 与 WebUI
  4. Provider 解析与 Fallback

总体关系

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 重点是解析和统一契约,不是每家厂商配置。

下一步

阅读 Channel 与 Gateway。