diff --git a/docs/reference/hwlab.md b/docs/reference/hwlab.md index 6bae6c62..b679ba01 100644 --- a/docs/reference/hwlab.md +++ b/docs/reference/hwlab.md @@ -78,6 +78,14 @@ Web 登录凭据必须从目标 node/lane 的受控 source 解析并作为一次 排查 probe 登录误报时,优先看 JSON 里的 `actions`、`dom.authState`、`finalUrl` 和 `dom.requiredSelectors`。新版登录页 fallback 必须先等待真实登录 surface(`#workspace`、legacy id 或 `.login-card input`)再判断 input count;只在 `authState=login` 的瞬间立即 `count()` 可能把尚未挂载的 `.login-card` 误判成 `login-form-not-visible`。关闭 Workbench 登录/DOM helper 问题时,证据至少包含原命令、目标 URL/lane、登录 `selectorMode`、`finalUrl` 和 `workspace`/`commandInput` 等关键 selector 结果。 +### Cloud Web Workbench Prompt 浏览器闭环 + +Workbench prompt、TraceTimeline、final response、详情弹窗或工具调用展示类 issue 关闭前,必须同时有浏览器 UI 证据和同一 trace 的 typed CLI 交叉验证。浏览器侧优先使用 `trans : playwright --local-dir ` 在选中 node/lane workspace 执行,并打到同一 public origin;不要在 master server 本地跑浏览器,也不要用其他 lane 的旧端口代替。heredoc 内应显式等待 `/auth/login`、`#workspace`、`#code-agent-provider-profile`、session 选择、`/v1/agent/chat` 和目标 trace selector,而不是只靠页面标题或宽泛 input count 判断成功。截图、PDF 或 summary artifact 必须通过 `--local-dir` 或 `trans download` 回传,并在 closeout 中记录本地路径、bytes 和 SHA-256 verification。 + +一次完整的 Workbench prompt UI 证据应覆盖:Web session 登录成功;模型通道选择符合目标 provider profile;显式创建或选择 session;prompt 被 `/v1/agent/chat` 接受并得到 `traceId/sessionId/conversationId/threadId`;页面可见用户消息、Agent message、final response;若 TraceTimeline 初始是 compact/result 压缩态,应在 Web 上触发 `回放 Trace` 后展开 timeline,让页面本身可见 `commandExecution` 等工具行。随后在同一 node/lane public origin 上,用 `hwlab-cli client agent result `、`trace ` 和必要的 `inspect ` 交叉确认 terminal status、toolCalls、finalResponse、AgentRun run/command/runner ID 和脱敏状态。 + +Cloud Web 登录页的中文错误可能会把 API upstream 502、rollout 中间态或真实 401 都表现成登录失败。遇到登录失败先用目标 public origin probe `/health/live`、`/auth/login` 状态和选中 namespace 的 API/Web/edge-proxy rollout;只有 API 已 ready 且 `/auth/login` 明确返回 401 时,才把它归类为凭据或用户状态问题。rollout 瞬态恢复后重跑同一短生命周期 Playwright 验收即可,不要把 transient `upstream_unavailable` 写成长期功能缺陷。 + ## HWLAB FRP 维护 HWLAB 公网 FRP server 由 master server 上的 `hwlab-frps-dev` 容器承担,容器使用 host network,并把 `/opt/hwlab-frp/frps.dev.toml` 只读挂载到 `/etc/frp/frps.toml`。这个 server 侧 allowlist 是 UniDesk 指挥侧维护对象,不属于 G14 k3s GitOps desired state;G14 侧 `frpc` ConfigMap/Deployment 只负责各 runtime namespace 的客户端 tunnel。