From b4d1b8c37704a354290af61d886eec4aa40ed66c Mon Sep 17 00:00:00 2001 From: phamnazage-jpg Date: Fri, 29 May 2026 10:38:09 +0800 Subject: [PATCH] docs(routing): record route proxy bridge verification --- docs/EXECUTION_BOARD.md | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/docs/EXECUTION_BOARD.md b/docs/EXECUTION_BOARD.md index cea30573..d596f12f 100644 --- a/docs/EXECUTION_BOARD.md +++ b/docs/EXECUTION_BOARD.md @@ -388,6 +388,50 @@ - `action=bind`,`route_id=codex2api-1780020999` - `action=bind`,`route_id=asxs-1780020999` - `action=hit`,`route_id=asxs-1780020999` + - 2026-05-29 已完成基础设施闭环补充 / `resolve + minimal chat proxy bridge` + - 提交:`9b1c6f43 feat(routing): add minimal chat proxy bridge` + - 新增管理 API: + - `POST /api/routing/proxy/chat/completions` + - 行为收口: + - 先复用 `POST /api/routing/resolve` 选出 `route_id / shadow_host_id / shadow_group_id / shadow_model` + - 再从插件 SQLite `hosts` 表读取 `shadow_host_id -> host.base_url` + - 用调用方显式提供的 `gateway_api_key` 代理转发最小 `POST /v1/chat/completions` + - 默认在未提供 `messages` 时发送最小 `ping` 消息 + - 转发结果会以同一 `request_id` 追加写回 `route_decision_logs`,补齐 `upstream_status / latency_ms / error_class` + - 本地门禁已通过: + - `gofmt -l .` + - `go vet ./...` + - `go test -cover ./internal/...` + - `go test ./tests/integration/... -count=1` + - remote43 已原位升级到 `repo HEAD = 9b1c6f43` + - `http://127.0.0.1:18173/healthz` 返回 `ok` + - remote43 真实服务器 API 验证已通过: + - 为避免依赖现成 managed gateway key,这轮在 remote43 本机临时起了 loopback stub `shadow host`: + - `host_id=proxy-shadow-host-1780022254` + - `base_url=http://127.0.0.1:18095` + - 只暴露最小 `POST /v1/chat/completions` + - 要求 `Authorization: Bearer gateway-key` + - 通过真实 CRM API 创建临时逻辑分组与路由: + - `logical_group_id=p1t6-proxy-1780022254` + - `route_id=asxs-1780022254` + - `shadow_group_id=p1t6-proxy-1780022254__asxs` + - `shadow_model=gpt-5.4-asxs` + - 调用 `POST /api/routing/proxy/chat/completions`: + - `request_id=req-p1t6-proxy-1780022254` + - `subject_id=conv-p1t6-proxy-1780022254` + - 返回 `route_id=asxs-1780022254` + - 返回 `shadow_host_id=proxy-shadow-host-1780022254` + - 返回 `shadow_model=gpt-5.4-asxs` + - 返回 `forward.ok=true` + - 返回 `forward.upstream_status=200` + - 返回 `forward.response.choices[0].message.content=pong-from-stub` + - stub 侧回读确认: + - 实际收到 `Authorization: Bearer gateway-key` + - 实际收到 `model=gpt-5.4-asxs` + - `GET /api/routing/logs/decisions?request_id=req-p1t6-proxy-1780022254&limit=5` + - 共回读到 `2` 条 decision log + - 最新一条 `upstream_status=200` + - 说明控制面 `resolve` 与数据面最小转发已被同一 `request_id` 串成闭环 - 2026-05-26 已把“最终用户 -> 公网域名 -> OpenClaw”这一跳补进正式验证口径: - 公网根地址当前统一为 `https://sub.tksea.top` - OpenClaw 本地 `MiniMax` 运行时故障已定位为 `pi-ai/openai-node` 未继承系统 `HTTP(S)_PROXY`,不是 allowlist 或模型名大小写问题