xworkmate-app/docs/architecture/bridge-runtime-routing-map.md
2026-04-21 16:28:26 +08:00

2.2 KiB
Raw Blame History

Bridge Runtime Routing Map

Last Updated: 2026-04-21

本文记录 xworkmate-app 当前对 xworkmate-bridge 的运行时路由合同。UI 不直接承载这些路径Assistant UI 仍由 acp.capabilities 返回的 providerCataloggatewayProvidersavailableExecutionTargets 驱动。

App 侧任务发送只调用 bridge 主入口 /acp/rpc,不再拼接 provider-specific 直连 URL。下列 provider public mapping 是 bridge-owned 后端事实,用于说明 bridge 如何把 catalog / routing 解析到实际 provider 或 gateway。

App Runtime Flow

flowchart TD
  A["Assistant send"] --> B["acp.capabilities"]
  B --> C["providerCatalog"]
  B --> D["gatewayProviders"]
  B --> E["availableExecutionTargets"]

  C --> F["Hermes"]
  C --> G["Codex"]
  C --> H["OpenCode"]
  C --> I["Gemini"]
  D --> J["OpenClaw"]

  A --> P["POST https://xworkmate-bridge.svc.plus/acp/rpc"]
  P --> Q["Authorization: Bearer token"]
  P --> R["provider / requestedExecutionTarget params"]
  R --> S["bridge-owned routing"]

  S --> K["Hermes map<br/>https://xworkmate-bridge.svc.plus/acp-server/hermes"]
  S --> L["Codex map<br/>https://xworkmate-bridge.svc.plus/acp-server/codex"]
  S --> M["OpenCode map<br/>https://xworkmate-bridge.svc.plus/acp-server/opencode"]
  S --> N["Gemini map<br/>https://xworkmate-bridge.svc.plus/acp-server/gemini"]
  S --> O["OpenClaw map<br/>https://xworkmate-bridge.svc.plus/gateway/openclaw"]

Routing Rules

  • App runtime requests use https://xworkmate-bridge.svc.plus/acp/rpc.
  • Provider and gateway selection are passed as request params, including provider, routing, and requestedExecutionTarget.
  • Bridge-owned mapping:
    • Hermes -> https://xworkmate-bridge.svc.plus/acp-server/hermes
    • Codex -> https://xworkmate-bridge.svc.plus/acp-server/codex
    • OpenCode -> https://xworkmate-bridge.svc.plus/acp-server/opencode
    • Gemini -> https://xworkmate-bridge.svc.plus/acp-server/gemini
    • OpenClaw -> https://xworkmate-bridge.svc.plus/gateway/openclaw
  • The app must not route managed bridge tasks to local or LAN endpoints such as 127.0.0.1:* or 192.168.*:*.
  • The app must not route managed bridge tasks by directly constructing /acp-server/* or /gateway/openclaw URLs.