跳转至

Wire 导读

按阅读顺序理解 interface-wire.md(端点与字段的唯一定义长表),不在此复制全集。产品前端只依赖 wire,见仓库根 webui/README.md。

三泳道总览

flowchart LR
  subgraph unary [Unary_HTTP]
    U["POST /api/ns/method"]
  end
  subgraph mux [WS_mux]
    M["/api/remote.mux"]
  end
  subgraph ev [Events]
    E["$events stream"]
    R["POST $events/result"]
  end
  U --> Api["WebApi.dispatch"]
  M --> Streams["session/follow terminal/attach ..."]
  E --> Bridge["approvals questions"]
  R --> Bridge
  Api --> SessionStore
  Streams --> SessionStore
泳道 用途 wire 章节 测试族
Unary 请求-响应 RPC §1~§3、§5、§7~§9 tests/test_web_server.py
Mux 长流 Remote §4 tests/test_web_mux.py、test_web_streams.py
Events 瀑布 + 结算 §4.3、§5、§6 tests/test_web_events.py、test_web_approvals.py

建议阅读顺序

  1. interface-wire §1 — 通道、认证、HTTP/WS 状态码
  2. §2 信封 — 两信封、RPC_ERROR_CODES(80 码,以 envelope.py 为准)
  3. §3 session unary — session/list|create|page|…
  4. §4 Remote — follow、control、terminal、schedule…
  5. §6 审批桥 — 与 T4 走查 对照

webui 消费侧

flowchart TB
  UI["webui src/ui app"]
  Wire["webui src/wire"]
  HTTP["fetch POST /api/..."]
  WS["WebSocket remote.mux"]
  UI --> Wire
  Wire --> HTTP
  Wire --> WS

src/wire/ 无 React 依赖,可用 vitest mock fetch/WS(webui/tests/wire*.ts)。

落地走查