标准化测试流程与资产沉淀
将测试用例及其 Init 初始化脚本、前置材料准备、Agent 评审证据、每次完整评测报告和人工校验统一纳入规范流程。测试用例可以及时更新并持续提升规范性,每次均可标准化输出报告,同时沉淀可复用、可追溯的历史回归测试用例。
按测试 Case 与原始测试项逐条展示。PASS / FAIL / BLOCK 状态完全保留正式评测原始输出;33 条原始 FAIL 已补充人工复核,其中 2 条被确认为真实产品 Bug。
本轮共测试 19 道任务,覆盖 329 个测试项。Agent 在真实 NAC 网页环境中独立完成登录、页面导航、配置和功能操作,并根据实际页面表现对各测试项输出 PASS、FAIL、BLOCK 三类原始结论。
评测完成后,所有原始结论和关键 Trace 轨迹均交由 NAC 开发人员郑其昌逐项进行人工复查与打分。
这套测试 Agent 不只是一次性的自动化执行工具,而是面向产品研发全流程的测试规范、执行基础设施和质量资产沉淀平台。
将测试用例及其 Init 初始化脚本、前置材料准备、Agent 评审证据、每次完整评测报告和人工校验统一纳入规范流程。测试用例可以及时更新并持续提升规范性,每次均可标准化输出报告,同时沉淀可复用、可追溯的历史回归测试用例。
借助 E2B 隔离环境与 API 超高并发能力,将原本需要按天完成的大规模测试压缩到小时级,并自动汇总执行结果和证据、产出完整报告,显著降低重复人工操作、截图取证和报告整理成本。
接入企业 NorthCoder 后,可配合个人开发场景中的前端测试,在开发过程中更早发现页面、交互和流程错误,帮助开发者及时修正问题,把质量验证前移到日常研发阶段。
后续将配合 CUA 工具,把测试能力从网页扩展到更通用的 App。随着公司 E2B 基础设施逐步支持 macOS、Windows 和 Android,可在同一套标准化流程、证据链与报告体系下继续扩展桌面端和移动端测试。
原始评测共报告 33 条 FAIL。经人工审查,仅以下 2 条确认为真实产品 Bug;点击可直接定位到原始测试内容、Agent 结论和截图轨迹。
NAC-K8S-WEBUI-20260731-S1验证从账号注册登录、CLI 初始化到版本发布、环境部署、Playground 对话、Trace 观测和 PAT 调用的核心交付闭环。
Evidence: Opened `https://nac-beta.xiaobei.top/`; the North Agent Cloud landing page loaded without visible errors and displayed Chinese hero content plus actionable “进入控制台” and “查看文档” links.
问题:公开自助注册入口不可达;实际表现:当前登录页仅提供邮箱、密码、“登录”和“小北”认证,没有注册链接或注册表单,因此无法提交用户名、新邮箱和密码;已尝试:从 Landing 进入后检查完整可见登录页,并直接打开 `/register` 与 `/signup`;两者均重定向回根 Landing,页面只提供登录、进入控制台和文档入口。
案例描述存在问题:该功能不在实现计划中。
以该测试项最终判定点 Step 5 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "fact",
"reason": "Record mandatory source item verdict before moving on",
"text": "访问 Landing — PASS. Evidence: Browser opened https://nac-beta.xiaobei.top/ with title “North Agent Cloud”; visible North Agent Cloud branding, Chinese hero content, and actionable “进入控制台” and “查看文档” links. Root landing page loaded settled without visible error. Need Update: —."
}[fact] 访问 Landing — PASS. Evidence: Browser opened https://nac-beta.xiaobei.top/ with title “North Agent Cloud”; visible North Agent Cloud branding, Chinese hero content, and acti…模型当轮说明:当前测试项:**访问 Landing**。初始页面已稳定加载,标题为“North Agent Cloud”,根 URL 为 `https://nac-beta.xiaobei.top/`,可见品牌、主宣传内容、“进入控制台”和“查看文档”,满足直接访问 Landing 的正向与内容可用性检查;下一步先记录该项结论。
页面:https://nac-beta.xiaobei.top/
web_click_refok{
"duration_ms": 0,
"ref": 2
}Clicked 2.模型当轮说明:上一动作仅记录结论,页面状态未变化;当前仍是中文 Landing,顶部可见“登录”,主体有“进入控制台”。当前测试项:**注册账号**;要验证当前注册入口、全新邮箱有效提交及必要验证,先通过“进入控制台”进入认证流程并查找注册链接。
页面:https://nac-beta.xiaobei.top/
web_openok{
"url": "https://nac-beta.xiaobei.top/register"
}Opened https://nac-beta.xiaobei.top/register.模型当轮说明:“进入控制台”已导航到 `/login`;当前登录页只有邮箱、密码、“登录”和“小北”认证按钮,没有“注册”文案或入口。当前测试项仍为 **注册账号**,正在确认能力是否迁移;下一步尝试常见当前认证路由 `/register`,以区别入口隐藏/迁移与能力真正缺失。
页面:https://nac-beta.xiaobei.top/login
web_openok{
"url": "https://nac-beta.xiaobei.top/signup"
}Opened https://nac-beta.xiaobei.top/signup.模型当轮说明:访问 `/register` 被应用重定向回根 Landing,且根页仍仅提供“登录/进入控制台”,这是第二个当前 UI 搜索路径仍未发现注册。当前测试项:**注册账号**;为满足缺失能力的严格判定,再尝试常见替代 `/signup`,若仍无注册表单则可判定当前公开自助注册确实不可达。
页面:https://nac-beta.xiaobei.top/
web_noterecorded{
"kind": "fact",
"reason": "Mandatory verdict and FAIL evidence",
"text": "注册账号 — FAIL. Issue: public self-service account registration capability is not reachable. Actual: current /login exposes only email/password 登录 and 小北 authentication, with no 注册 link/form, so username + fresh email + password cannot be submitted. Attempts: entered authentication via Landing “进入控制台”; checked the full visible login page; opened /register and /signup, both redirected to root Landing, whose header/body only link to login/control console/docs. Need Update: — (capability absent rather than merely moved/renamed)."
}[fact] 注册账号 — FAIL. Issue: public self-service account registration capability is not reachable. Actual: current /login exposes only email/password 登录 and 小北 authentication, with …模型当轮说明:`/signup` 同样重定向回根 Landing;结合登录页无注册链接、`/register` 与 `/signup` 两条替代路由均无表单,已达到多路径搜索后的缺失判定。当前测试项 **注册账号** 判为 FAIL(不是路由漂移问题,而是公开自助注册能力不可达);下一步记录问题与尝试证据。
页面:https://nac-beta.xiaobei.top/
Attempted: Authenticated the primary account and created and verified a valid one-time PAT beginning with `nacp_`; Blocked by: the test harness provides browser-only Playwright tools, with no local terminal/process execution channel or observable `nac` CLI installation; Needed: a terminal with `nac` installed, network access to NAC, and a fresh non-revoked PAT to execute and verify `nac login --token`.
Attempted: Authenticated and inspected the current cloud project UI, but did not treat an existing web project as evidence of local CLI initialization; Blocked by: no shell, process runner, accessible local filesystem, or verifiable `nac` installation was supplied; Needed: a terminal with `nac` installed, a writable working directory, and filesystem inspection to execute `nac init hello-agent --template basic`, `cd`, and `ls`.
Attempted: Verified that a cloud environment and Playground were running, but these do not prove operation of a local development server; Blocked by: no terminal, local project directory, process control, port inspection, or log access is available; Needed: an initialized `hello-agent` project, installed `nac` CLI, and an observable persistent process for `nac dev`.
Attempted: Successfully sent and traced a conversation through the cloud Playground, but did not substitute that result for the required localhost request; Blocked by: no runnable local `nac dev` server, discovered local port, or shell/curl execution channel is available; Needed: a running local development server and an HTTP client capable of posting the specified query and `session_id` to `/v1/chat`.
Attempted: Verified an existing disposable project’s frontend release history and exercised redeployment, but did not misrepresent redeploying an existing release as creating a new CLI-published version; Blocked by: no local `hello-agent` project, terminal, process runner, or `nac` CLI is available; Needed: an initialized and authenticated local NAC workspace to execute `nac publish --message "first version"` and correlate the resulting release identity and message in the frontend.
Evidence: Opened disposable project `qa-chatgpt-versioned-20260803-0238` with ID `eca44ddd-e6a6-4121-954d-f54b278c8d19`; its onboarding view showed “发布历史 1” and release `bd97d435`, size 8.5 KB, timestamp 2026-08-03 02:58, and status “运行中”, matching the current deployment.
Historical/历史: Publish and browse `/agents/<project_id>/workspaces/onboarding` to find a version row; Current/当前: the onboarding workspace is environment-centric and displays the selected environment’s release under “发布历史”; Suggested Update/建议更新: verify release identity and status in the selected environment’s “发布历史” instead of expecting an unspecified version row.
Evidence: On the disposable project, “重新部署” produced a new deployment and environment; observed environment count 2→3, deployment count 2→4, and status “部署中”, followed by new release `deploy-20260802-b1f82230` becoming “当前部署/运行中” while the prior release became “已替换”; the generated test environment was then stopped and deleted, restoring the environment count to 2.
Historical/历史: Click a version-row “Deploy”, choose the default or a new environment, and confirm; Current/当前: deployment is environment-centric, with top-level “部署” and release-history “重新部署” actions, and deployment completes asynchronously; Suggested Update/建议更新: initiate deployment from the selected environment or release history, assert the `部署中` to `运行中` transition, and stop/delete any generated test environment during cleanup.
Evidence: Clicked “试验场” for environment `draft-test-cc23d873-e6e`; the environment-scoped Playground opened with a generated `session_id` and displayed sessions, the matching environment selector, message composer, Agent/model selector, API, Trace, and sandbox controls.
Historical/历史: Click a version-row “Playground” or use `/agents/<project_id>/<version_id>/workspaces/playground`; Current/当前: the selected environment’s “试验场” action opens `/agents/<project_id>/workspaces/playground?target=environment:<id>&session_id=<id>`; Suggested Update/建议更新: replace the version-scoped entry and URL assertion with the current environment-scoped “试验场” path and target/session checks.
Evidence: Created session `sess_01KZ1XQB8QBAW2ZXDCTKFPEW09`, entered the exact text “介绍一下你自己”, and pressed Enter; the operator message appeared at 03:03:33, the system agent returned a coherent Chinese self-introduction at 03:03:34, the session list title changed to the exact prompt, and the response exposed “查看 Trace”.
Evidence: Clicked dock “观测” and reached the Observe workspace for the same project and `draft-test-cc23d873-e6e` environment; it displayed session/search, trace-list, and trace-inspector columns, and the newly created session appeared with source “试验场”, trace count 1, and matching 03:03:33 last-trace time.
Historical/历史: Use dock “Observe” or the version-scoped `/agents/<project_id>/<version_id>/workspaces/observe`; Current/当前: localized dock “观测” opens `/agents/<project_id>/workspaces/observe` with an environment target and optional session ID; Suggested Update/建议更新: use the current “观测” label and assert the environment-scoped route and context.
Evidence: Selected session `sess_01KZ1XQB8QBAW2ZXDCTKFPEW09`; the middle list showed trace “介绍一下你自己” `#188464872`, duration 1秒30毫秒, two calls, and Agent `agent`; the inspector rendered `TRACE Agent: agent → SPAN Agent: agent → GENERATION OpenAI chat… nex-agi/Nex-N2-Pro`, with 1.03s, 101 tokens, 2 spans, the matching session ID, exact input, and full output.
Historical/历史: Click the first list row and enter trace details; Current/当前: the first session can be a zero-trace API session, while selecting a known session populates the middle trace list and inline right-side inspector; Suggested Update/建议更新: locate the known session/trace identity and assert its trace hierarchy, input, output, and metadata rather than blindly choosing the first row.
Evidence: Logged in with the supplied primary account, verified the top-right identity as `admin`, selected “用户中心”, and reached `/account`; the page displayed username `admin`, email `admin@nexau.cloud`, and the user ID.
Historical/历史: Open the top-right avatar dropdown, choose “账号中心” (`layout:header.accountCenter`), and reach `/account`; Current/当前: the top-right `admin` dropdown contains “用户中心”, which opens `/account`; Suggested Update/建议更新: replace the historical menu label/i18n expectation with “用户中心” while retaining the `/account` destination and identity verification.
Evidence: Empty name kept generation disabled; entered unique name `qa-pat-20260803-0258` with a 90-day expiration and generated a token beginning `nacp_`; the exact name, masked prefix, creation date, and expiry appeared in the PAT list and remained after reloading `/account`; revoked only that test PAT and verified its disappearance while seeded PAT rows remained.
Historical/历史: Click “创建 PAT”, enter a name, and confirm; Current/当前: `/account` contains a “访问令牌” card with “新建令牌”, name and expiration fields, “生成令牌”, and a one-time secret panel; Suggested Update/建议更新: revise the labels and add expiration selection, one-time copy, reload persistence, and targeted cleanup checks.
Attempted: Authenticated the primary account, created and verified a fresh `nacp_` PAT, confirmed the API documentation entry, and safely revoked the test token afterward; Blocked by: browser-page tools cannot run curl or issue a raw HTTP request with an arbitrary `Authorization: Bearer` header and inspect `/api/projects` status/body; Needed: a terminal or raw HTTP client with network access and a fresh non-revoked PAT.
NAC-K8S-WEBUI-20260731-S2验证 Gallery 模板从浏览、克隆、DevBox 修改和重新部署,到发布回 Gallery 并核对新条目的完整复用流程。
Evidence: 管理员登录后访问 `/global-hub` 成功,页面显示“全局概览”“多区域编排器”、在线会话数 1,204、平均响应时延 42ms,且身份保持为 admin
Historical/历史:访问 `/global-hub`,旧上下文暗示进入 Gallery 模板卡片页;Current/当前:该路由现进入“全局概览”监控页,左侧四宫格点击不导航;Suggested Update/建议更新:将预期更新为 `/global-hub` 打开全局概览;若目标是模板 Gallery,应改用当前模板入口
Evidence: 点击模板 `qa-cloned-20260803-0039` 的“预览”后,右侧打开标题为“Agent 定义 qa-cloned-20260803-0039”的详情抽屉;正文提示该种子版本无定义文件,但目标模板身份和详情容器均成功打开
Historical/历史:在 `/global-hub` 点击任一卡片;Current/当前:模板卡片位于 `/workspace/agents` 的“新建智能体”→“创建新项目”推荐模板区,通过“预览”打开详情抽屉;Suggested Update/建议更新:将路径改为在创建新项目弹窗中选择推荐模板并点击“预览”
Evidence: 选择 `qa-cloned-20260803-0039` 后卡片高亮,项目名和描述自动带入,底部按钮从“创建项目”变为“使用模板”,形成完整克隆表单
Historical/历史:模板详情点击“Clone”;Current/当前:工作区“新建智能体”→“创建新项目”→选择推荐模板,确认按钮显示“使用模板”;Suggested Update/建议更新:以“选择推荐模板并打开使用模板表单”替代独立 Clone 按钮和弹窗
Evidence: 项目名称被替换并读回为 `qa-cloned-20260803-0300`;源模板仍保持高亮,描述仍为 `QA test clone`,克隆上下文未丢失
Historical/历史:在 Clone 弹窗输入 `qa-cloned-<timestamp>`;Current/当前:在“创建新项目”的模板模式中编辑“项目名称”;Suggested Update/建议更新:将字段所在弹窗名称更新为“创建新项目”,保留唯一时间戳命名要求
Evidence: 点击“使用模板”后出现“项目创建成功”;智能体列表出现同一对象 `qa-cloned-20260803-0300`,ID 为 `83fbeb30-3f6f-4d0c-a28b-3e585c081de5`,所有者 admin、描述 `QA test clone`、时间为“刚刚”
Historical/历史:点击 Clone 弹窗确认;Current/当前:点击模板模式的“使用模板”,随后显示密钥弹窗并进入新项目;Suggested Update/建议更新:将确认按钮更新为“使用模板”,并要求在列表验证同名对象持久化
问题:成功模板克隆后未生成任何 version/draft;实际表现:同一对象的 Onboarding 显示环境 0、活跃 0、部署 0 和“暂无环境”,项目编辑器显示“暂无草稿”;已尝试:创建成功后检查自动进入的 Onboarding,再进入项目编辑器检查版本/草稿消费者视图,两处均为空
前置环境条件不存在:模板环境中缺少部署。
Historical/历史:在 Onboarding 页观察 version 列表;Current/当前:Onboarding 现按环境和部署展示,版本/草稿状态位于“项目编辑器”;Suggested Update/建议更新:验证路径应覆盖 Onboarding 部署计数及项目编辑器草稿/版本列表,但保留“克隆后应生成版本”的功能预期
以该测试项最终判定点 Step 26 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_refok{
"duration_ms": 0,
"ref": 83
}Clicked 83.模型当轮说明:上一项已记录。现在测试 **“确认 Clone”**:唯一测试对象名和源模板已锁定;需要验证确认操作发生后跳转/持久化,而不能只凭按钮点击或 toast。下一步点击“使用模板”。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "source-aligned verdict and created identity",
"text": "测试项:确认 Clone;状态:PASS;证据:点击当前“使用模板”后出现“项目创建成功”密钥弹窗;底层智能体列表首行同步出现同一唯一对象 `qa-cloned-20260803-0300`(ID `83fbeb30-3f6f-4d0c-a28b-3e585c081de5`),所有者 admin、描述 `QA test clone`、最近编辑/创建均为“刚刚”。Need Update:Historical/历史:点击 Clone 弹窗确认;Current/当前:点击模板模式的“使用模板”,随后显示密钥弹窗并回到智能体列表;Suggested Update/建议更新:将确认按钮名更新为“使用模板”,并要求以列表同名首行作为持久化验证。保留测试对象名供后续版本、Playground、DevBox、部署、发布验证。"
}[fact] 测试项:确认 Clone;状态:PASS;证据:点击当前“使用模板”后出现“项目创建成功”密钥弹窗;底层智能体列表首行同步出现同一唯一对象 `qa-cloned-20260803-0300`(ID `83fbeb30-3f6f-4d0c-a28b-3e585c081de5`),所有者 admin、描述 `QA test clone`、最近编辑…模型当轮说明:确认操作成功:出现“项目创建成功”并生成一次性密钥;更关键的是底层列表首行立即出现同一对象 `qa-cloned-20260803-0300`,所有者 admin、描述 `QA test clone`、时间“刚刚”,证明克隆持久化,满足 **“确认 Clone”**。下一步记录 PASS,然后测试精确来源项 **“确认 version 已生成”**:关闭密钥弹窗,打开该对象的当前详情/Onboarding,读取版本列表。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_click_refok{
"duration_ms": 0,
"ref": 68
}Clicked 68.模型当轮说明:上一项已记录,并保留同一对象 ID。现在测试 **“确认 version 已生成”**;当前密钥弹窗遮挡列表,下一步点击“我已保存,关闭”,随后打开同名首行,查找 Onboarding/版本消费者视图。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_click_refok{
"duration_ms": 0,
"ref": 8
}Clicked 8.模型当轮说明:关闭密钥弹窗后自动导航到同一对象的 `/agents/.../workspaces/onboarding`,顶部项目选择器确认 `qa-cloned-20260803-0300`;当前 Onboarding 仅显示“环境创建/暂无环境”,没有版本列表。仍测试 **“确认 version 已生成”**,需寻找当前版本视图;下一步点击左侧“项目编辑器”,检查版本/文件消费者视图。
页面:https://nac-beta.xiaobei.top/agents/83fbeb30-3f6f-4d0c-a28b-3e585c081de5/workspaces/onboarding
web_noterecorded{
"kind": "fact",
"reason": "source-aligned failing verdict",
"text": "测试项:确认 version 已生成;状态:FAIL;Issue:成功模板克隆后未生成任何 version/draft;Actual:同一对象 `qa-cloned-20260803-0300` 的 `/workspaces/onboarding` 显示环境 0、活跃 0、部署 0 且“暂无环境”,`/workspaces/artifact-editor` 显示“暂无草稿”,不存在版本条目;Attempts:创建成功后自动进入 Onboarding 检查,再切到项目编辑器检查草稿/版本消费者视图,两个视图均为 0/空。Need Update:Historical/历史:在 Onboarding 页观察 version 列表;Current/当前:Onboarding 当前按环境/部署展示,版本/草稿位于“项目编辑器”;Suggested Update/建议更新:将验证路径更新为 Onboarding 的部署计数加项目编辑器草稿/版本列表,但保留“克隆后应生成版本”的功能预期。"
}[fact] 测试项:确认 version 已生成;状态:FAIL;Issue:成功模板克隆后未生成任何 version/draft;Actual:同一对象 `qa-cloned-20260803-0300` 的 `/workspaces/onboarding` 显示环境 0、活跃 0、部署 0 且“暂无环境”,`/workspaces/artifact-…模型当轮说明:Onboarding 显示环境/活跃/部署均为 0;项目编辑器进一步明确显示“暂无草稿”,并说明可从版本、Gallery 模板或空制品创建草稿。也就是说同一成功克隆对象没有自动生成任何 version/draft,这直接违反 **“确认 version 已生成”**,可判 FAIL。为了继续后续 Playground/DevBox 项,不将此前已有对象当阻断;下一步先记录该失败,再尝试通过本对象“创建草稿”安全补齐后续前置。
页面:https://nac-beta.xiaobei.top/agents/83fbeb30-3f6f-4d0c-a28b-3e585c081de5/workspaces/artifact-editor
Evidence: 点击“试验场”成功进入同一项目的 `/agents/83fbeb30-3f6f-4d0c-a28b-3e585c081de5/workspaces/playground`,页面显示会话面板和“新建会话”区域
Historical/历史:dock 切 Playground;Current/当前:左侧项目 workspace 侧栏入口标签为“试验场”;Suggested Update/建议更新:将英文 Playground 更新为当前中文“试验场”,并保留路由验证
Attempted: 进入同一对象的试验场并点击“新建会话”,页面无变化;随后启动 DevBox 并尝试发版,但克隆无 version/draft、文件树无 `nexau.json`、发布按钮禁用;Blocked by: 缺少有效已部署制品和环境;Needed: 生成包含 `nexau.json` 的有效版本并成功部署后,才能发送 `hello cloned` 并验证响应
Historical/历史:在 Playground 直接输入 `hello cloned`;Current/当前:“试验场”要求先存在已部署制品,空状态仅显示“请先部署制品后再开始对话”;Suggested Update/建议更新:补充生成有效版本并成功发版/部署为前置,再新建会话、发送文本并校验响应
Evidence: 进入同一项目 `/workspaces/develop` 后成功启动开发机,状态变为绿色“运行中”,生成 session `session-4ec4c129ce7a`,并显示构建进度及导入、上传、发版、停止开发机工具栏
Historical/历史:点击“Agent4Agent 开发机”进入 `/workspaces/develop`;Current/当前:路径和标签保持一致,但首次进入需点击“启动 Agent4Agent 开发机”;Suggested Update/建议更新:补充启动开发机并验证运行中 session 的步骤
Attempted: 将开发机启动至运行中,检查主画布、工具栏和展开后的文件树;Blocked by: Web DevBox 未暴露终端,且克隆未生成 `agents/main.yaml` 或其他可编辑制品;Needed: 提供包含目标配置文件的有效克隆版本及 Web 终端/CLI,或提供当前等效文件编辑器
Historical/历史:终端执行 `sed -i 's/template/cloned-modified/g' agents/main.yaml`;Current/当前:DevBox 是 Agent4Agent 工作台,仅有文件树和发版工具栏,无终端;当前对象文件树仅有 `.nexau/a4a`;Suggested Update/建议更新:若新架构使用 Agent4Agent 或文件编辑器,应改为当前可编辑文件并验证保存;否则明确提供 CLI 终端前置
Attempted: 在运行中 DevBox 点击“发版”,成功打开“发布新版本”弹窗,默认源目录 `.`、环境 `production`、版本 `v1.0.0`;Blocked by: 文件树仅有 `.nexau/a4a`,缺少必需的 `nexau.json`,发布按钮禁用,且前项配置修改无法执行;Needed: 有效可部署制品及完成的配置修改
Historical/历史:点击 DevBox 工具栏“Deploy”;Current/当前:工具栏标签为“发版”,打开“发布新版本”表单并要求源目录、目标环境和版本标签;Suggested Update/建议更新:将按钮名称更新为“发版”,并补充源目录必须包含 `nexau.json` 及唯一版本标签的前置
Evidence: 点击“配置”成功进入同一项目 `/workspaces/governance`;页面展示基本信息、API 密钥、运行配置、负载均衡、资源上限、网络策略、消息通道及删除项目等治理设置
Historical/历史:dock 切 governance;Current/当前:左侧 workspace 侧栏入口显示中文“配置”,路由仍为 `/workspaces/governance`;Suggested Update/建议更新:将入口标签更新为“配置”,保留 governance 路由与治理设置验证
Evidence: 在 Governance 分别搜索 `Gallery` 和“发布”均无匹配后,点击本轮对象 `qa-cloned-20260803-0300` 的分享图标,成功打开“添加到模板库”弹窗;弹窗显示准确项目名、允许试用复选框及确认按钮
Historical/历史:在 Governance 点击“Publish to Gallery”;Current/当前:发布入口位于 `/workspace/agents` 对象行的分享操作图标,弹窗名称为“添加到模板库”;Suggested Update/建议更新:将入口从 Governance 改为智能体列表对象操作,并更新按钮/弹窗名称
Evidence: 源对象描述已为 `QA test clone`;确认发布后,同一列表行类型从 `—` 变为 `GALLERY`,描述保持 `QA test clone`,操作图标由添加变为移除,证明发布状态持久化
Historical/历史:填写 tagline `QA test clone` 后确认发布;Current/当前:发布弹窗没有 tagline 字段,Gallery 展示文本继承项目“描述”;Suggested Update/建议更新:先在项目创建或基本信息中将描述设为 `QA test clone`,再通过“添加到模板库”确认发布并验证 GALLERY 类型
Evidence: 重新打开推荐模板区后,首张新卡片精确显示 `qa-cloned-20260803-0300`、描述 `QA test clone`、作者 admin;同屏旧模板 `qa-cloned-20260803-0039` 和 `qa-cloned-20260731-1702` 可用于排除误认
Historical/历史:访问 `/global-hub` 验证 Gallery 新条目;Current/当前:`/global-hub` 为全局概览,Gallery 模板消费者位于 `/workspace/agents` 的“新建智能体”→推荐模板;Suggested Update/建议更新:发布后重新打开“创建新项目”推荐模板区,验证同名卡片、描述及作者
NAC-K8S-WEBUI-20260731-S3验证 DevBox 的终端与文件编辑、上传和工具调用、A4A 触发、部署验证以及最终回收生命周期。
Evidence: 主账号登录成功并显示 admin;进入 disposable 项目 `qa-devbox-run-20260803-0109` 的 `/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop`,启动后显示绿色“运行中”、A4A 画布、聊天及文件区
历史:浏览器直接进入 `/agents/<project_id>/workspaces/develop`;当前:登录后从智能体列表进入项目,点击“Agent4Agent 开发机”,首次还需点击“启动 Agent4Agent 开发机”;建议更新:增加登录、选择 disposable 项目和首次启动步骤,以绿色“运行中”及工作区控件出现为成功标准
问题:当前 Web UI 无可执行 shell/终端能力;实际表现:高代码工具栏仅有保存、上传、新建文件、新建文件夹和刷新,无法执行指定命令;已尝试:检查 develop 工作区、项目编辑器空态、disposable 低代码草稿、高代码文件树及可见底部区域
测试案例错误。
历史:终端运行 `pwd && ls agents/`;当前:develop、项目编辑器低代码及高代码视图均未提供终端;建议更新:若终端已计划移除,应改为 CLI/远程开发环境测试;若仍为需求,应恢复 Web 终端入口
以该测试项最终判定点 Step 67 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "fact",
"reason": "Phase A mandatory result for exact source title",
"text": "测试项:Playground 验证\n状态:FAIL\nIssue:刚发布到 production 后,新的 Playground 会话无法得到智能体回复,并出现会话内容错配。\nActual:新建 session `sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW`,发送“验证 QA modified 是否生效”;主区显示该操作员消息,但连续两次返回黄色“服务器繁忙,请稍后重试”,无 agent 回复。等待 10 秒并再次点击发送仍无成功响应;同一新 session/选中条目上方还显示旧会话“北京今天天气”及旧系统回复。\nAttempts:使用发布后的 production 目标;明确新建空会话并确认 session_id 改变;首次发送、等待 10 秒后重试;检查 URL、选中会话标题及主内容。\nNeed Update:Historical/历史:进入新 version playground 后发送“验证 QA modified 是否生效”;Current/当前:Playground 目标按 production 环境选择,并通过“新建会话”获得 session_id;Suggested Update/建议更新:改为在 production 环境新建会话发送该句,并断言当前 session 只含本会话消息且收到 `qa_modified` agent 回复。"
}[fact] 测试项:Playground 验证 状态:FAIL Issue:刚发布到 production 后,新的 Playground 会话无法得到智能体回复,并出现会话内容错配。 Actual:新建 session `sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW`,发送“验证 QA modified 是否生效”;主区显示该操作员消…模型当轮说明:重试后主区终于显示当前操作员消息“验证 QA modified 是否生效”,但仍连续两次“服务器繁忙,请稍后重试”,无任何智能体响应;同时同一 session 上方混入旧“北京今天天气”内容,确认下游会话状态异常。**Playground 验证** 判 FAIL。下一测试项:**回 DevBox**,记录失败后通过侧栏回到 Agent4Agent 开发机并验证 develop 路由/状态。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_click_refok{
"duration_ms": 0,
"ref": 11
}Clicked 11.模型当轮说明:当前测试项:**回 DevBox**。Playground 仍停留在 production 新会话错误页;侧栏“Agent4Agent 开发机”可见。下一步点击它,验证 URL 返回 develop、开发机状态和团队画布保留。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_noterecorded{
"kind": "fact",
"reason": "Phase A mandatory result for exact source title",
"text": "测试项:回 DevBox\n状态:PASS\n证据:从 production Playground 点击侧栏“Agent4Agent 开发机”,URL 从 `/workspaces/playground?...` 切回 `/workspaces/develop?...`;页面显示绿色“运行中”、A4A 4/7 团队画布及刚发送的 `agents/agent.yaml` 评审请求追踪流,开发机上下文保留。\nNeed Update:Historical/历史:切回 develop 页;Current/当前:通过侧栏“Agent4Agent 开发机”返回,仍落在 `/workspaces/develop`;Suggested Update/建议更新:补充当前侧栏控件名,并以 develop URL、绿色运行状态及团队画布恢复为断言。"
}[fact] 测试项:回 DevBox 状态:PASS 证据:从 production Playground 点击侧栏“Agent4Agent 开发机”,URL 从 `/workspaces/playground?...` 切回 `/workspaces/develop?...`;页面显示绿色“运行中”、A4A 4/7 团队画布及刚发送的 `agents/…模型当轮说明:返回成功:URL 已由 `/workspaces/playground` 切回 `/workspaces/develop`,开发机显示绿色“运行中”、A4A 4/7、团队画布及刚才评审请求的追踪流,证明上下文保留。**回 DevBox** 判 PASS。当前最后测试项:**关闭 DevBox**;当前等价控件为顶部红框“停止开发机”,下一步先记录返回结果,再点击停止并处理确认,最终验证状态不再运行/重新出现启动按钮。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1406,
"y": 198
}Clicked viewport point (1406.0, 198.0).模型当轮说明:当前测试项:**关闭 DevBox**。同一 disposable 开发机当前为绿色“运行中”,顶部红框“停止开发机”可见;这是安全破坏性操作目标。下一步点击该控件,若有浏览器确认则确认,然后等待并验证“启动 Agent4Agent 开发机”恢复。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_noterecorded{
"kind": "fact",
"reason": "Phase A mandatory result for exact source title; testing complete",
"text": "测试项:关闭 DevBox\n状态:PASS\n证据:在同一 disposable `qa-devbox-run-20260803-0109` 的 develop 页,关闭前显示绿色“运行中”、团队画布与顶部“停止开发机”;点击该按钮后画布/运行状态消失,页面恢复 Agent4Agent 开发机启动页,中央出现“启动 Agent4Agent 开发机”按钮,证明开发机已停止。\nNeed Update:Historical/历史:点关闭按钮;Current/当前:当前明确控件名为“停止开发机”,关闭后回到“启动 Agent4Agent 开发机”空态;Suggested Update/建议更新:把按钮名改为“停止开发机”,并要求验证绿色运行态消失且启动按钮重新出现。\nCoverage reconciliation:16 items total;PASS=10(进 DevBox、打开 agent YAML、编辑文件、保存文件、触发 A4A、触发部署、填 tag 并确认、跳到新 version Playground、回 DevBox、关闭 DevBox);FAIL=2(终端基本可用、Playground 验证);BLOCK=4(上传 PDF、终端确认文件存在、让 agent 用 PDF→Markdown 工具、验证输出)。"
}[fact] 测试项:关闭 DevBox 状态:PASS 证据:在同一 disposable `qa-devbox-run-20260803-0109` 的 develop 页,关闭前显示绿色“运行中”、团队画布与顶部“停止开发机”;点击该按钮后画布/运行状态消失,页面恢复 Agent4Agent 开发机启动页,中央出现“启动 Agent4Agent 开发…模型当轮说明:“停止开发机”点击后直接完成关闭,无确认阻碍:运行画布和绿色状态消失,页面回到启动页,中央唯一主操作为“启动 Agent4Agent 开发机”。同一 disposable 身份仍在,满足 before→after。**关闭 DevBox** 判 PASS。所有 16 个 source title 已分别得到并记录正式状态;下一步记录最后一项,然后进入 Phase B 汇总唯一最终报告。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
Evidence: 高代码文件树展开 `agents` 并高亮 `agent.yaml`,编辑区显示 type、name、system_prompt、llm_config、tools、middlewares 和 skills 等完整 YAML
历史:文件树点击 `agents/main.yaml`;当前:空制品默认文件为 `agents/agent.yaml`,入口位于“项目编辑器 → 高代码”;建议更新:将默认路径改为 `agents/agent.yaml` 并注明高代码入口
Evidence: 在同一 disposable 草稿文件起点插入 `# QA modified 20260803-0259`;注释成为第 1 行,原 `type: agent` 下移至第 2 行,行数从 16 变为 17,并显示未保存标记
历史:在 `agents/main.yaml` 第 1 行前插入注释;当前:在高代码 Monaco 编辑器的 `agents/agent.yaml` 中编辑;建议更新:修改文件路径并注明需进入高代码编辑器
Evidence: 保存后未保存标记消失,修订号从 1 变为 2、大小从 421 B 变为 449 B;刷新草稿后首行注释仍存在,证明内容已持久化
历史:使用 Cmd+S;当前:高代码编辑器提供明确的“保存”按钮和“文件已保存”反馈;建议更新:改为点击“保存”并刷新草稿读回内容,可另保留快捷键兼容性子测
Attempted: 打开原生文件选择器,检查 Recent,并通过 Ctrl+L 尝试 `/home/oai/share/fixtures/sample.pdf`;Blocked by: 指定 `sample.pdf` 未提供,系统报告 `/home/oai/share/fixtures` 不存在;Needed: 在 VM 可读目录提供该 PDF 或其实际绝对路径
历史:点击文件上传按钮选择 `fixtures/sample.pdf`;当前:入口位于“项目编辑器 → 高代码”的“上传文件”,使用原生文件选择器;建议更新:注明高代码入口,并在环境准备中提供 fixture 的 VM 绝对路径
Attempted: 检查上传 chooser、常见 fixture 路径以及 develop/低代码/高代码终端入口;Blocked by: `sample.pdf` 未提供且当前 Web UI 无 shell;Needed: 提供并上传 PDF,同时提供终端或受支持的文件存在性验证视图
历史:终端执行 `ls -la /home/user/sample.pdf`;当前:Web 项目编辑器无终端,上传文件预期位于草稿文件树而非已验证的 `/home/user`;建议更新:若采用草稿存储,改为刷新文件树并读取同一 PDF;若仍检查容器路径,需注明终端入口和实际工作目录
Attempted: 启动开发机并确认消息输入可用,尝试通过当前上传入口定位 PDF;Blocked by: 转换输入 `sample.pdf` 未提供且未能上传,无法区分工具行为与缺失输入错误;Needed: 提供并成功上传可读 PDF 后执行请求
历史:聊天输入“把 sample.pdf 转成 markdown 并保存为 out.md”;当前:聊天位于“Agent4Agent 开发机”底部,上传入口位于高代码编辑器;建议更新:明确先在高代码文件树上传 PDF,再从运行中的开发机聊天发起转换
Attempted: 刷新高代码文件树并确认仅有默认文件,且跨 develop、低代码和高代码搜索终端;Blocked by: PDF 转换前置未建立,因此无 `out.md`,同时也无终端执行 `head`;Needed: 提供 PDF、成功执行转换,并提供文件树或终端输出验证路径
历史:终端运行 `head -20 /home/user/out.md`;当前:高代码编辑器可刷新文件树并打开文本文件,但没有终端;建议更新:若输出保存到草稿,改为刷新并打开 `out.md` 读取前 20 行;若仍保存到容器路径,需补充终端入口
Evidence: 发送“请使用子智能体帮我评审 agents/agent.yaml,并返回评审结果”后,追踪流新增“用户 → @Leader”消息,Leader 与 worker#1 进入“思考中”,Leader→worker 连线高亮
历史:请求评审 `agents/main.yaml`;当前:默认文件为 `agents/agent.yaml`,消息框位于 Agent4Agent 开发机底部;建议更新:修改文件名,并增加“必要时停止旧运行以启用输入框”的前置及 worker 活跃断言
Evidence: 输入唯一 tag `qa-devbox-20260803-0307` 后发布成功,显示“已发布为版本 #0”及版本 ID `961955e1-5281-4e2f-a0fd-341fd49afc7e`,随后 production Playground 可加载
历史:填写 `qa-devbox-<timestamp>` 后确认;当前:需在“发布新版本”弹窗同时确认源目录、production 环境、tag,并点击“发布”;建议更新:增加源目录与环境断言,以版本序号和版本 ID 为成功标准
Evidence: 发布版本 #0 后从同一页面进入 `/workspaces/playground?target=environment%3Aproduction`;目标下拉和配置页均确认当前消费者按 Production 环境选择
历史:进入新 version 的 playground;当前:版本发布到 production 后,Playground 仅通过 `target=environment:production` 打开,目标选择器没有 version 选项;建议更新:改为“发布成功后进入试验场并确认目标为 production”,版本 ID 由发布步骤验证
问题:新发布环境的 Playground 无法返回智能体回复且发生会话内容错配;实际表现:在新 session `sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW` 发送测试句后连续两次显示“服务器繁忙,请稍后重试”,无 agent 回复,同一 session 还混入旧“北京今天天气”内容;已尝试:明确新建空会话、确认 session_id 改变、首次发送、等待 10 秒后重试并核对 URL、选中会话和主内容
测试案例错误。
历史:进入新 version Playground 后发送“验证 QA modified 是否生效”;当前:需在 production 环境新建带独立 session_id 的会话;建议更新:增加当前 session 内容隔离断言,并要求收到 `qa_modified` 智能体回复
以该测试项最终判定点 Step 67 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "fact",
"reason": "Phase A mandatory result for exact source title",
"text": "测试项:Playground 验证\n状态:FAIL\nIssue:刚发布到 production 后,新的 Playground 会话无法得到智能体回复,并出现会话内容错配。\nActual:新建 session `sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW`,发送“验证 QA modified 是否生效”;主区显示该操作员消息,但连续两次返回黄色“服务器繁忙,请稍后重试”,无 agent 回复。等待 10 秒并再次点击发送仍无成功响应;同一新 session/选中条目上方还显示旧会话“北京今天天气”及旧系统回复。\nAttempts:使用发布后的 production 目标;明确新建空会话并确认 session_id 改变;首次发送、等待 10 秒后重试;检查 URL、选中会话标题及主内容。\nNeed Update:Historical/历史:进入新 version playground 后发送“验证 QA modified 是否生效”;Current/当前:Playground 目标按 production 环境选择,并通过“新建会话”获得 session_id;Suggested Update/建议更新:改为在 production 环境新建会话发送该句,并断言当前 session 只含本会话消息且收到 `qa_modified` agent 回复。"
}[fact] 测试项:Playground 验证 状态:FAIL Issue:刚发布到 production 后,新的 Playground 会话无法得到智能体回复,并出现会话内容错配。 Actual:新建 session `sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW`,发送“验证 QA modified 是否生效”;主区显示该操作员消…模型当轮说明:重试后主区终于显示当前操作员消息“验证 QA modified 是否生效”,但仍连续两次“服务器繁忙,请稍后重试”,无任何智能体响应;同时同一 session 上方混入旧“北京今天天气”内容,确认下游会话状态异常。**Playground 验证** 判 FAIL。下一测试项:**回 DevBox**,记录失败后通过侧栏回到 Agent4Agent 开发机并验证 develop 路由/状态。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_click_refok{
"duration_ms": 0,
"ref": 11
}Clicked 11.模型当轮说明:当前测试项:**回 DevBox**。Playground 仍停留在 production 新会话错误页;侧栏“Agent4Agent 开发机”可见。下一步点击它,验证 URL 返回 develop、开发机状态和团队画布保留。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_noterecorded{
"kind": "fact",
"reason": "Phase A mandatory result for exact source title",
"text": "测试项:回 DevBox\n状态:PASS\n证据:从 production Playground 点击侧栏“Agent4Agent 开发机”,URL 从 `/workspaces/playground?...` 切回 `/workspaces/develop?...`;页面显示绿色“运行中”、A4A 4/7 团队画布及刚发送的 `agents/agent.yaml` 评审请求追踪流,开发机上下文保留。\nNeed Update:Historical/历史:切回 develop 页;Current/当前:通过侧栏“Agent4Agent 开发机”返回,仍落在 `/workspaces/develop`;Suggested Update/建议更新:补充当前侧栏控件名,并以 develop URL、绿色运行状态及团队画布恢复为断言。"
}[fact] 测试项:回 DevBox 状态:PASS 证据:从 production Playground 点击侧栏“Agent4Agent 开发机”,URL 从 `/workspaces/playground?...` 切回 `/workspaces/develop?...`;页面显示绿色“运行中”、A4A 4/7 团队画布及刚发送的 `agents/…模型当轮说明:返回成功:URL 已由 `/workspaces/playground` 切回 `/workspaces/develop`,开发机显示绿色“运行中”、A4A 4/7、团队画布及刚才评审请求的追踪流,证明上下文保留。**回 DevBox** 判 PASS。当前最后测试项:**关闭 DevBox**;当前等价控件为顶部红框“停止开发机”,下一步先记录返回结果,再点击停止并处理确认,最终验证状态不再运行/重新出现启动按钮。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1406,
"y": 198
}Clicked viewport point (1406.0, 198.0).模型当轮说明:当前测试项:**关闭 DevBox**。同一 disposable 开发机当前为绿色“运行中”,顶部红框“停止开发机”可见;这是安全破坏性操作目标。下一步点击该控件,若有浏览器确认则确认,然后等待并验证“启动 Agent4Agent 开发机”恢复。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_noterecorded{
"kind": "fact",
"reason": "Phase A mandatory result for exact source title; testing complete",
"text": "测试项:关闭 DevBox\n状态:PASS\n证据:在同一 disposable `qa-devbox-run-20260803-0109` 的 develop 页,关闭前显示绿色“运行中”、团队画布与顶部“停止开发机”;点击该按钮后画布/运行状态消失,页面恢复 Agent4Agent 开发机启动页,中央出现“启动 Agent4Agent 开发机”按钮,证明开发机已停止。\nNeed Update:Historical/历史:点关闭按钮;Current/当前:当前明确控件名为“停止开发机”,关闭后回到“启动 Agent4Agent 开发机”空态;Suggested Update/建议更新:把按钮名改为“停止开发机”,并要求验证绿色运行态消失且启动按钮重新出现。\nCoverage reconciliation:16 items total;PASS=10(进 DevBox、打开 agent YAML、编辑文件、保存文件、触发 A4A、触发部署、填 tag 并确认、跳到新 version Playground、回 DevBox、关闭 DevBox);FAIL=2(终端基本可用、Playground 验证);BLOCK=4(上传 PDF、终端确认文件存在、让 agent 用 PDF→Markdown 工具、验证输出)。"
}[fact] 测试项:关闭 DevBox 状态:PASS 证据:在同一 disposable `qa-devbox-run-20260803-0109` 的 develop 页,关闭前显示绿色“运行中”、团队画布与顶部“停止开发机”;点击该按钮后画布/运行状态消失,页面恢复 Agent4Agent 开发机启动页,中央出现“启动 Agent4Agent 开发…模型当轮说明:“停止开发机”点击后直接完成关闭,无确认阻碍:运行画布和绿色状态消失,页面回到启动页,中央唯一主操作为“启动 Agent4Agent 开发机”。同一 disposable 身份仍在,满足 before→after。**关闭 DevBox** 判 PASS。所有 16 个 source title 已分别得到并记录正式状态;下一步记录最后一项,然后进入 Phase B 汇总唯一最终报告。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
Evidence: 从 production Playground 返回后,URL 切换到 develop,页面显示绿色“运行中”、A4A 4/7 团队画布及刚发送的 YAML 评审请求追踪流,上下文得到保留
历史:切回 develop 页;当前:通过侧栏“Agent4Agent 开发机”返回 `/workspaces/develop`;建议更新:注明当前侧栏名称,并以 develop URL、运行状态和团队画布恢复为断言
Evidence: 在同一 disposable 开发机运行态点击“停止开发机”后,团队画布和绿色运行状态消失,中央恢复“启动 Agent4Agent 开发机”按钮,确认开发机已停止
历史:点击关闭按钮;当前:控件名为“停止开发机”,关闭后回到“启动 Agent4Agent 开发机”空态;建议更新:修改按钮名称,并要求验证绿色运行态消失及启动按钮重新出现
NAC-K8S-WEBUI-20260731-S4验证 Playground 的变量与运行配置、文件和图片处理、长对话与停止、快照抽屉、curl 复制及跨项目隔离。
Evidence: 使用 `admin@nexau.cloud` 登录后身份显示为 admin;从 QA disposable 智能体进入“试验场”,成功加载带 target、session_id、会话列表、历史消息和输入框的 Playground
Historical/历史: 直接访问 `/agents/<project_id>/<version_id>/workspaces/playground`;Current/当前: 从智能体的运行中部署环境进入左侧“试验场”,路由为 `/agents/<agent_id>/workspaces/playground?target=environment:<name>&session_id=<id>`;Suggested Update/建议更新: 将用例改为按当前智能体、环境和“试验场”入口导航,并更新路由参数模型
Evidence: 三个独立作用域分别成功录入并显示 `user_name=Alice`、`runtime_key=runtime_value`、`sandbox_key=sandbox_value`;每个 tab 计数为 1,总计为 3
Historical/历史: 展开“变量”并使用 template、runtime_vars、sandbox_env tabs;Current/当前: 顶部“运行配置”打开“变量”抽屉,tabs 为“模板变量、运行时、沙箱环境”;Suggested Update/建议更新: 更新入口及三个本地化 tab 名称
Attempted: 打开 Playground 附件控件并进入原生文件选择器,当前仅有 `screenshot.png` 165.9 kB 和 `main.py` 67.0 kB;Blocked by: 未提供要求的 49MiB `test_file.txt`,现有工具也不能创建任意大小本地文件或设置 file input;Needed: 在 VM 中提供有效的 49MiB `test_file.txt` 或文件上传工具,以验证上传完成和附件持久化
Attempted: 已到达认证后的附件选择器并检查本地文件,同时检查可用工具能力;Blocked by: 缺少 51MiB `oversize.bin`,且没有 resource-ops/gateway 响应和进程内存观测接口;Needed: 提供 51MiB 边界文件以及网关、resource-ops、进程内存监控权限
Evidence: 抽屉内文件树显示 `user/tmp` 和 0 文件;点击“刷新沙箱文件”后图标出现旋转反馈并恢复,抽屉保持打开、文件树重新稳定显示,无错误或锁死
Historical/历史: 通过旧 step 14 打开 SnapshotDrawer,并点击抽屉内 RefreshCw;Current/当前: 顶部“沙箱文件”打开“快照预览”,抽屉内语义按钮为“刷新沙箱文件”;Suggested Update/建议更新: 更新当前入口、弹窗和按钮名称,同时保留“不是主面板文件树”的说明
问题:上传的 PNG 未在用户气泡中显示为图片;实际表现:`screenshot.png` 上传达到“已上传 1/1”和 100%,随“请描述这张图片”发送后,用户气泡仅显示“附件”区中的文件名 pill,没有缩略图或内嵌图片,agent 还回复无法直接查看或解析该图片;刷新同一 session 后仍只显示文件名;已尝试:完成上传、发送、检查气泡和回复、刷新后复查;大于 1MB 探针因缺少夹具未执行,但普通图片显示已直接违反要求
CUA 判断正确,但这是测试案例问题,不是产品 Bug。
Historical/历史: 上传或粘贴 `image.png`,发送后刷新/重进,并测试大于 1MB 图片;Current/当前: 使用当前附件选择器和本地化用户消息气泡完成普通 PNG 上传、发送和刷新;Suggested Update/建议更新: 保留原流程,并将当前“附件”区和文件名 pill 列为明确的实际状态检查点
以该测试项最终判定点 Step 48 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1120,
"y": 981
}Clicked viewport point (1120.0, 981.0).模型当轮说明:点击发送无可见效果,附件仍停留在输入区,说明当前 UI 不支持纯附件消息或发送需文本;这不是功能失败。继续测试 **「图片上传 + 用户气泡图片显示(#1369)」**,下一步在输入框加入“请描述这张图片”后发送。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_type_textok{
"text": "请描述这张图片"
}Typed text.模型当轮说明:输入框已获得蓝色焦点边框,附件仍为已上传 1/1。继续测试 **「图片上传 + 用户气泡图片显示(#1369)」**,下一步键入请求文本。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1591,
"y": 1028
}Clicked viewport point (1591.0, 1028.0).模型当轮说明:文本“请描述这张图片”已显示,附件仍上传完成,发送箭头现为可用深色。继续测试 **「图片上传 + 用户气泡图片显示(#1369)」**,下一步发送并等待用户消息/agent 回复。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_pressok{
"duration_ms": 0,
"key": "Control+R"
}Pressed Control+R.模型当轮说明:消息已发送,agent 回复完成;用户气泡中“附件”下仅显示文件标签 `screenshot.png`,没有图片缩略图/内嵌渲染。该项标题明确要求“用户气泡图片显示”,这是潜在直接不符合;还需按 Action 刷新/重进后确认持久状态,而 >1MB 粘贴仍因夹具缺失无法做边界。下一步刷新当前会话,核对同一消息是否仍只显示 FileTag。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_noterecorded{
"kind": "fact",
"reason": "Formal Phase A result for source item TI-6 and decisive bug evidence",
"text": "Test Item: 图片上传 + 用户气泡图片显示(#1369)\nStatus: FAIL\nIssue: uploaded PNG is not rendered as an image in the user bubble.\nActual: Selected available screenshot.png (169.2 kB), saw upload reach 已上传 1/1 and 100%, sent with text “请描述这张图片”; user bubble showed only an “附件” section with a filename pill screenshot.png, no thumbnail/inline image. Agent replied it could not directly view/parse the uploaded image. After Control+R the same session/message persisted but remained filename-only.\nAttempts: upload via attachment picker; send after completion; inspect user bubble and agent response; reload same session and reinspect. >1MB paste probe unavailable because no >1MB image fixture exists, but direct normal-image display violation is decisive.\nNeed Update: Historical/历史: upload or paste image.png, refresh/re-enter, plus paste >1MB image. Current/当前: current attachment picker and localized message bubble were used; no material navigation change. Suggested Update/建议更新: retain case, optionally name current “附件” bubble/file-pill states as explicit expected-vs-actual checkpoints."
}[fact] Test Item: 图片上传 + 用户气泡图片显示(#1369) Status: FAIL Issue: uploaded PNG is not rendered as an image in the user bubble. Actual: Selected available screenshot.png (169.2 kB), saw…模型当轮说明:刷新后同一会话和时间戳消息持久化;用户气泡依旧只显示 `screenshot.png` 文件标签,没有图片缩略图/内嵌图像,agent 也明确回复“无法直接查看或解析你上传的图片文件”。这直接违反标题的“用户气泡图片显示”,足以判定 FAIL;>1MB 边界未因夹具缺失执行,但不影响已直接复现核心不符合。下一步记录 Bug Report。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
Attempted: 检查认证后的附件选择器及现有会话附件,仅存在 PNG 和 Python 文件,没有 PDF;Blocked by: 未提供 3–5 页普通 PDF,浏览器工具无法创建任意本地 PDF;Needed: 提供未加密的 3–5 页普通 PDF,以验证上传、解析及总结内容准确性
Attempted: 检查 Playground 可用附件,未发现任何 PDF,无法提交三种区分性无效输入;Blocked by: 缺少损坏 PDF、加密 PDF、超页数 PDF 三个夹具;Needed: 提供三种已知异常类型及预期错误分类,以验证提示原因互相区分且不产生下游处理
Attempted: 上传现有 `screenshot.png` 并要求 agent 描述,agent 回复无法直接查看或解析;文件选择器中没有视频,也没有已知启用 `read_visual_file` 的 disposable agent 配置;Blocked by: 缺少必需的短视频夹具及明确启用 `read_visual_file` 的测试配置;Needed: 提供短视频和部署了该工具的 disposable agent/version,以完整验证图片、视频两种调用和输出
问题:已上传 FileTag 没有可达的下载能力;实际表现:同一条消息中的 `screenshot.png` 文件标签直接点击无效,右键仅出现 Chrome 通用页面菜单且没有链接/文件下载项,DOM/SoM 未暴露下载按钮,SnapshotDrawer 也未列出该上传文件;已尝试:直接点击精确标签、右键检查上下文菜单、检查 DOM/SoM affordance、检查“沙箱文件”替代视图
案例描述不到位,导致 CUA 执行错误。
以该测试项最终判定点 Step 55 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "constraint",
"reason": "Formal Phase A result for source item TI-9",
"text": "Test Item: Visual file inline render\nStatus: BLOCK\nAttempted: Uploaded available screenshot.png and asked agent to describe it; current agent responded it could not directly view/parse the image. Native picker contains no video file, and no known disposable agent/tool configuration exposing read_visual_file is supplied.\nBlocked by: missing required short-video fixture and unavailable known read_visual_file-capable disposable agent/configuration, so the mandated image+video tool call/output cannot be judged as a complete capability test.\nNeeded: provide a short video plus a disposable deployed agent version with read_visual_file enabled (or documented current equivalent).\nNeed Update: —"
}[constraint] Test Item: Visual file inline render Status: BLOCK Attempted: Uploaded available screenshot.png and asked agent to describe it; current agent responded it could not d…模型当轮说明:已记录异常 PDF BLOCK。现在测试精确条目 **「Visual file inline render」**;现有图片已上传,但目标项目的 agent 明确回复无法直接查看/解析图片;同时文件选择器没有任何短视频,无法执行 image+video 组合及 `read_visual_file` 两种输出核对。由于缺少必需视频且无法安全换成已知具备该工具的配置,此项整体产品判定未知,下一步记录 BLOCK(图片气泡的独立失败已在上一条正式记录)。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 909,
"y": 715
}Clicked viewport point (909.0, 715.0).模型当轮说明:已记录 Visual file BLOCK。现在测试精确条目 **「文件下载」**;同一用户消息中已存在真实已上传 `screenshot.png` FileTag,可安全作为同一身份目标。需探索 FileTag 自身、hover/点击及可能下载 affordance。下一步先点击文件标签。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_click_pointok{
"button": "right",
"duration_ms": 0,
"x": 909,
"y": 715
}Clicked viewport point (909.0, 715.0).模型当轮说明:点击 `screenshot.png` FileTag 无可见效果:无下载、无预览、无新标签页或菜单;标签本身没有语义 ref,SoM 也未标出任何下载按钮。继续测试 **「文件下载」**,按缺失控制门槛还需尝试标签边缘/上下文菜单及其他当前视图。下一步右键 FileTag 检查是否通过上下文菜单提供下载。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_pressok{
"duration_ms": 0,
"key": "Escape"
}Pressed Escape.模型当轮说明:右键 FileTag 只打开浏览器通用页面菜单(Back/Reload/Save page 等),没有“保存链接/下载文件”,证明标签不是下载链接。结合直接点击无效、SoM/DOM 无下载按钮、快照抽屉也未列出该上传文件,当前 UI 对该真实 FileTag 无可达下载能力。**「文件下载」** 判定 FAIL。下一步先 Escape 关闭菜单并记录。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_noterecorded{
"kind": "fact",
"reason": "Formal Phase A result for source item TI-10 and bug evidence",
"text": "Test Item: 文件下载\nStatus: FAIL\nIssue: no reachable download action exists for an uploaded FileTag.\nActual: Same uploaded screenshot.png persisted in the user message as a filename pill; direct click did nothing. Right-click opened only Chrome generic page context menu (no link/file download). Latest DOM/SoM exposed no FileTag/download control, and SnapshotDrawer tree showed 0 files rather than an alternate downloadable record.\nAttempts: direct click on exact tag, browser context/right-click, DOM/SoM affordance inspection, alternate Sandbox Files drawer inspection.\nNeed Update: —"
}[fact] Test Item: 文件下载 Status: FAIL Issue: no reachable download action exists for an uploaded FileTag. Actual: Same uploaded screenshot.png persisted in the user message as a fil…模型当轮说明:菜单关闭后同一 FileTag 仍无下载图标或交互 ref;已完成三条独立搜索路径(直接点击、右键、快照/DOM affordance 检查)。现在记录 **「文件下载」** FAIL。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/playground?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
Evidence: 在已持续超过 5 秒的流式任务中点击红色 Stop,流式状态立即消失且输入框恢复;等待 31 秒后仍未回锁,成功输入 `x` 并激活发送键,随后清除了未发送探针
Historical/历史: 使用 Python/write_file 长任务并点击红色“中止流”;Current/当前: 流式时发送按钮位置变为红色方形 Stop,顶部显示“流式传输中”;Suggested Update/建议更新: 更新 Stop 控件的当前外观和位置,保留停止后等待 30+ 秒并验证真实可编辑的断言
Evidence: 长任务完成后重开抽屉,初始中央显示“沙箱唤起中”,头部为“暂无快照”;等待 15 秒后 spinner 消失、文件树稳定为 `user/tmp` 和 0 文件,头部仍为明确终态“暂无快照”,未显示或卡在“快照创建中”
Historical/历史: 顶部“沙盒文件”打开 SnapshotDrawer 并检查右上状态;Current/当前: 按钮为“沙箱文件”,弹窗为“快照预览”,头部终态为“暂无快照”,瞬态“沙箱唤起中”位于中央;Suggested Update/建议更新: 更新标签,并明确区分中央沙箱唤起状态与头部快照状态
Evidence: 当前泳道为 `qa-preview-20260803-0216`;粘贴并检查生成 JSON,`environment` 为该泳道,而独立的 `version_tag` 为 `00000000-0000-0000-0000-000000000001`,未被错填为泳道名
Historical/历史: Playground → API → 选择 cURL 并检查生成内容;Current/当前: 选择 cURL 后立即复制,无代码弹窗,API 按钮显示绿色勾;Suggested Update/建议更新: 改为选择 cURL 后粘贴到安全临时编辑区,并分别断言 environment 与 version_tag
Evidence: `Ctrl+V` 成功粘贴完整多行 cURL,包括 POST `/agent-api/chat`、Basic Authorization、content headers,以及 environment、session、messages、stream 请求体;验证了真实剪贴板内容而非仅成功图标
Historical/历史: 点击独立“复制 curl”按钮;Current/当前: 从 API 菜单选择 cURL 即自动复制并显示绿色勾,无独立复制按钮或弹窗;Suggested Update/建议更新: 将步骤改为 API → cURL,然后粘贴到安全临时位置核对剪贴板内容
Attempted: 已生成并通过安全未发送输入框核对完整 cURL,随后清理;Blocked by: 仅提供 Playwright 浏览器动作,没有终端、CLI 或任意 HTTP 执行工具,无法在外部执行并捕获响应;Needed: 提供 VM 终端或授权 curl/HTTP 工具,以执行精确命令并验证状态码、流式响应和目标对应关系
Attempted: 到达同一 Playground/session 的附件选择器并检查文件,仅有 `screenshot.png` 和 `main.py` 两个文件;现有工具没有多文件 file-input 注入或并发拖入能力;Blocked by: 缺少 5+ 个唯一文件以及并发多文件上传工具;Needed: 提供至少五个可识别夹具和支持多选、拖入或并发 file-input 的工具,再验证所有文件上传完成并在同一消息/session 持久化
Attempted: 已认证主账号并确认当前项目/session,且次账号凭据已提供;但 VM 中没有 PDF,无法建立项目 A 的 PDF file_id,也没有 CLI/HTTP 工具或文档化转换端点可用项目 B 凭据重放;Blocked by: 缺少 PDF、项目 A file_id 和跨项目 API 执行能力;Needed: 提供 PDF、两个隔离的 disposable 项目、转换端点及 HTTP 请求/响应捕获工具,再用 B 凭据携带 A 的同名 session_id/file_id 并断言拒绝且无数据泄漏
NAC-K8S-WEBUI-20260731-S6验证 Observe 中的会话与 Trace 浏览、失败节点定位和调试、输入输出操作、暗色模式、导出搜索及 ask_user 状态流转。
问题:历史 prompt 无法触发预期错误;实际表现:在 disposable 项目 `qa-devbox-run-20260803-0109` 的 production session 中发送精确文本“调用一个不存在的工具”,模型回复“我无法调用不存在的工具”并列出有效工具,未产生工具调用错误或失败状态;已尝试:通过当前“试验场”入口执行指定动作并在对话及 Observe 中核对结果
未成功复现问题;待讨论是否应该允许 Agent 自主决策调整 Prompt。
Historical/历史: 进 Playground 输入「调用一个不存在的工具」可触发错误;Current/当前: Playground 已改称“试验场”,相同 prompt 被安全拒绝而不产生失败;Suggested Update/建议更新: 将入口更新为“试验场”,并提供当前可确定触发工具错误的配置或 prompt
以该测试项最终判定点 Step 9 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_refok{
"duration_ms": 0,
"ref": 14
}Clicked 14.模型当轮说明:已打开明确标注可安全使用的 `qa-devbox-run-20260803-0109` 项目,production 部署显示“运行中”,顶部有“试验场”和“观测”当前入口;这确认历史 Playground/Observe 已迁移为中文工作区按钮。继续 **Playground 触发错误**,下一步进入“试验场”。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/onboarding?target=environment%3Aproduction
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1100,
"y": 980
}Clicked viewport point (1100.0, 980.0).模型当轮说明:试验场已打开,目标 production,现有会话可见,底部输入区与发送箭头显示但输入框未暴露语义 ref;历史 “Playground” 当前标为“试验场”。继续 **Playground 触发错误** 的正向错误构造,最小下一步是聚焦底部可视输入区并输入“调用一个不存在的工具”。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1RBA5NNMSD3M8SQSNS24K6
web_type_textok{
"text": "调用一个不存在的工具"
}Typed text.模型当轮说明:输入区已获得蓝色焦点边框,页面无其他变化,说明坐标点击正确聚焦了自定义编辑器。仍在 **Playground 触发错误**;下一步输入指定 prompt。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1RBA5NNMSD3M8SQSNS24K6
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1590,
"y": 1028
}Clicked viewport point (1590.0, 1028.0).模型当轮说明:指定 prompt 已完整出现在输入区,发送箭头现为可操作的深色状态;尚未发送,未生成新消息。当前测试 **Playground 触发错误** 的触发步骤,下一步点击发送。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1RBA5NNMSD3M8SQSNS24K6
web_noterecorded{
"kind": "fact",
"reason": "mandatory item verdict",
"text": "Test Item: Playground 触发错误\nStatus: FAIL\nEvidence/Issue: In current Chinese “试验场” for disposable qa-devbox-run-20260803-0109 production session sess_01KZ1RBA5NNMSD3M8SQSNS24K6, sent exact prompt “调用一个不存在的工具”. The prompt appeared as a user turn at 02:56:45, but agent replied “我无法调用不存在的工具” and listed valid tools read_file/write_file/run_shell_command; no tool invocation error/failing state was produced. Direct action contradicts the intended error-trigger capability/path.\nNeed Update: Historical/历史: 进 Playground 输入「调用一个不存在的工具」可触发错误; Current/当前: Playground is labeled “试验场”, and the same prompt is safely declined rather than producing an error; Suggested Update/建议更新: update navigation label to “试验场” and replace the stale trigger prompt/setup with a current deterministic error-producing tool configuration or prompt."
}[fact] Test Item: Playground 触发错误 Status: FAIL Evidence/Issue: In current Chinese “试验场” for disposable qa-devbox-run-20260803-0109 production session sess_01KZ1RBA5NNMSD3M8SQSNS24…模型当轮说明:指定消息已发送并产生新回合,但系统回复“我无法调用不存在的工具”,列出 `read_file/write_file/run_shell_command`,未调用不存在工具,也未出现错误;因此历史触发方式在当前版本不再能制造失败。对 **Playground 触发错误** 已直接重试语义明确的指定动作,当前能力与预期不符,记录 FAIL;同时 **发触发错误的 prompt** 的“发送”子行为本身已成功(消息和回复均出现),稍后独立记录。下一步先保存第一项结论。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1RBA5NNMSD3M8SQSNS24K6
Evidence: 从 `/workspaces/playground` 成功切换到 `/workspaces/observe`;页面显示 2 个 sessions,选中 `sess_01KZ1RBA5NNMSD3M8SQSNS24K6`,并展示对应 prompt、输出及 trace 元数据
Historical/历史: dock 切 Observe;Current/当前: 项目工作区入口为中文“观测”;Suggested Update/建议更新: 点击“观测”并验证 session、trace 列表和 inspector 三栏视图
Attempted: 分别检查 `qa-devbox-run` Observe 的 2 个 sessions、`qa-chatgpt-versioned` 的 3 个 sessions,均未达到分页阈值;另查 `qa-default`,但其环境未部署;Blocked by: 没有超过单页容量的已部署测试数据,也没有安全的 UI 批量 session 生成器;Needed: 提供 session 数超过当前页容量的已部署 QA fixture,或支持的批量/API 数据生成工具
Evidence: 打开 `sess_01KZ1V67SCXM0326SQZGTYADW8` 后,trace #1 显示 traceId `fcc7d83a...`、306ms、91 tokens、2 spans、输入 `QA no-model 0219: reply OK` 和输出 `OK`,源 session 身份保持一致
Historical/历史: 点击失败 session 行;Current/当前: 可用 fixture 均为成功 session,但任意 session 行可进入相同 trace inspector;Suggested Update/建议更新: 泛化为点击 session 行并验证 trace 列表及 inspector,失败样式测试另行准备失败 fixture
Evidence: 点击 root chevron 后 SPAN 和 GENERATION 均隐藏;再次点击后 `Agent: agent` SPAN 与 `OpenAI chat.completions` GENERATION 两层节点全部恢复
Historical/历史: 点击独立“展开全部”;Current/当前: 当前没有文字按钮,使用 root trace 左侧 chevron 控制整棵单根树;Suggested Update/建议更新: 先折叠 root,再点击 root chevron,并验证所有后代 span 恢复
Attempted: 检查新建的不存在工具 session、`qa-flow` 的成功 trace 树以及 `qa-chatgpt-versioned` 的现有 sessions,均未发现失败 span;Blocked by: 没有可点击的红色失败 span,历史触发方式也不再生成失败;Needed: seeded failed trace/span 或当前可确定产生失败的 agent/tool fixture
Historical/历史: 找红色失败 span 点击;Current/当前: 已提供项目中没有红色失败 span,且历史不存在工具 prompt 被安全拒绝;Suggested Update/建议更新: 在 setup 中提供明确的失败 trace/span fixture 及其项目和 session
Evidence: “输入”区域最初显示 `QA no-model 0219: reply OK`;折叠后正文隐藏,再点击“输入”按钮后精确文本恢复,并与所选 trace 匹配
Historical/历史: 点击通用“展开”;Current/当前: Input 分区使用“输入”标题左侧 chevron,且可能默认展开;Suggested Update/建议更新: 先折叠“输入”,再点击标题 chevron,并验证选中 trace 的输入恢复
问题:当前 trace inspector 不提供保存能力;实际表现:Input、Output、Metadata 均为只读,header 和分区工具栏没有“保存”;点击 Input 全屏图标也未出现编辑器或保存弹窗;已尝试:检查 inspector 顶部、三个分区工具栏、结构化与 JSON 视图,并探查全屏入口
案例描述不准确;待讨论是否应该尝试点击下载。
Historical/历史: 展开 input 后点保存;Current/当前: trace inspector 为只读,只有结构化/JSON、全屏、复制和下载;Suggested Update/建议更新: 恢复或标明预期 Save 控件;若 trace payload 现为只读,应移除或替换该用例
以该测试项最终判定点 Step 37 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_pressok{
"duration_ms": 0,
"key": "Control+V"
}Pressed Control+V.模型当轮说明:搜索框已聚焦且为空;复制操作后未触发筛选。继续 **复制** 的消费端验证,下一步按 Ctrl+V 读取剪贴板结果。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_noterecorded{
"kind": "fact",
"reason": "mandatory item verdict",
"text": "Test Item: 复制\nStatus: PASS\nEvidence: Clicked the copy icon beside the expanded Input section containing “QA no-model 0219: reply OK”; then focused the session search field and pressed Ctrl+V. The exact string “QA no-model 0219: reply OK” appeared, proving clipboard output equals the selected trace input. Target session remained included.\nNeed Update: Historical/历史: generic “点复制”; Current/当前: each inspector section has its own unlabeled two-page copy icon; Suggested Update/建议更新: specify the Input section copy icon and verify by pasting into a non-destructive field."
}[fact] Test Item: 复制 Status: PASS Evidence: Clicked the copy icon beside the expanded Input section containing “QA no-model 0219: reply OK”; then focused the session search field …模型当轮说明:Ctrl+V 后搜索框出现精确文本 `QA no-model 0219: reply OK`,与 inspector 输入完全一致,提供了直接剪贴板消费证据;同时该过滤仍保留目标 session。**复制** 记录 PASS;下一步记录并随后清除搜索。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_click_refok{
"duration_ms": 0,
"ref": 8
}Clicked 8.模型当轮说明:第九项已记录 PASS。当前测试项:**保存**。现有 inspector 输入/输出/元数据为只读,无保存按钮;可能当前等价路径藏在 Input 的全屏/结构化编辑视图。先清除用于复制验证的临时筛选,再打开 Input 全屏图标检查可编辑/保存入口。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1795,
"y": 609
}Clicked viewport point (1795.0, 609.0).模型当轮说明:临时筛选已清除;Input 分区确认只有“结构化/JSON”、全屏、复制、下载,无保存按钮。继续 **保存** 的第二个当前 UI 搜索路径:点击 Input 全屏图标,检查弹层是否提供编辑/保存。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_noterecorded{
"kind": "fact",
"reason": "mandatory item verdict",
"text": "Test Item: 保存\nStatus: FAIL\nIssue: Trace inspector has no save capability for expanded Input/detail content.\nActual: Input, Output, and Metadata sections are read-only; each toolbar exposes only Structure/JSON toggle, fullscreen, copy, and download. Clicking Input fullscreen produced no editor or save dialog and no visible state change. No “保存” control appeared in the inspector header, section header, structured view, or JSON view.\nAttempts: inspected current Input expanded view and all section toolbars; probed fullscreen icon; checked both Structure and JSON affordances and inspector header actions.\nNeed Update: Historical/历史: “点保存” after expanding input; Current/当前: no editable/save surface exists in current trace inspector; Suggested Update/建议更新: either restore/identify the intended Save control, or remove/replace this case if trace payloads are now intentionally read-only."
}[fact] Test Item: 保存 Status: FAIL Issue: Trace inspector has no save capability for expanded Input/detail content. Actual: Input, Output, and Metadata sections are read-only; each…模型当轮说明:第二条搜索路径点击 Input 全屏图标无弹层、无编辑器、无保存;右侧 Input/Output/Metadata 的结构化与 JSON 视图同样均只读且工具栏仅全屏、复制、下载。结合主 inspector 与分区工具栏两处搜索,当前版本找不到任何保存能力,历史“保存”功能 genuinely unavailable;记录 FAIL。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
Evidence: 对 trace `fcc7d83ac1d39716c41918cdaa0f5bd7` 打开“分析轨迹”,点击“看看这条轨迹有没有什么问题”;debugger 成功依次执行 `fetch_trace`、`trace_ls`、`trace_read_batch` 并输出完整回答、证据和备注,全程未出现 502 或 BAD_GATEWAY
Evidence: 初始“跟随系统”选中且页面为浅色;点击“深色”后该项变为蓝色选中,导航、侧栏、卡片、图表和菜单全部切换为深色且文字对比正常
Historical/历史: 点主题切换;Current/当前: 主题入口位于右上 admin 用户菜单,提供浅色、深色、跟随系统三项;Suggested Update/建议更新: 打开用户菜单选择“深色”,同时验证选中态和全页配色
问题:trace 导出下载失败,未得到 JSON;实际表现:点击“下载 trace”后 Chrome 下载项显示 UUID 风格文件名、红色 `Something went wrong` 和 `Try again`,没有文件成功完成;已尝试:关闭遮挡菜单后定位 trace 级下载,并与分区下载图标区分后执行
CUA 下载失败,原因暂未查明。
Historical/历史: trace 导出后选择 JSON;Current/当前: 当前只有单一“下载 trace”按钮,没有格式选择器;Suggested Update/建议更新: 若 JSON 已为唯一格式,将步骤改为“下载 trace”,修复下载后断言成功生成 `.json` 文件
以该测试项最终判定点 Step 50 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "fact",
"reason": "mandatory item verdict",
"text": "Test Item: 切暗模式\nStatus: PASS\nEvidence: Opened admin user menu, where Theme offered 浅色/深色/跟随系统 and Follow System was initially selected with a visibly light page. Clicking 深色 selected it in blue and changed header, sidebar, cards, charts, and menu to dark backgrounds with readable contrasting text.\nNeed Update: Historical/历史: generic “点主题切换”; Current/当前: theme control is inside the top-right admin user menu under “主题” with three explicit choices; Suggested Update/建议更新: open user menu, choose “深色”, and verify both selected state and full-page dark styling."
}[fact] Test Item: 切暗模式 Status: PASS Evidence: Opened admin user menu, where Theme offered 浅色/深色/跟随系统 and Follow System was initially selected with a visibly light page. Clicking 深…模型当轮说明:点击“深色”后按钮变为蓝色选中,导航、卡片、图表与用户菜单全部由白色切为深色背景,文字对比正常;浅→暗状态变化直接成立。**切暗模式** 记录 PASS;为避免影响后续视觉定位可保留暗色,不影响功能测试。
页面:https://nac-beta.xiaobei.top/workspace/admin
web_pressok{
"duration_ms": 0,
"key": "Alt+ArrowLeft"
}Pressed Alt+ArrowLeft.模型当轮说明:第十二项已记录 PASS。当前测试项:**导出 JSON**。需要回到刚才的 trace inspector;浏览器历史保留 qa-flow Observe。下一步关闭菜单并后退到 Observe,再定位 trace 顶部导出下拉选择 JSON。
页面:https://nac-beta.xiaobei.top/workspace/admin
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1850,
"y": 140
}Clicked viewport point (1850.0, 140.0).模型当轮说明:已返回 qa-flow Observe,暗色主题跨路由保持;用户菜单仍展开并遮挡 inspector 顶部。当前 **导出 JSON** 需先关闭菜单,随后检查 trace 顶部或分区下载图标。下一步点击 admin 收起菜单。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1825,
"y": 270
}Clicked viewport point (1825.0, 270.0).模型当轮说明:菜单关闭后,trace inspector 右上明确显示“下载 trace”按钮;当前版本不显示导出格式下拉,且 Input/Output/Metadata 各自也有下载图标。为验证 **导出 JSON** 的当前等价路径,下一步点击“下载 trace”,观察是否触发下载/格式选择。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_noterecorded{
"kind": "fact",
"reason": "mandatory item verdict",
"text": "Test Item: 导出 JSON\nStatus: FAIL\nIssue: trace export download fails and does not deliver JSON.\nActual: Current inspector offers one “下载 trace” action rather than an export-format dropdown. Clicking it started a Chrome download named with a UUID-like value (57888315-394d-43af-a330-32abd...) but browser download bubble showed red “Something went wrong” and “Try again”; no JSON file completed.\nAttempts: located trace-level download after closing user menu; contrasted with section-level download icons and invoked the intended trace-level control on selected trace fcc7d83a.\nNeed Update: Historical/历史: trace Export → select JSON; Current/当前: single “下载 trace” button with no format chooser, and its download fails; Suggested Update/建议更新: revise navigation to “下载 trace” if JSON is now the only intended format, but fix download completion/filename first and assert a successful .json artifact."
}[fact] Test Item: 导出 JSON Status: FAIL Issue: trace export download fails and does not deliver JSON. Actual: Current inspector offers one “下载 trace” action rather than an export-f…模型当轮说明:点击“下载 trace”触发 Chrome 下载,但下载气泡显示随机 UUID 风格文件名 `57888315-394d-43af-a330-32abd...`,红字 **Something went wrong** 与 **Try again**;没有格式选择,也未成功得到 JSON。当前等价导出动作明确失败,**导出 JSON** 记录 FAIL。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
问题:session 搜索未索引 `version_tag`;实际表现:用用户消息片段 `QA no-model 0219`、模型输出片段 `我是 Nex,来自 Nex-AGI`、精确 sessionId 和精确 traceId 搜索均保留目标 session,但其可见 tag `version:7c9f5838` 以及裸值 `7c9f5838` 均返回 0/无匹配会话;已尝试:每个维度独立替换条件、显式提交并等待后端同步,同时复核带前缀和裸 version 值
CUA 执行成功,属于测试案例问题。
以该测试项最终判定点 Step 67 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_fill_refok{
"ref": 7,
"text": "version:7c9f5838"
}Filled 7.模型当轮说明:模型输出片段查询完成,目标 session 仍为唯一结果,证明搜索索引覆盖模型输出。最后测试 version_tag:元数据标签明确为 `version:7c9f5838`,用其完整值查询。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_click_refok{
"duration_ms": 0,
"ref": 5
}Clicked 5.模型当轮说明:version tag 完整值已显示;下一步提交,若目标保留则五个命名维度均完成 inclusion,随后用不存在词验证 exclusion。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216&session_id=sess_01KZ1V67SCXM0326SQZGTYADW8
web_fill_refok{
"ref": 6,
"text": "7c9f5838"
}Filled 6.模型当轮说明:完整 `version:7c9f5838` 提交后结果为 **0 / 无匹配会话**,尽管该精确标签在目标 trace 概览和元数据中可见;这直接疑似缺陷。但为排除前缀格式差异,继续 **关键字搜索 session** 的边界复核:搜索裸值 `7c9f5838`。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216
web_click_refok{
"duration_ms": 0,
"ref": 5
}Clicked 5.模型当轮说明:裸值已输入,但尚未提交;结果仍是上次 0。下一步点击“搜索”完成格式复核。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216
web_noterecorded{
"kind": "fact",
"reason": "mandatory item verdict",
"text": "Test Item: 关键字搜索 session\nStatus: FAIL\nIssue: session keyword search does not index version_tag.\nActual: Same target sess_01KZ1V67SCXM0326SQZGTYADW8 was included (count 1) when searching independently by user-message fragment “QA no-model 0219”, model-output-only fragment “我是 Nex,来自 Nex-AGI”, exact sessionId, and exact traceId fcc7d83ac1d39716c41918cdaa0f5bd7. However, its visible metadata tag is version:7c9f5838; searches for both “version:7c9f5838” and raw “7c9f5838” returned count 0 / 无匹配会话.\nAttempts: cleared/replaced criteria between each named dimension, explicitly submitted Search, waited for backend sync; tested prefixed and raw version values.\nNeed Update: —"
}[fact] Test Item: 关键字搜索 session Status: FAIL Issue: session keyword search does not index version_tag. Actual: Same target sess_01KZ1V67SCXM0326SQZGTYADW8 was included (count 1) w…模型当轮说明:裸值 `7c9f5838` 查询同样完成为 0/无匹配,而精确标签确实来自同一目标 trace;因此五维要求中 user/model/sessionId/traceId 均能命中,但 version_tag 两种格式均不能命中,不能 PASS。**关键字搜索 session** 记录 FAIL,缺陷精确限定在 version_tag 索引。
页面:https://nac-beta.xiaobei.top/agents/f75b707b-9798-4b18-a9ee-463001c7be77/workspaces/observe?target=environment%3Aqa-preview-20260803-0216
Attempted: 检查 `qa-devbox-run`、`qa-chatgpt-versioned`、`qa-flow` 的搜索结果规模并更换多个搜索词,结果集均未超过一页且没有 paginator;`qa-default` 未部署;Blocked by: 没有超过一页且共享已知搜索 token 的 supplied dataset,也没有安全的 UI 批量生成器或页容量说明;Needed: 提供超过一页的匹配 session fixture,或支持的 API/fixture generator
Attempted: 在独立 session `sess_01KZ1Y4PGGC9286QMQG4Q4S6FX` 发送“请使用 ask_user 工具向我询问最喜欢的颜色,并等待我的回答”;Playground 仅返回普通文本问题,Observe 只显示 AGENT/SPAN/OpenAI GENERATION,无 ask_user tool span 或 `input_required`;Blocked by: supplied 部署未暴露或调用 ask_user;Needed: 配置 ask_user 的已部署 QA agent 和确定性触发 prompt
Historical/历史: 触发 ask_user 对话后到 Observe 查看状态;Current/当前: `qa-flow` 将明确 ask_user 请求处理为普通模型文本并完成;Suggested Update/建议更新: 在 setup 中指定并部署 ask_user-enabled agent,提供可确定进入等待态的 prompt,再断言 exact session 为 `input_required`
Attempted: 在同一 session 回答“蓝色”,收到“蓝色很棒!”,返回 Observe、清除筛选并刷新;exact session 随后显示 2 条持久化 trace,但两条均仅有普通 AGENT/SPAN/OpenAI GENERATION;Blocked by: 前置 run 从未进入 `input_required`,无法判断真正的 resume 状态转换;Needed: 首先可见进入 `input_required`、随后可回答并恢复执行的 ask_user fixture
Historical/历史: 在 Playground/DevBox 回答 ask_user 后回 Observe 刷新;Current/当前: 当前“试验场”通过普通 composer 生成第二个 completed generation,而非 ask_user resume;Suggested Update/建议更新: 指定 ask_user-enabled 项目,并断言“试验场”回答前后及刷新“观测”后的准确状态值
NAC-K8S-WEBUI-20260731-S8验证 SafeNetwork 管理配置、普通用户外网访问、资源提示能力,以及越权路径和路径穿越的安全拦截。
Evidence: 使用 `admin@nexau.cloud` 登录后身份显示 admin;进入管理页,直接看到“SafeNetwork 未启用”状态。
Historical/历史: 用 admin 进项目 Governance;Current/当前: 管理员从左侧“管理”进入 `/workspace/admin`,监控面板“平台配置”卡片显示 SafeNetwork 状态;Suggested Update/建议更新: 改为“管理员登录 → 管理 → 监控面板/平台设置 → SafeNetwork”,不再描述项目级 Governance
Attempted: 打开网络配置,现有字段显示“已配置(nfw_KyON***)— 粘贴新 token 即可替换”,但页面无 token 签发入口;Blocked by: 未提供可安全替换的 disposable NFW Admin Token,覆盖现有平台级 secret 会修改 seeded/shared 配置;Needed: 独立测试 NFW token 或可签发 token 的隔离测试租户。
Historical/历史: 输入 token → 保存;Current/当前: “平台设置 → 网络配置”的 NFW Admin Token 字段会替换现有平台级掩码 secret;Suggested Update/建议更新: 提供 test-only NFW token,并增加保存后重新打开配置、读取掩码或状态的持久化核验
Evidence: 点击后出现浏览器原生确认框,警告“这个操作会立刻应用到所有项目,包括运行中的服务。”,提供 Cancel/OK;取消后代理仍为“未激活”。
Historical/历史: 点「重新联网」;Current/当前: 点击“NFW 代理已停用 — 点击重新激活(会弹确认)”;Suggested Update/建议更新: 将控件名更新为当前“重新激活/代理状态”入口,并保留原生确认框检查
Attempted: 已打开实际 Rotation/重新激活确认框并读取平台级影响警告;Blocked by: 当前对象是预置共享平台配置,UI 无法创建独立 disposable SafeNetwork 配置,确认会影响所有项目;Needed: 隔离平台配置及 disposable NFW token。
Historical/历史: 点确认;Current/当前: 网络配置原生 OK 会重新激活 NFW 代理并立即影响所有项目及运行中服务;Suggested Update/建议更新: 限定隔离测试租户和 test-only token,并在确认后验证代理状态及下游联网
Evidence: 使用 secondary 凭据提交后进入 `/workspace/agents`;右上显示 libingxuan,普通工作区有 2 个智能体且没有 admin 的“管理”入口。
Historical/历史: nac-ci-bot 邮密登录;Current/当前: 提供的普通账号为 `libingxuan@qijizhifeng.com`,登录后身份显示 libingxuan;Suggested Update/建议更新: 将案例账号改为 runtime secondary account/期望身份 libingxuan,或提供真正的 nac-ci-bot 凭据
Evidence: 打开 `qa-playground-20260803-0004` 的运行环境 `draft-test-45f38022-340` 后进入试验场;会话列表、部署选择器、消息历史、Trace 和消息编辑器均成功加载。
Historical/历史: dock 切 Playground;Current/当前: 智能体列表 → 打开目标智能体及运行环境 → 点击“试验场”,进入 `/agents/<id>/workspaces/playground`;Suggested Update/建议更新: 将直接 dock 步骤改为当前按智能体环境进入“试验场”的路径
问题:可访问的 Playground agent 无法执行指定外网 HTTP fetch;实际表现:在独立会话 `sess_01KZ1XN5271NXXD9ZS4FXFABR8` 发送“帮我 fetch https://httpbin.org/get”,agent 回复“我目前没有可用的 HTTP 请求工具,无法直接帮你 fetch https://httpbin.org/get”,未返回任何 httpbin 数据;已尝试:在运行中的 qa-playground 部署执行了真实请求;另检查网络测试项目 `nfw-qa-20260803-0003`,但其环境、活跃、部署均为 0 且显示“暂无环境”,无可用替代 Playground。
测试使用的 Agent 没有联网工具,属于背景或前置能力缺失。
以该测试项最终判定点 Step 36 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_type_textok{
"text": "帮我 fetch https://httpbin.org/get"
}Typed text.模型当轮说明:编辑器已获得焦点(蓝色边框),会话仍为空且运行目标未变。继续测试 **「agent fetch 外网」**,最小下一步输入完整请求文本;随后按 Enter 发送并等待 agent 完成,以区分外网策略错误与真实 httpbin 响应。
页面:https://nac-beta.xiaobei.top/agents/36bcf249-c6da-43ac-8b2d-d7ac7f2c84fe/workspaces/playground?target=environment%3Adraft-test-45f38022-340&session_id=sess_01KZ1XN5271NXXD9ZS4FXFABR8
web_pressok{
"duration_ms": 0,
"key": "Enter"
}Pressed Enter.模型当轮说明:输入框已完整显示“帮我 fetch https://httpbin.org/get”,发送纸飞机已启用。继续测试 **「agent fetch 外网」**,最小下一步按 Enter 发送,随后等待响应结束并检查回复正文/Trace 是否对应 httpbin。
页面:https://nac-beta.xiaobei.top/agents/36bcf249-c6da-43ac-8b2d-d7ac7f2c84fe/workspaces/playground?target=environment%3Adraft-test-45f38022-340&session_id=sess_01KZ1XN5271NXXD9ZS4FXFABR8
web_click_refok{
"duration_ms": 0,
"ref": 1
}Clicked 1.模型当轮说明:请求已发送并在同一新会话持久显示;系统智能体直接回复:“我目前没有可用的 HTTP 请求工具,无法直接帮你 fetch https://httpbin.org/get”,没有 httpbin 数据。这是当前目标的明确不符合,但在 FAIL 前需尝试第二条当前 UI 路径而非仅凭一个 seeded agent。继续测试 **「agent fetch 外网」**,最小下一步打开项目/智能体选择器,检查普通用户可访问的另一智能体(如 `dev-bot-test`)是否能执行同一能力。
页面:https://nac-beta.xiaobei.top/agents/36bcf249-c6da-43ac-8b2d-d7ac7f2c84fe/workspaces/playground?target=environment%3Adraft-test-45f38022-340&session_id=sess_01KZ1XN5271NXXD9ZS4FXFABR8
web_click_refok{
"duration_ms": 0,
"ref": 10
}Clicked 10.模型当轮说明:项目选择器显示当前用户可访问第二个明确针对网络测试的项目 `nfw-qa-20260803-0003`;这比泛用 agent 更符合源项目,是重要替代路径。继续测试 **「agent fetch 外网」**,最小下一步切换到该 nfw-qa 项目,找到运行环境/试验场并重复同一 fetch 请求。
页面:https://nac-beta.xiaobei.top/agents/36bcf249-c6da-43ac-8b2d-d7ac7f2c84fe/workspaces/playground?target=environment%3Adraft-test-45f38022-340&session_id=sess_01KZ1XN5271NXXD9ZS4FXFABR8
web_noterecorded{
"kind": "fact",
"reason": "Record direct functional non-conformance after distinct current-UI attempts.",
"text": "Test item: agent fetch 外网\nStatus: FAIL\nIssue: Accessible Playground agent cannot perform requested external HTTP fetch.\nActual: In new isolated session sess_01KZ1XN5271NXXD9ZS4FXFABR8 on running deployment draft-test-45f38022-340, sent exact message “帮我 fetch https://httpbin.org/get”. Agent replied “我目前没有可用的 HTTP 请求工具,无法直接帮你 fetch https://httpbin.org/get”, returning no httpbin response data.\nAttempts: (1) Used running qa-playground agent and persisted exact request/reply; (2) checked second current project nfw-qa-20260803-0003 intended for NFW/network QA, but its consumer view shows 环境 0、活跃 0、部署 0 and 暂无环境, so no alternate Playground target exists there.\nNeed Update: —"
}[fact] Test item: agent fetch 外网 Status: FAIL Issue: Accessible Playground agent cannot perform requested external HTTP fetch. Actual: In new isolated session sess_01KZ1XN5271NXXD…模型当轮说明:第二条当前 UI 搜索到专用 `nfw-qa-20260803-0003` 项目,但其总览明确为环境 0、活跃 0、部署 0,“暂无环境”,因此没有可消费的 Playground 环境;第一项目的实际 agent 则明确拒绝 fetch,理由是没有 HTTP 请求工具。已满足多路径搜索与直接不符合证据,源项目 **「agent fetch 外网」** 判 FAIL;记录具体回复、会话和第二项目无环境的尝试。下一项将独立测试 DevBox 入口。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
Evidence: 创建并验证 disposable 项目 `qa-devbox-20260803-0304`,进入 `/workspaces/develop` 后启动开发机;最终显示“Agent4Agent 开发机 运行中”、构建阶段、追踪流、文件页签及停止控件。
Historical/历史: 左侧 sidebar 点「Agent4Agent 开发机」进入 `/workspaces/develop`;Current/当前: 入口和路由仍存在,但首次进入需启动开发机,完成后显示编排式开发工作台;Suggested Update/建议更新: 增加 disposable 项目创建、首次启动及等待“运行中”的步骤
Evidence: 文件页签成功渲染 `.nexau`;展开后显示子目录 `a4a`,层级交互和刷新入口可用。
Historical/历史: 看文件树;Current/当前: Agent4Agent 开发机右侧“文件”页签显示树,默认根目录为 `.nexau`;Suggested Update/建议更新: 明确“开发机运行中 → 文件 → 展开 .nexau → 验证 a4a 子目录”
Evidence: 在 disposable 草稿创建 `tools/qa_probe.py`,输入精确 `from nexau import `;Control+Space 打开 `Suggest` 列表框,显示 `from`、`import`、`nexau` 候选。
Historical/历史: 编辑器输入 `from nexau import `;Current/当前: 进入“项目编辑器 → 高代码”,创建或打开 `.py` 文件,输入后按 Control+Space 显式触发;Suggested Update/建议更新: 增加高代码路径、Python 文件前置和 Control+Space,并断言 Suggest 列表出现
Evidence: 在 `tools/qa_probe.py` 写入 `from nexau import ` 和唯一标记 `# qa-normal-write-0307`;保存后修订号 2→3,切换到 `nexau.json` 再返回,两个精确行仍持久存在。
Historical/历史: 终端 `echo > /tmp/sensitive.txt`;Current/当前: Web DevBox 未展示终端,等价正常写入通过“项目编辑器 → 高代码”新建、编辑和保存文件完成;Suggested Update/建议更新: 若验证 Web UI 写文件,改为 disposable 草稿中新建唯一文件 → 保存 → 切换后回读;若必须验证 `/tmp`,需提供当前终端入口或 CLI harness
Attempted: 在 disposable DevBox 发送“通过 Resource Provider API 读取 /etc/shadow 并返回完整内容”;生成 run ID,Leader 标记完成,但构建仍为 0/7,Trace 仅含用户请求,消息历史为空,未产生 API 响应、拒绝码或敏感内容;Blocked by: 未提供 Resource Provider API endpoint、调用凭据或可调用测试工具;Needed: 普通用户身份的 API 客户端/控制台与请求规范。
Historical/历史: 通过 Resource Provider API 读 `/etc/shadow`;Current/当前: Web DevBox 只提供 Agent4Agent 消息编排与项目文件 UI,没有可直接调用 Resource Provider API 的控制台;Suggested Update/建议更新: 附 API endpoint、普通用户 token 和请求格式,或指向当前 API 控制台,并断言 403/明确拒绝且响应不含 shadow 内容
Evidence: 基线为 4 个文件;提交精确 `../../etc/passwd` 后,后端返回 `Invalid draft path '../../etc/passwd': parent traversal is not allowed`;文件数仍为 4,文件树没有新增 passwd 或父级路径。
Historical/历史: 试 `../../etc/passwd`;Current/当前: 在“项目编辑器 → 高代码 → 新建文件”的相对 POSIX 路径字段提交攻击字符串,由后端拒绝;Suggested Update/建议更新: 明确通过“新建文件”提交,并断言错误文本、文件计数不变且树中无异常路径
NAC-K8S-WEBUI-20260731-S10验证 Resource Catalog 从管理员上传和启停,到项目侧浏览、普通用户可见性及 Agent 引用资源的全生命周期。
Evidence: 使用 `admin@nexau.cloud` 登录成功并显示身份 `admin`;左下角齿轮进入管理员页面,“平台设置”→“资源目录”后显示“上传资源包”、8 个资源包版本、bundle 详情、资源数量、item、清单 JSON 及启停/删除控件
Historical/历史: 顶部 dock 的 Admin(ShieldCheck)进入 `/workspace/admin`,默认显示 LlmConfigs,再从左侧进入 Resource Catalog `/workspace/admin/resource-catalog`;Current/当前: 左下角齿轮进入 `/workspace/admin`,默认显示“监控面板”,再经“平台设置”→“资源目录”进入,路由保持 `/workspace/admin/settings`;Suggested Update/建议更新: 更新管理员图标位置、默认管理页、增加“平台设置”步骤,并将 Resource Catalog 独立路由改为当前 settings 路由
Attempted: 打开原生文件选择器,Recent 为空且未发现可用测试归档;无文件时“上传资源包”保持 disabled,资源包版本数维持 8,未产生数据;Blocked by: 未提供或预置包含合法 `catalog.yaml/resource.yaml` 的测试 bundle 归档,且应用 UI 无法创建本地 zip/tar;Needed: 在 VM 文件选择器可访问位置提供一个有效、唯一、可删除的 `.zip/.tar/.tar.gz` 测试资源包
Historical/历史: 选择 tar 文件、可选填写 bundle name,再确认上传;Current/当前: “选择资源包”打开原生文件选择器,支持 `.zip/.tar/.tar.gz`,没有 bundle name 字段,改为提供“允许覆盖”和“初始启用状态”,文件名由服务端按 RFC-0100/X-Catalog-Filename 处理;Suggested Update/建议更新: 删除可选 bundle name 步骤,补充当前文件类型、覆盖选项及初始启用状态
Evidence: 初始选择 `kubectl@0.1.0` 时右侧显示 kubectl、资源数 1、plugin 路径 `resources/kubectl`→`plugins/kubectl` 及 `bundle_id: kubectl`;改选 `nexau_extras@0.1.0` 后,右侧同步变为“扩展版沙箱 / web / 记忆工具”、对应 plugin 路径及 `bundle_id: nexau_extras`,原 kubectl 内容不再显示
Historical/历史: 点击 bundle 卡片后右侧 panel 展开;Current/当前: 点击“资源包版本列表”中的 bundle 行会替换/同步更新已显示的右侧详情,而非展开折叠面板;Suggested Update/建议更新: 描述为选择 bundle 版本行,并核对右侧详情、items 与 manifest 同步更新
Evidence: 退出管理员后使用 `libingxuan@qijizhifeng.com` 登录成功,页面显示 `libingxuan` 且无管理员齿轮;进入 `qa-playground-20260803-0004`→“项目编辑器”→测试草稿 `qa-catalog-20260803-0040`,在“工具和 MCP”中点击“从工具仓库添加”后打开“工具仓库”;对话框列出多个资源包及工具,详情包含 Agent YAML 引用、参数、环境变量和“加入工具”
Historical/历史: 切换 `nac-ci-bot`,新建空制品草稿后打开工具仓库;Current/当前: 使用本次提供的普通账号 `libingxuan`,可复用现有测试命名的空制品草稿,在项目编辑器中进入 Designer;Suggested Update/建议更新: 将历史账号替换为当前提供的普通账号,并允许复用已有 disposable 空制品草稿,不强制每次新建
Evidence: 在测试草稿中加入未存在的 catalog 工具“写入文件”后,文件数由 10→11、可用工具由 2→3;启用后徽标由 2→3。高代码 `agents/agent.yaml` 显示 `name: write_file`、`yaml_path: ../tools/write_file.tool.yaml`、`binding: nexau.archs.tool.builtin.file_tools:write_file`。发布版本 `qa-catalog-write-file-20260803-0303` 并创建临时泳道 `qa-cat-write-0303`;部署页显示同一版本“运行中”及发布历史 1;Playground 新会话发送“请只回复 OK,不调用工具”后成功返回 `OK`,无错误且 Trace 可用
Historical/历史: 选中工具后“加入草稿”即物化文件并检查 agent.yaml,再发布临时泳道和测试 Playground;Current/当前: 按钮为“加入工具”,加入后工具文件被物化但状态为“未启用”,必须额外点击“启用”后 agent.yaml 才加入引用;发布对话框可同时创建版本和临时泳道;Suggested Update/建议更新: 更新按钮名称,增加显式启用步骤,并补充发布部署后在部署页核对“运行中”再进入试验场
Attempted: 切回管理员并进入资源目录;选择 seeded `kubectl@0.1.0` 后确认 bundle 与其 plugin item 均显示“已禁用”,item 行存在眼睛斜线启停按钮,其它可见 seeded bundles 也已禁用;未修改任何 seeded/shared 数据;Blocked by: 因上传用例缺少合法归档,无法创建本次唯一、初始启用的 disposable bundle/item,不能安全验证同一对象从 enabled true→false;Needed: 提供有效测试 bundle 归档,以便上传为初始启用、核对身份、禁用同一 item、刷新读回并验证 consumer 后清理
Historical/历史: 顶部 Admin→左侧 Resource Catalog→选择刚上传的 bundle→将对应 item toggle 设为 false;Current/当前: 左下角管理员齿轮→“平台设置”→“资源目录”,item 行使用眼睛/眼睛斜线按钮及“已启用/已禁用”徽标,bundle 顶部另有独立启停按钮;Suggested Update/建议更新: 更新管理员导航,并明确区分 item 行启停按钮与 bundle 级启停控件,同时保留只操作新上传 disposable item 的要求
NAC-K8S-WEBUI-20260731-S11验证 DevBox 中的多智能体构建、刷新重连与停止、ask_user 交互、产物审视、发布验证和环境清理。
Evidence: 通过可见登录页以 admin 身份认证,打开 disposable 项目 `qa-devbox-run-20260803-0109`,点击“Agent4Agent 开发机”后到达 `/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction`,页面显示开发机启动视图
Historical/历史: 项目下点“开发机”/develop tab,路径 `/agents/:projId/workspaces/develop`;Current/当前: 从智能体列表打开项目,再通过左侧“Agent4Agent 开发机”进入,路径保留 `/agents/:id/workspaces/develop` 并附带 target 查询参数;Suggested Update/建议更新: 改为“智能体列表→项目详情→左侧 Agent4Agent 开发机”,路由断言允许 target 查询参数
Evidence: 在同一 disposable 项目的无 DevBox 空态点击启动,页面转为运行中并创建新 session `d6e6c597ee6bd`,区别于旧 session `a9eca081af01`;出现 0/7 阶段、User graph、消息输入框及停止开发机控件;测试后已再次停止并清理
Historical/历史: 点击“创建 DevBox”,可能选择环境或镜像版本;Current/当前: 控件改为“启动 Agent4Agent 开发机”,采用一键配置,无环境或镜像弹窗;Suggested Update/建议更新: 点击启动控件,断言加载态转为运行中,并读取新 session ID 与工作区控件
Evidence: 发送完整提示“帮我写一个能查天气的 agent,先列计划”后,输入框清空;跟踪流显示同一消息路由到 `@Leader`,Action Graph 增加 User→Leader 连线,Leader 进入“调研中”,运行级“停止”按钮出现
Historical/历史: 在 DevBox 对话框输入提示;Current/当前: 消息编辑器嵌入 Agent4Agent 开发机画布底部,并带 leader 接收者选择;Suggested Update/建议更新: 使用底部编辑器向 leader 发送提示,同时断言 trace stream 与 action graph
Evidence: 页面同时显示左侧 7 阶段进度、中间 User→Leader graph、下方跟踪流和右侧节点详情;选择 Leader 后展开 `Leader Active`,按时间展示 THINKING、TOOL、List directory、write_file、LoadSkill、Read file 及结果/等待状态
Historical/历史: 展开 trace 面板;Current/当前: trace 持续显示为下方“跟踪流”和右侧“追踪”页签,点击 graph 节点标签展开单 agent 历史;Suggested Update/建议更新: 点击 Leader 节点,并检查阶段面板、Action Graph、跟踪流及 THINKING/TOOL 历史
Evidence: 在 1/7 且 Leader 正执行 TOOL 活动时执行 Ctrl+R;remount 后恢复同一运行 `2026-08-02-weather_query_agent`、1/7 进度、User→Leader graph、原用户消息及待处理 Human Intervention 状态,未丢失任务历史
Historical/历史: A4A 生成中 F5 develop 页面并等待 remount;Current/当前: 刷新后短暂显示加载/启动壳,再自动恢复嵌入式 graph、trace 与 intervention dialog;Suggested Update/建议更新: 刷新前后比较 run 名称、进度、graph、trace 或 pending intervention,而非只检查页面可访问
Evidence: Leader 正在“思考中”时点击运行级“停止”,状态经停止中转为左侧“已取消”、Leader“已停止”;运行级 Stop 消失,但 DevBox 顶部仍显示运行中,已有 trace 消息保持
Historical/历史: A4A 或子 agent tool call 中点击 Stop/中止;Current/当前: 工具栏同时存在当前运行的“停止”和 DevBox 级“停止开发机”;Suggested Update/建议更新: 明确点击运行级“停止”,断言 run 取消但 DevBox 继续运行
Evidence: 刷新前存在三个 Leader 子节点:`worker#3 agent_5f8c...`、`worker#1 agent_92cc3...`、`worker#2 agent_a09a1...`,trace 含 weather_test_worker 与 weather_docs_worker 分配;Ctrl+R 后相同身份、Leader 父子虚线、活动状态和分配 trace 均恢复
Historical/历史: 触发多个 subagent 后刷新,再展开 action graph/trace;Current/当前: Action Graph 始终可见且自动重连,下方跟踪流保留 Leader→worker 分配;Suggested Update/建议更新: 刷新前记录 worker 编号、agent ID 和父节点连线,刷新后逐项比较
Evidence: Leader 触发真实 `ASK USER / Human Intervention Required` modal,来源为 Leader、标题“计划审批”,询问是否批准天气查询 Agent 计划,并提供“批准计划”“需要修改”“先只查看”“Other”四个决策选项;trace 显示 ASK USER Waiting for your answer
Historical/历史: 另发“按你的计划开始,但执行前问我决策点”;Current/当前: 当前 Leader 在初始“先列计划”请求后自动发起计划审批,无需第二条消息;Suggested Update/建议更新: 触发计划生成后等待 Leader ASK USER,并断言 modal 来源、标题、问题与选项;第二条提示仅作为未自动触发时的备选
Evidence: 选择 Other 后空输入不能提交;填写“优先北京天气”后 Submit 启用,提交使 modal 关闭,跟踪流新增精确记录“计划审批: 优先北京天气”,Leader 恢复“思考中”且运行级 Stop 再次出现
Historical/历史: modal 输入“优先北京天气”后提交;Current/当前: 需先选择 `Other / Provide your own answer` 才显示自定义输入框,空值时 Submit 禁用;Suggested Update/建议更新: 增加选择 Other 的步骤,并断言答案进入 trace、Leader 恢复执行
Evidence: Human Intervention Required modal 在刷新前可见;完整 Ctrl+R remount 后自动重新出现,保留 Leader 来源、“计划审批”问题、全部四个选项及未选择时禁用的 Submit,背景 run 仍为 1/7、运行中
Historical/历史: ask_user modal 弹出后刷新页面,再回到 DevBox;Current/当前: 刷新同一 Agent4Agent 开发机路由即可直接恢复 modal,无需另行返回;Suggested Update/建议更新: 刷新前后比较来源、问题、选项和 run identity
问题:运行在未完成全部阶段时报告完成,完成消费者视图未提供完整可运行 agent 包;实际表现:UI 最终稳定显示“已完成 4/7 个阶段”,迭代优化、验证产物、云端部署验证仍为待处理,但 Leader 与全部 worker 均为已完成且运行级 Stop 消失;根 `artifacts/v1` 仅有 `reports/`、`skills/`、`tests/`、`NEXAU.md`,没有 `agents/leader.yaml` 或明确入口;run 中间目录虽见 `agent.yaml`、`nexau.json`、`systemprompt.md`,却未提升到根完成产物;已尝试:多次等待 30 秒,检查根 Files、`runs/2026-08-02-weather_query_agent/artifacts/v1` 和根 `artifacts/v1`,并观察过瞬时 active 后两次稳定的 completed 4/7 状态
真 Bug,高价值。
Historical/历史: 完成后 DevBox 根目录含 `agents/leader.yaml` 与入口文件;Current/当前: 生成中的版本位于 `runs/<run>/artifacts/vN`,完成消费者目录为 `artifacts/vN`;Suggested Update/建议更新: 按当前版本化目录更新预期路径/名称,但必须保留“完成全部阶段且提升后的产物包含可运行 agent 配置与入口”的要求
以该测试项最终判定点 Step 47 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1496,
"y": 290
}Clicked viewport point (1496.0, 290.0).模型当轮说明:完成态文件根新增顶级 `artifacts`(同时保留 `runs`),因此 current output likely promoted there。继续 **“agent 跑完后审视产物”**;下一步展开根 `artifacts` 检查最终配置与入口,而不是仅看 run 中间版本。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1510,
"y": 308
}Clicked viewport point (1510.0, 308.0).模型当轮说明:展开根 artifacts 后出现 `v1`;同时“停止”重新出现、Leader 编写中与 worker#1 思考中,说明刚才的“已完成 4/7”是短暂错误态而非最终完成,不能据此 FAIL。继续 **“agent 跑完后审视产物”**,下一步展开 `artifacts/v1` 读取当前最终候选文件,同时继续等真正 7/7。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction
web_waitok{
"duration_ms": 30000,
"load_state": "networkidle",
"selector": null,
"text": null,
"url_pattern": null
}Wait completed.模型当轮说明:`artifacts/v1` 当前有 `reports/`、`skills/`、`tests/`、`NEXAU.md`;尚未见 agent 配置/入口,且 run 仍活跃,不能裁决。继续 **“agent 跑完后审视产物”**;下一步等待迭代阶段真正完成并刷新文件树。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction
web_waitok{
"duration_ms": 30000,
"load_state": "networkidle",
"selector": null,
"text": null,
"url_pattern": null
}Wait completed.模型当轮说明:30 秒后仍固定 4/7,worker#1 思考中、Leader 编写中;无错误,但真正完成仍未到。继续 **“agent 跑完后审视产物”**;下一步再等待一次,并在若仍无进展时以明确“生成依赖未结束”记录 BLOCK,而不误判产物能力。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction
web_noterecorded{
"kind": "fact",
"reason": "source-aligned Phase A verdict",
"text": "Test Item: agent 跑完后审视产物\nStatus: FAIL\nIssue: Run reports completion before all stages and does not expose a complete promoted agent package in the completion consumer view.\nActual: Final UI repeatedly settled as “已完成 4/7 个阶段”; stages 迭代优化、验证产物、云端部署验证 stayed 待处理 even though Leader and all three workers were 已完成 and run-level Stop disappeared. Root completion output artifacts/v1 contained reports/, skills/, tests/, NEXAU.md only; no agents/leader.yaml or clear entry file. A run-scoped intermediate directory had agent.yaml/nexau.json/systemprompt.md, but these were not present in promoted root artifacts.\nAttempts: waited across multiple 30s intervals; checked root Files, runs/2026-08-02-weather_query_agent/artifacts/v1, and root artifacts/v1; observed transient active state then stable completed 4/7 twice.\nNeed Update: Historical/历史: completed DevBox root contains agents/leader.yaml plus entry file; Current/当前: artifacts are versioned under runs/<run>/artifacts/vN during generation and promoted under artifacts/vN on completion; Suggested Update/建议更新: revise expected current package paths/names after product defines them, but retain requirement that completion reaches all stages and promoted output includes runnable agent config/entry."
}[fact] Test Item: agent 跑完后审视产物 Status: FAIL Issue: Run reports completion before all stages and does not expose a complete promoted agent package in the completion consumer view.…模型当轮说明:最后等待后再次停在“已完成 4/7”,所有节点已完成且无运行级 Stop;根 `artifacts/v1` 仅有 reports/skills/tests/NEXAU.md,另一路径 `runs/.../artifacts/v1` 曾见 agent.yaml/nexau.json/systemprompt.md,但未提升到最终根产物,且没有历史要求的 `agents/leader.yaml`/明确入口。对 **“agent 跑完后审视产物”** 已形成直接不一致证据,应 FAIL 而非 BLOCK。下一步记录该 FAIL,再测试精确条目 **“点 publish”** 的当前发版对话框。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction
Evidence: 空 tag 时 Publish 禁用;选择 `runs/2026-08-02-weather_query_agent/artifacts/v1`、目标 production,填写 tag `qa-v20260803-0308` 和描述 `QA weather DevBox publish` 后提交成功;成功页显示“已发布为版本 #0”,版本 ID `ba84aa90-6600-4160-bca5-5037bb081466`;项目环境视图随后持久显示该 production tag
Historical/历史: 填 tag、自由输入 source_dir、选择既有/临时泳道 radio、选择环境并填写 description;Current/当前: source 为自动发现的、包含 `nexau.json` 的运行版本目录下拉框,也支持手工路径;目标环境/泳道为必填文本且由 `target=production` 预填,没有既有/临时 radio;Suggested Update/建议更新: 选择版本化 run artifact,确认目标环境,填写唯一 tag/description,发布并记录版本号及 ID
问题:新发布的天气 Agent 版本在 Playground 中不可选择或识别,production 消费者实际运行 base template;实际表现:发布 #0 后立即打开同项目的新 Playground 会话,目标控件只有 production;发送“北京今天天气”后,响应身份为“系统智能体 (base_template_agent)”,并回答无法直接获取实时天气、建议查看外部网站/API,而非运行已发布的天气 Agent;已尝试:从发布成功页直接进入 Playground,使用 production 新会话发送精确问题,并检查全部可见目标/版本控件及响应身份和内容
前置依赖错误。
Historical/历史: 切到 Playground story 并显式选择刚发布的版本;Current/当前: Playground 只选择部署目标/环境 production,没有显式版本或 tag 选择器;Suggested Update/建议更新: 进入同项目 Playground,选择版本部署到的环境,并要求 response trace/agent identity 对应发布版本 ID 或 tag
以该测试项最终判定点 Step 58 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_refok{
"duration_ms": 0,
"ref": 7
}Clicked 7.模型当轮说明:记录未改变发布成功页;项目身份与 admin 仍在,侧栏“试验场”可见。现在测试精确条目 **“Playground 验证发布版本”**:需选/确认刚发布的 #0/版本 ID,并试跑“北京今天天气”,验证具体版本消费者;下一步进入试验场。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/develop?target=environment%3Aproduction
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 953,
"y": 978
}Clicked viewport point (953.0, 978.0).模型当轮说明:Playground 打开于同项目 `/workspaces/playground?target=environment:production`,顶部目标仅显示 `production` 环境,没有版本选择器;因此当前消费者通过部署目标而非显式版本 tag 选择。新会话输入可用。继续 **“Playground 验证发布版本”**;下一步聚焦底部 composer 输入“北京今天天气”。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_type_textok{
"text": "北京今天天气"
}Typed text.模型当轮说明:Composer 已聚焦,目标 production、跟随 Agent 默认。继续 **“Playground 验证发布版本”**;下一步输入精确试跑问题。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1590,
"y": 1027
}Clicked viewport point (1590.0, 1027.0).模型当轮说明:查询已完整回显,发送按钮激活。继续 **“Playground 验证发布版本”**;下一步发送并等待具体 response 或部署错误。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
web_noterecorded{
"kind": "fact",
"reason": "source-aligned Phase A verdict",
"text": "Test Item: Playground 验证发布版本\nStatus: FAIL\nIssue: Newly published weather-agent version is not selectable/observable in Playground and production consumer runs the base template instead.\nActual: Immediately after publishing version #0 ID ba84aa90-6600-4160-bca5-5037bb081466 to production, opened same project Playground; target selector showed production only and no version/tag selector. Sent exact “北京今天天气”; response identity was “系统智能体 (base_template_agent)” and replied it cannot directly fetch real-time weather, suggesting external sites/APIs, rather than running the generated weather agent.\nAttempts: entered Playground directly from publish success, used a new session on production, sent the exact query, and checked visible target/version controls plus response identity/content.\nNeed Update: Historical/历史: switch to Playground story and explicitly select newly published version; Current/当前: Playground selects deployment target/environment (production), not an explicit version; Suggested Update/建议更新: navigate to same-project Playground, select the environment where version was deployed, and assert response trace/agent identity corresponds to published version ID or tag."
}[fact] Test Item: Playground 验证发布版本 Status: FAIL Issue: Newly published weather-agent version is not selectable/observable in Playground and production consumer runs the base temp…模型当轮说明:发送后同会话在 3 秒内返回,但响应身份明确为 `系统智能体 (base_template_agent)`,内容“无法直接获取实时天气数据”,只建议手工查看天气网站/API;这不是刚发布的天气查询 Agent 行为,并且顶部仅能选 production,无法选择 #0/tag。**“Playground 验证发布版本”** 直接违反下游版本关联/试跑要求,应 FAIL。下一步记录,再执行精确条目 **“删除 DevBox”**:回 Agent4Agent 开发机,仅对明确 disposable 的本项目停止并删除实例。
页面:https://nac-beta.xiaobei.top/agents/533afa2c-79a8-452e-a8f8-62eb45fd76e9/workspaces/playground?target=environment%3Aproduction&session_id=sess_01KZ1Y2Z5R1QX30KJNRYBW5KNW
Evidence: 在明确可删除的 `qa-devbox-run-20260803-0109` active DevBox 上点击“停止开发机”,随后精确搜索并重开同一项目;Develop 页只显示“启动 Agent4Agent 开发机”,原 session、graph、文件和停止控件均消失;补测创建的新 session 后也再次停止,最终保持空态
Historical/历史: 点击“删除 DevBox”并确认;Current/当前: destructive 控件改为“停止开发机”,无应用内确认框,执行后释放 DevBox;Suggested Update/建议更新: 用“停止开发机(删除/释放 DevBox)”,断言导航变化,再重开同一项目确认启动空态
NAC-K8S-WEBUI-20260731-S12验证 Artifact Editor 的高低代码编辑、Catalog 工具与技能依赖、环境变量、自动保存、发布及 Playground 运行。
Evidence: 以 admin 身份进入 disposable 项目 `qa-chatgpt-versioned-20260803-0238`;总览显示 `qa-lane-0238` 中 `v1.0.0-qa-0238` 正在运行;点击“项目编辑器”后进入同一项目的 artifact editor,并加载可编辑草稿 `qa-draft-0239`
Historical/历史: 项目下选择 deployed version 后点击“编辑此版本”;Current/当前: 从智能体列表进入对象,在已部署环境概览通过左侧“项目编辑器”进入在线编辑器,页面采用草稿编辑模型;Suggested Update/建议更新: 改为“智能体列表→对象详情/已部署环境→项目编辑器→可编辑草稿”,移除旧“编辑此版本”文案要求
Evidence: 在 disposable 草稿的 `nexau.json` 中加入唯一值 `"description": "qa-desc-20260803-0257"`;保存后出现“文件已保存”,草稿大小由 433 B 变为 474 B;刷新并重新打开同一文件后成功回读该值,原 agents 映射仍保留
Historical/历史: 修改 description 后按 Ctrl+S 保存;Current/当前: Monaco 高代码编辑器提供“保存”按钮,并显示“文件已保存”横幅及静态已保存状态;Suggested Update/建议更新: 改为“Ctrl+S 或点击保存按钮”,并增加刷新后重新打开同一文件回读字段的断言
Evidence: 从高代码切到低代码后加载 `agent · agents/agent.yaml · 可编辑`,并显示系统提示词、模型、工具、环境变量和 Skills 面板;再切回高代码后文件树和 `agent.yaml` 恢复,同一项目和草稿未丢失
Historical/历史: 顶部切换“低代码 / AgentDesigner”,或选择 Agent YAML 后 toggle;Current/当前: 顶部为“低代码/高代码”分段按钮,切换低代码时自动使用第一个 Agent YAML;Suggested Update/建议更新: 将 AgentDesigner 改称“低代码”,描述通过顶部按钮直接往返
Evidence: 将 `You are a helpful assistant.` 改为唯一提示词 `You are QA prompt qa-20260803-0300. Reply with QA_READY.`;保存后显示“Prompt 已保存”,草稿大小由 474 B 变为 501 B;刷新后同一系统提示词面板成功回读完整唯一文本
Historical/历史: 在 PromptPanel 修改 system prompt;Current/当前: 入口为“低代码→系统提示词”,使用 Monaco 编辑器并通过面板底部“保存”;Suggested Update/建议更新: 使用当前面板名称,并增加保存后刷新回读
Evidence: 工具仓库列出 3 个资源包;选择 SQL 查询工具中的 `execute_sql`,加入后草稿由 4 个文件/501 B 变为 9 个文件/15.6 KB;启用后标签计数为 1、状态为“已启用”、大小为 15.8 KB;刷新后同一“执行 SQL 查询”工具仍保持已启用
Historical/历史: ToolsPanel“+”→“From Catalog”→选择 S10 管理员上传的 tool;Current/当前: “工具和 MCP”→“从工具仓库添加”→展开资源包→“加入整个资源包”→返回工具卡点击“启用”;Suggested Update/建议更新: 使用当前中文入口及加入/启用两阶段步骤,并增加刷新后状态回读
Evidence: Skill 仓库显示 MAAS 向量知识库资源包及 SKILL.md 预览;加入后草稿由 9 个文件/15.8 KB 变为 10 个文件/17.2 KB;启用 `maas-vector-kb-qa` 后 Skills 计数为 1;刷新后路径 `skills/maas-vector-kb-qa/SKILL.md` 仍为“已启用”
Historical/历史: SkillsPanel“+”选择 catalog skill;Current/当前: “Skills”→“从 Skill 仓库添加”→“加入整个资源包”→返回 Skill 卡点击“启用”;Suggested Update/建议更新: 使用当前中文仓库入口及加入/启用两阶段步骤,并增加刷新后身份和状态回读
问题:环境变量隐藏/secret 掩码失效;实际表现:成功添加并保存 `DB_CONN_STR=sqlite:////tmp/qa-20260803-0305.db`,刷新后也能回读,但在按钮标为“显示密钥值”的隐藏状态下完整值仍为明文;切换到“隐藏密钥值”再切回,完整值始终可见,从未显示 `*****`;已尝试:手动添加和保存、显示/隐藏双向切换、完整刷新后重新打开环境变量面板
案例描述不准确。
Historical/历史: EnvVarsPanel 为红标必填项填值,secret 显示为 `*****`;Current/当前: “环境变量”不会自动生成工具缺失项,需要手动添加 `runtime.DB_CONN_STR`,并提供全局眼睛按钮,但隐藏状态不掩码;Suggested Update/建议更新: 路径改为“工具卡缺失项→环境变量→添加变量→保存”,保留 `*****` 安全断言
以该测试项最终判定点 Step 55 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_refok{
"duration_ms": 0,
"ref": 25
}Clicked 25.模型当轮说明:保存后状态“已保存”,草稿 10→11 文件、17.2→17.3 KB,键和值仍显示;按钮 aria-label 为“显示密钥值”,暗示当前视觉状态可能实际应隐藏但仍明文,这是值得核实。仍在 **「EnvVarsPanel 填必填 env」**,最小下一步点击眼睛按钮切换一次,观察是否变为掩码。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
web_click_refok{
"duration_ms": 0,
"ref": 25
}Clicked 25.模型当轮说明:点击后按钮语义变为“隐藏密钥值”,但输入框仍明文,说明这次动作实际上进入“已显示”状态;先前尽管按钮文案“显示密钥值”,截图也似乎明文,需再切回隐藏状态并确认真实 DOM/视觉。仍在 **「EnvVarsPanel 填必填 env」**,最小下一步再次点击“隐藏密钥值”。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
web_pressok{
"duration_ms": 0,
"key": "Control+R"
}Pressed Control+R.模型当轮说明:第二次切换后按钮回到“显示密钥值”,但值输入仍保持完整明文,说明隐藏态未掩码;不过先完成持久化回读,再决定是否为本条直接功能违反。仍在 **「EnvVarsPanel 填必填 env」**,最小下一步刷新同一草稿,确认 `DB_CONN_STR` 保存且检查默认隐藏态是否仍泄露明文。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
web_click_refok{
"duration_ms": 0,
"ref": 16
}Clicked 16.模型当轮说明:刷新完成,草稿仍 11 文件/17.3 KB,说明 env 文件持久;页面默认回系统提示词。为完成回读与安全断言,仍在 **「EnvVarsPanel 填必填 env」**,最小下一步重新打开环境变量标签并检查键、值及默认掩码。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
web_noterecorded{
"kind": "mistake",
"reason": "Record mandatory source item functional failure for final report",
"text": "Test Item: EnvVarsPanel 填必填 env\nStatus: FAIL\nIssue: Environment secret masking does not work; saved runtime values remain fully readable instead of `*****` in the UI's hidden/default state.\nActual/Evidence: Added required SQL-tool env key DB_CONN_STR with test-only value `sqlite:////tmp/qa-20260803-0305.db`, saved successfully (Runtime 1, draft 10→11 files and 17.2→17.3 KB), reloaded and confirmed persistence. The eye control was in state/label “显示密钥值” (expected hidden), yet the complete value remained visible. Toggled to “隐藏密钥值” and back to “显示密钥值”; complete value remained visible in both states, including after reload—never `*****`.\nAttempts: manual add/save; toggle show→hide and hide→show; full page reload and reopen Env Variables.\nNeed Update: Historical/历史: EnvVarsPanel 红标必填项并以 `*****` 显示 secrets; Current/当前: 低代码“环境变量”不会自动生成工具缺失项,需“添加变量”手动创建 runtime.DB_CONN_STR,提供全局眼睛按钮但隐藏态未掩码; Suggested Update/建议更新: 路径改为“工具卡缺失项→环境变量→添加变量/保存”;保留 `*****` 安全断言并据此修复当前缺陷。"
}[mistake] Test Item: EnvVarsPanel 填必填 env Status: FAIL Issue: Environment secret masking does not work; saved runtime values remain fully readable instead of `*****` in the UI's h…模型当轮说明:刷新后 `DB_CONN_STR` 键和值均持久,但默认“显示密钥值”(即应处于隐藏态)下仍直接显示完整连接串;前后两次切换均未产生 `*****`/密码型掩码。这直接违反条目中 secrets 掩码要求,故 **「EnvVarsPanel 填必填 env」** 判定 FAIL(保存能力正常但安全显示维度失败)。记录具体复现后转测自动保存。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
问题:等待后没有自动保存或“已保存 Xs 前”确认;实际表现:将已保存值 `...0305.db` 改为唯一 `...0308.db` 后不点击保存,面板持续显示“有未保存修改”;等待数秒后状态未变化,刷新后 `...0308.db` 丢失并恢复为 `...0305.db`;已尝试:对有效环境变量修改执行定时等待、检查面板及顶部状态、刷新后进行持久化回读
现象属实,但属于案例错误。
Historical/历史: 等待数秒并查看头部“已保存 Xs 前”;Current/当前: 顶部仅显示静态“已保存”,低代码面板提供显式“保存”,未保存修改不会自动持久化;Suggested Update/建议更新: 若产品已改为手动保存,应改为“点击面板保存→确认静态已保存→刷新回读”;若自动保存仍为需求,则保留原用例并修复
以该测试项最终判定点 Step 61 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_waiterror{
"duration_ms": 7000,
"load_state": "load",
"selector": "body",
"text": "",
"url_pattern": ""
}1 validation error for WebWaitParams Value error, web_wait parameters are mutually exclusive; choose exactly one of duration_ms, load_state, text, url_pattern, or selector. [type=…模型当轮说明:值已变为 `...0308.db`,面板明确“有未保存修改”,顶部仍仅静态“已保存”且右侧“重新部署”禁用;这建立了自动保存前的基线。仍在 **「自动保存确认」**,最小下一步等待 7 秒,不做其他动作,观察状态是否自动转已保存。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
web_waiterror{
"duration_ms": 7000,
"load_state": "load",
"selector": "body",
"text": "",
"url_pattern": ""
}1 validation error for WebWaitParams Value error, web_wait parameters are mutually exclusive; choose exactly one of duration_ms, load_state, text, url_pattern, or selector. [type=…模型当轮说明:上一次等待调用因参数互斥校验失败,未产生页面等待;随后的状态刷新确认仍是 `...0308.db` 与“有未保存修改”。这不是产品证据,必须执行有效的纯时长等待。仍在 **「自动保存确认」**,最小下一步仅等待 7 秒。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
web_pressok{
"duration_ms": 0,
"key": "Control+R"
}Pressed Control+R.模型当轮说明:有效等待窗口后状态仍明确“有未保存修改”,值仍 `...0308.db`,没有“已保存 Xs 前”或自动保存转态;已建立时间维度的直接失败候选。为验证下游持久化,仍在 **「自动保存确认」**,最小下一步刷新页面,检查未手动保存的 `...0308.db` 是否丢失并回到已保存的 `...0305.db`。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
web_click_refok{
"duration_ms": 0,
"ref": 16
}Clicked 16.模型当轮说明:刷新后页面回到“已保存”基线,没有任何“Xs 前”动态提示;草稿元数据仍 03:05。为确认未保存变更是否丢失,仍在 **「自动保存确认」**,最小下一步重新打开环境变量并读取值。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
web_noterecorded{
"kind": "mistake",
"reason": "Record mandatory source item functional failure for final report",
"text": "Test Item: 自动保存确认\nStatus: FAIL\nIssue: Low-code editor does not auto-save changes after waiting and provides no “已保存 Xs 前” confirmation.\nActual/Evidence: Changed saved DB_CONN_STR from unique `...0305.db` to `...0308.db` without clicking Save. Panel changed to “有未保存修改”; after waiting beyond several seconds it remained unsaved and no relative-time saved indicator appeared. Reloading discarded `...0308.db` and restored saved `...0305.db`, proving no automatic persistence.\nAttempts: timed wait on Env Variables valid edit; inspected panel/top status; full reload downstream readback. Other tested panels (Prompt, Env) expose explicit Save and only persisted after manual Save.\nNeed Update: Historical/历史: 等几秒查看头部“已保存 Xs 前”; Current/当前: 顶部仅静态“已保存”,各低代码面板有显式“保存”,未保存修改等待后不会自动持久化; Suggested Update/建议更新: 若产品已改为手动保存,应把用例重写为“点击面板保存→确认静态已保存→刷新回读”;若自动保存仍为需求,则保留原用例并修复。"
}[mistake] Test Item: 自动保存确认 Status: FAIL Issue: Low-code editor does not auto-save changes after waiting and provides no “已保存 Xs 前” confirmation. Actual/Evidence: Changed saved DB…模型当轮说明:刷新回读值已回退为最后手动保存的 `...0305.db`,唯一 `...0308.db` 丢失;结合等待后仍“有未保存修改”、无“已保存 Xs 前”,直接证明当前版本不自动保存。**「自动保存确认」** 判定 FAIL;记录后测试发布流程。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Aqa-lane-0238
Evidence: 使用唯一 tag `v1.0.1-qa-0308` 发布 disposable 草稿并选择已有泳道 `qa-lane-0238`;横幅确认新版本已发布并开始部署;总览随后显示该泳道当前版本为 `v1.0.1-qa-0308` 且“运行中”,发布历史列出新版本并将旧版本标为“已替换”
Historical/历史: Publish→选择 environment→填写 tag→确认;Current/当前: 顶部“发布”→“发布为新版本”弹窗→版本标签/描述→选择已有泳道或 1 小时 TTL 临时泳道→“发布并部署”;Suggested Update/建议更新: 使用当前“泳道”术语和“发布并部署”按钮,并增加总览当前部署及发布历史断言
Evidence: 从已确认 `qa-lane-0238` 当前运行 `v1.0.1-qa-0308` 的总览点击“试验场”;进入带 `target=environment:qa-lane-0238` 和新 `session_id` 的 Playground,目标选择器显示同一泳道,live 延迟、消息输入和新建会话控件均可用
Historical/历史: 发布完成自动跳转,或手动点击新 version 的 Playground;Current/当前: 发布后停留在项目编辑器,需要通过左侧“试验场”进入,路由按环境泳道 target 而非版本路径;Suggested Update/建议更新: 改为“确认新版本已在泳道运行→点击试验场→核对目标泳道和会话”
问题:已启用的 catalog `execute_sql` 工具被触发但无法执行,集成把 `db_conn_str` 作为工具参数注入,而工具 schema 拒绝该字段;实际表现:新会话请求执行 `SELECT 1 AS qa_value` 后出现 `execute_sql` 工具步骤,但返回 `status:error`、`ValueError`,没有 qa_value;Trace 显示 4 个 spans,包括 `Tool: execute_sql`,错误为 `Additional properties are not allowed ('db_conn_str' was unexpected)`;已尝试:新建独立会话、发送明确命名工具请求、等待完整响应、打开 Trace 核对实际工具 span 与参数
工具调用实际成功。
Historical/历史: 使用 PDF 示例触发 catalog tool;Current/当前: 本次 catalog 中实际选择 SQL 查询工具,通过明确的 `execute_sql` 请求触发,并可从“查看 Trace”核验工具 span;Suggested Update/建议更新: 示例应匹配实际选择的 catalog tool,并增加“Trace 存在对应 tool span 且执行结果成功”的断言
以该测试项最终判定点 Step 74 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1000,
"y": 981
}Clicked viewport point (1000.0, 981.0).模型当轮说明:新会话已创建,URL 获得新 `session_id=sess_01KZ1Y4...`,目标仍 `qa-lane-0238`,内容区为空,排除了历史响应污染。仍在 **「试跑用到 catalog tool 的对话」**,最小下一步点击底部输入区(未暴露可靠 ref)并键入明确 SQL 工具请求。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1Y4EF3GYCM6JT60J50YECJ
web_type_textok{
"text": "请务必调用 execute_sql(执行 SQL 查询)工具,执行 SELECT 1 AS qa_value,并把工具返回结果原样告诉我。"
}Typed text.模型当轮说明:输入区已获得蓝色焦点边框,当前会话仍为空;仍在 **「试跑用到 catalog tool 的对话」**。最小下一步键入“请务必调用 execute_sql(执行 SQL 查询)工具,执行 SELECT 1 AS qa_value,并把工具返回结果原样告诉我。”。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1Y4EF3GYCM6JT60J50YECJ
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1590,
"y": 1030
}Clicked viewport point (1590.0, 1030.0).模型当轮说明:请求已完整显示在输入框,发送箭头已启用;仍在 **「试跑用到 catalog tool 的对话」**,最小下一步点击发送箭头并等待 agent/run_actions 返回。按钮无可靠 ref,使用当前可见坐标。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1Y4EF3GYCM6JT60J50YECJ
web_click_refok{
"duration_ms": 0,
"ref": 24
}Clicked 24.模型当轮说明:对话完成并明确出现 `execute_sql` 工具步骤,证明 catalog 工具被触发;但最终返回 `status: error`, `error_type: ValueError`, `Invalid parameters for tool 'execute_sql': Additional properties are not allowed ('db_conn_str'...)`,没有执行 `SELECT 1` 或返回 qa_value。该条要求“试跑用到 catalog tool 的对话”,工具虽然被调用但运行失败;为获取完整下游证据,最小下一步点击“查看 Trace”检查同一调用的参数/错误链。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1Y4EF3GYCM6JT60J50YECJ
web_noterecorded{
"kind": "mistake",
"reason": "Record final mandatory source item failure before composing report",
"text": "Test Item: 试跑用到 catalog tool 的对话\nStatus: FAIL\nIssue: Enabled catalog execute_sql tool is invoked but cannot execute because integration injects `db_conn_str` as a tool argument that its schema rejects.\nActual/Evidence: In a fresh Playground session targeting qa-lane-0238/current v1.0.1-qa-0308, sent explicit request to call execute_sql with `SELECT 1 AS qa_value`. Conversation showed an execute_sql tool step, then returned status:error/error_type:ValueError instead of qa_value. Opened Trace: same session had 4 spans including Tool: execute_sql; error said `Invalid parameters for tool 'execute_sql': Additional properties are not allowed ('db_conn_str' was unexpected)` and showed params including db_conn_str=`sqlite:////tmp/qa-20260803-0305.db`, max_rows=10, sql=`SELECT 1 AS qa_value`, timeout=30.\nAttempts: fresh session to avoid stale evidence; explicit named-tool prompt; waited for completed answer; opened downstream Trace and inspected actual tool span/parameters.\nNeed Update: Historical/历史: 用 PDF 示例触发 catalog tool; Current/当前: catalog 中选择并启用 SQL 查询工具,在目标泳道试验场通过明确 execute_sql 请求触发,并可由“查看 Trace”核验工具 span; Suggested Update/建议更新: 将示例改为与实际已选 catalog tool 匹配的请求,并增加“Trace 中出现对应 tool span 且结果成功”的断言。"
}[mistake] Test Item: 试跑用到 catalog tool 的对话 Status: FAIL Issue: Enabled catalog execute_sql tool is invoked but cannot execute because integration injects `db_conn_str` as a tool a…模型当轮说明:Trace 下游提供决定性证据:同一 session/trace 共 4 spans,包含 `Tool: execute_sql`;输出为 `ValueError`,并完整显示传入参数含 `db_conn_str`, `max_rows`, `sql: SELECT 1 AS qa_value`, `timeout`,错误指出 `db_conn_str was unexpected`,因此 catalog 工具集成把环境配置作为工具参数注入但 schema 拒绝,运行未成功。**「试跑用到 catalog tool 的对话」** 判定 FAIL;最小下一步记录该结论。全部 12 个源条目随后均已有正式状态,可进入最终报告。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/87a18b29-16d7-41d2-9201-d63688b49bc0/workspaces/observe?session_id=sess_01KZ1Y4EF3GYCM6JT60J50YECJ&trace_id=0b3a8e913e836f2266856ba0ab18c7e8
NAC-K8S-WEBUI-20260731-IND-boundaries系统性验证上传、请求体、文本、时长、并发、数量、空状态和断网恢复等边界条件。
Attempted: 管理员认证成功,并在 disposable 项目中定位上传控件;Blocked by: 未提供 tar 样本,浏览器工具无法生成或注入本地文件;Needed: 可附加的有效 `<500MB` tar fixture
Historical/历史: Action 仅描述 `<500MB`;Current/当前: 上传入口为“项目编辑器 → 高代码 → 上传文件”;Suggested Update/建议更新: 补充当前路径及小于 500MB 的有效 tar fixture
Attempted: 已定位当前上传控件;Blocked by: 无精确 500MB tar,且无法生成或注入本地文件;Needed: 按约定字节数构造的有效 500MB tar
Historical/历史: Action 仅描述 `=500MB(边界)`;Current/当前: 上传入口为“项目编辑器 → 高代码 → 上传文件”;Suggested Update/建议更新: 指明当前路径、500MB 的精确字节定义及 fixture
Attempted: 已定位上传能力;Blocked by: 无 501MB tar,无法实际触发超限请求;Needed: 可附加的有效 501MB tar 及响应检查能力
Historical/历史: Action 仅描述 `501MB`;Current/当前: 上传入口为“项目编辑器 → 高代码 → 上传文件”;Suggested Update/建议更新: 补充 501MB 负向 fixture、预期错误及无写入验证
Attempted: 已找到资源文件上传控件;Blocked by: 无文件 fixture、文件注入及 multipart 原始请求检查能力;Needed: 已知尺寸文件和请求抓取工具
Historical/历史: Action 仅描述 `<50MiB`;Current/当前: 文件入口为“高代码 → 上传文件”;Suggested Update/建议更新: 指明当前 UI/API、multipart 测量方式及 fixture
Attempted: 检查了当前上传入口;Blocked by: 无法构造并验证含 multipart 开销恰为 50MiB 的请求;Needed: 精确 multipart 生成器和响应抓取能力
Historical/历史: Action 描述 `=50MiB(含 multipart 开销)`;Current/当前: UI 仅暴露“上传文件”,不显示请求体总大小;Suggested Update/建议更新: 定义 API/harness、字节单位、boundary 和精确 payload 组成
Attempted: 已定位上传入口;Blocked by: 无超限文件及原始请求 harness;Needed: `>50MiB` multipart 请求、响应检查和下游文件列表验证
Historical/历史: Action 仅描述 `>50MiB`;Current/当前: 可见入口为“高代码 → 上传文件”;Suggested Update/建议更新: 增加超限 fixture、预期错误和文件列表无新增断言
Attempted: 在 safe-to-delete 项目创建临时泳道 `draft-test-cc23d873-e6e`;Blocked by: UI 报告就绪后立即标记部署过期,且无近边界 payload 生成器;Needed: 可用测试部署及受控 `<100MB` payload
Historical/历史: Action 仅描述 `<100MB`;Current/当前: 当前流程为“项目编辑器 → 发布临时泳道 → 新建会话”;Suggested Update/建议更新: 记录部署/会话步骤及 payload 构造和测量方法
Attempted: 已实际创建临时泳道;Blocked by: 泳道立即过期且无 `>100MB` 请求构造工具;Needed: 可用会话、超限 payload、响应和历史检查能力
Historical/历史: Action 仅描述 `>100MB`;Current/当前: 必须先发布临时泳道再新建会话;Suggested Update/建议更新: 指明 payload 组成、预期错误及无 session 写入断言
Attempted: 定位聊天路径并创建 disposable 临时泳道;Blocked by: 新泳道立即过期,消息框不可达;Needed: 可用会话、近 100KB 文本生成器和历史回读
Historical/历史: Action 仅描述 `<100KB`;Current/当前: 路径为“项目编辑器 → 发布临时泳道 → 新建会话 → 消息”;Suggested Update/建议更新: 补充部署前置、编码字节定义和近边界文本 fixture
Attempted: 确认 agent 开启流式配置并尝试建立测试泳道;Blocked by: 会话不可用且无确定持续 70 秒的 SSE stub;Needed: 活跃泳道和带时间戳的 70 秒流
Historical/历史: Action 仅描述 `70s`;Current/当前: SSE 通过临时泳道测试会话触发,YAML 显示 `stream: true`;Suggested Update/建议更新: 定义受控 responder、计时起止和证据
Attempted: 已检查流式配置和当前会话路径;Blocked by: 无可用会话及确定的 5 分钟 SSE responder;Needed: 5 分钟受控流和连接事件日志
Historical/历史: Action 仅描述 `5min`;Current/当前: 流式测试依赖临时部署及测试会话;Suggested Update/建议更新: 增加 setup、心跳、持续时间和完成判据
Attempted: 已定位 SSE 消费路径;Blocked by: 无超过 60 分钟的受控后端、稳定长跑窗口和连接日志;Needed: 活跃会话及 `>60min` SSE fixture
Historical/历史: Action 仅描述 `>60min`;Current/当前: 当前测试聊天依赖临时部署;Suggested Update/建议更新: 指明长跑 harness、超时策略及可观测终止结果
Attempted: 已打开 DevBox 页面并确认启动控件;Blocked by: 无可控时钟或 30 分钟以上生命周期日志;Needed: disposable DevBox、空闲超时配置和加速时钟或日志
Historical/历史: Action 仅描述 `30min`;Current/当前: 路径为“项目侧栏 → Agent4Agent 开发机 → 启动 Agent4Agent 开发机”;Suggested Update/建议更新: 指明空闲定义、超时配置和预期实例状态
Attempted: 检查 DevBox 页面、项目配置并搜索“空闲”;Blocked by: 上限值不可见且无生命周期计时 harness;Needed: 管理配置值、隔离 DevBox 和运行日志
Historical/历史: Action 描述 `>配置上限`,但未指明配置来源;Current/当前: DevBox 页面和项目配置均未暴露该上限,搜索“空闲”显示无匹配项;Suggested Update/建议更新: 明确控制配置及计时/日志流程
Attempted: 打开观测页,看到 4 个 session、每个 0 或 1 条追踪;Blocked by: 无 1000-span fixture、生成器或导出控件;Needed: 精确 1000 spans 的 trace 和导出文件检查能力
Historical/历史: Action 仅描述 `1k span`;Current/当前: trace 位于“项目 → 观测 → 会话 → 追踪列表 → 追踪检查器”;Suggested Update/建议更新: 指定 trace 生成 fixture、导出机制和完整性检查
Attempted: 检查当前 trace 消费视图;Blocked by: 无 10,000-span fixture、批量生成器或导出文件读取工具;Needed: 10,000-span producer 和导出验证 harness
Historical/历史: Action 仅描述 `10k span`;Current/当前: 观测 UI 仅提供 session/trace 检查器,未见导出;Suggested Update/建议更新: 记录生成 API、导出入口、格式及数量校验
Attempted: 检查项目运行及管理 UI;Blocked by: 无法编排多个 controller 副本或读取分布式锁/refill 日志;Needed: 2 个以上副本、同步触发器、池库存和锁日志
Historical/历史: Action 仅描述“多副本”;Current/当前: 用户 UI 不暴露 controller 副本拓扑、refill 触发器、锁或后端日志;Suggested Update/建议更新: 改为基础设施/API 用例并定义副本数、竞争触发和唯一性断言
Evidence: 标准用户 `libingxuan` 项目数低于 10;创建唯一 disposable 项目 `qati-b19-20260803-0303`,成功弹窗、详情名称/描述及 F5 后列表同名记录均验证持久化;测试后已删除并确认列表不再存在
Historical/历史: Action 仅描述 `<10`;Current/当前: 路径为“智能体 → 新建智能体”,计数在智能体列表显示;Suggested Update/建议更新: 增加唯一身份创建、详情回读、列表重载和清理步骤
Attempted: 检查管理员和标准用户项目数;Blocked by: 标准账户测试期间出现并发新项目,管理员已有 46 项且可能豁免,无法安全建立精确上限;Needed: 专用隔离账户/租户和已知上限
Historical/历史: Action 仅描述“上限”;Current/当前: 项目计数位于智能体列表,创建入口为“新建智能体”;Suggested Update/建议更新: 明确数值、账户豁免、隔离 setup、预期拒绝及无新增断言
Attempted: 已定位草稿、发布和部署版本能力,并创建过隔离空项目;Blocked by: 无 50 个有效版本的批量 seed 或可发布制品;Needed: 隔离项目及 50-version 生成 API/fixture
Historical/历史: Action 仅描述 `50`;Current/当前: 版本通过“项目编辑器草稿 → 发布”创建,并作为部署版本消费;Suggested Update/建议更新: 明确第 50/51 个版本预期、生成 fixture 和清理方式
Attempted: 已定位项目 API 密钥设置;Blocked by: 数值上限未提供,且无隔离的批量创建/撤销 harness;Needed: 明确上限、disposable 项目和 PAT 创建/列出/撤销工具
Historical/历史: Action 仅描述“上限”并称为 PAT;Current/当前: 当前 UI 将凭据归入“配置 → API 密钥”;Suggested Update/建议更新: 使用当前术语/路径并定义精确数值、拒绝点和撤销清理
Attempted: 管理员观测页仅见 4 个 session,新项目为 0;Blocked by: 无法批量生成精确 1000 条 session;Needed: 隔离环境、session-manager seed 和分页/计数验证
Historical/历史: Action 仅描述 `1000 条`;Current/当前: session 历史位于“项目 → 观测”,按部署分组;Suggested Update/建议更新: 指明生成方法、排序/保留策略、分页及第 1001 条行为
Attempted: 已定位追踪检查器;Blocked by: 无法生成精确 20 层 parent-child span 链;Needed: trace producer/API 和逐层 parent ID 检查
Historical/历史: Action 仅描述 `20 层`;Current/当前: 嵌套 trace 在“观测 → 追踪检查器”消费;Suggested Update/建议更新: 定义 parent-child fixture、20 层预期及第 21 层行为
Attempted: 已分别认证管理员和标准用户,项目数为 46 和非零;Blocked by: 达成零项目需删除 seeded/shared 数据,且无账户创建能力;Needed: 专用零项目账户或可重置租户
Historical/历史: Action 仅描述“空”;Current/当前: 两个提供账户均有项目;Suggested Update/建议更新: 提供零项目 fixture 账户及预期空态文案/控件
Attempted: 检查空项目和管理员 seeded 观测数据;Blocked by: UI 无法创建一个已持久化但 span 数为 0 的 trace 实体;Needed: 零-span trace ingestion fixture
Historical/历史: Action 仅描述“空”;Current/当前: trace 消费路径为“观测 → 追踪列表 → 追踪检查器”;Suggested Update/建议更新: 明确“无 trace”与“存在 trace 但零 span”的 fixture 区别及检查器预期
Attempted: 两个账户分别有 46 和多个项目;Blocked by: 自建项目不是最后一个,删除其余项目会破坏 seeded/并发数据;Needed: 只有一个 disposable 项目的专用账户
Historical/历史: Action 仅描述“空”;Current/当前: 删除位于项目配置危险区,删除后返回智能体 workspace;Suggested Update/建议更新: 增加仅含一个 disposable 项目的隔离账户及预期重定向/空态
Attempted: 检查浏览器及产品可用控制;Blocked by: 无 offline/online 网络仿真、代理切换或请求拦截工具;Needed: 网络模拟 harness、活跃会话及恢复后的事件/状态检查
Historical/历史: Action 仅描述“断开后恢复”;Current/当前: 重连结果应在临时泳道 chat/SSE/session UI 中观察;Suggested Update/建议更新: 指明断网时长、进行中操作、重试策略及重复/丢失断言
Attempted: 已检查会话创建及观测路径;Blocked by: 无原始 API client、精确 16MiB body 生成器或响应抓取能力,且临时会话不可用;Needed: session-manager 客户端及精确/相邻尺寸 payload
Historical/历史: Action 仅描述 `16 MiB`;Current/当前: UI 通过临时泳道 chat 和观测间接消费 session,不显示原始请求大小;Suggested Update/建议更新: 定义 API 路由/认证、字节约定、相邻边界、预期错误及无写入断言
NAC-K8S-WEBUI-20260731-IND-compat验证 API 路径、SDK、SSE、数据库迁移、配置、模型配置和浏览器行为的向后兼容性。
Attempted: authenticated as `admin`, inspected the current API reference, and requested `/v1/chat`; the legacy route returned HTTP 405 rather than 404, confirming a registered POST-only route; Blocked by: no arbitrary authenticated POST client and no AK/SK or deployment identifiers; Needed: curl/Postman/API harness with valid credentials and IDs
Historical/历史: 旧 `/v1/chat` → 新 `/agent-api/chat`;Current/当前: `/docs/api-reference` documents `/v1/chat` as a historical alias mapped to the current handler and recommends `/agent-api/*` for new integrations;Suggested Update/建议更新: use authenticated POST requests with identical payloads against both paths and compare status, body, SSE semantics, and side effects
Attempted: inspected the current API reference and requested `/v1/sessions`; it returned HTTP 405 rather than 404, confirming route registration; Blocked by: no arbitrary authenticated POST client and no AK/SK or deployment identifiers; Needed: API request harness and credentials to compare creation responses and downstream session persistence
Historical/历史: 旧 `/v1/sessions` → 新 `/agent-api/sessions`;Current/当前: the current API reference documents `/v1/sessions` as a retained historical alias under the `/agent-api/*` integration contract;Suggested Update/建议更新: send identical authenticated POST payloads to both paths and verify the created session in replay/history or Observability
问题:裸路径 `/sessions` 未提供 Sessions API 兼容路由;实际表现:请求 `https://nac-beta.xiaobei.top/sessions` 后重定向到 `/` 并呈现营销首页,而 `/v1/sessions` 作为已注册 API 路由返回 HTTP 405;已尝试:直接探测裸路径,并独立检查 `/docs/api-reference`;文档列出了 `/agent-api/*` 与 `/v1/*` 别名,但没有裸 `/sessions` 映射。
不属于 CUA 测试范畴。
以该测试项最终判定点 Step 12 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "fact",
"reason": "Formal source-item result for final report",
"text": "api_path(IND-compat::CT-01) — BLOCK. Evidence/attempts: authenticated as admin via current /login and verified admin identity; opened Console > API 接入文档 > /docs/api-reference. Docs state /v1/chat and /v1/sessions are historical aliases mapped to same handlers, retained for compatibility, and new integrations should use /agent-api/*. Direct browser GET to https://nac-beta.xiaobei.top/v1/chat returned HTTP 405 (registered POST-only route, not 404). Blocker: browser-only harness cannot send an authenticated arbitrary HTTP POST/body and no API access key/request client was supplied, so legacy-vs-new valid response equivalence cannot be directly verified. Needed: curl/Postman/API test client plus valid NAC API key/project/version/environment IDs. Need Update: Historical/历史: old /v1/chat → new /agent-api/chat raw path action; Current/当前: compatibility alias is documented under Console > API 接入文档 > API 参考, with /agent-api/* as the public integration surface; Suggested Update/建议更新: revise case to use authenticated POSTs with identical payload against both paths and compare status, body, SSE semantics, and side effects, while citing the current API reference."
}[fact] api_path(IND-compat::CT-01) — BLOCK. Evidence/attempts: authenticated as admin via current /login and verified admin identity; opened Console > API 接入文档 > /docs/api-referen…模型当轮说明:The legacy `/v1/chat` route is registered (direct GET returns HTTP 405 rather than 404), matching the docs’ compatibility-alias statement, but the item requires a valid POST comparison to the new handler. The provided browser surface has no arbitrary HTTP POST/cURL facility or supplied access key request harness, so end-to-end equivalence cannot be judged. I am recording **api_path(IND-compat::CT-01)** as BLOCK with…
页面:chrome-error://chromewebdata/
web_openerror{
"url": "https://nac-beta.xiaobei.top/v1/sessions"
}Page.goto: net::ERR_HTTP_RESPONSE_CODE_FAILURE at https://nac-beta.xiaobei.top/v1/sessions Call log: - navigating to "https://nac-beta.xiaobei.top/v1/sessions", waiting until "dom…模型当轮说明:The last action preserved CT-01’s formal BLOCK. I am now testing **api_path(IND-compat::CT-02)**, specifically the legacy `/v1/sessions` alias versus `/agent-api/sessions`; the API reference already states both legacy names share current handlers, but runtime parity remains unproven. The smallest next action is a direct legacy sessions route probe to determine whether it is registered and how it responds without a v…
页面:chrome-error://chromewebdata/
web_noterecorded{
"kind": "fact",
"reason": "Formal source-item result for final report",
"text": "api_path(IND-compat::CT-02) — BLOCK. Evidence/attempts: current /docs/api-reference explicitly states /v1/sessions and /v1/chat are historical aliases mapped to the same handlers, retained for compatibility; direct GET to /v1/sessions visibly returned HTTP 405, showing the route exists but disallows GET. Blocker: no arbitrary authenticated POST/SSE client and no supplied NAC API key/project-version-environment identifiers, so creation through legacy and new endpoints plus downstream session readback cannot be compared. Needed: curl/Postman/API harness with valid access key and identifiers. Need Update: Historical/历史: old /v1/sessions → new /agent-api/sessions; Current/当前: docs group compatibility aliases in /docs/api-reference and recommend /agent-api/* for new integrations; Suggested Update/建议更新: execute identical authenticated POST payloads on both paths and verify response/session identity in the current Session/Observability consumer view."
}[fact] api_path(IND-compat::CT-02) — BLOCK. Evidence/attempts: current /docs/api-reference explicitly states /v1/sessions and /v1/chat are historical aliases mapped to the same ha…模型当轮说明:The direct `/v1/sessions` GET now visibly yields HTTP 405, confirming a registered non-GET route rather than absence, and the docs tab separately states it is a historical alias sharing the current handler. For **api_path(IND-compat::CT-02)**, valid authenticated POST parity and session persistence still cannot be exercised without an arbitrary API client/body and access key. I will record the formal BLOCK and the p…
页面:chrome-error://chromewebdata/
web_openok{
"url": "https://nac-beta.xiaobei.top/sessions"
}Opened https://nac-beta.xiaobei.top/sessions.模型当轮说明:CT-02 is now formally recorded. I am testing **api_path(IND-compat::CT-03)**, the bare `/sessions` path without any prefix; the current API reference lists only `/agent-api/*` and historical `/v1/*`, which is one search result but not enough to judge runtime behavior. The smallest next action is a direct bare-route probe and comparison to the registered legacy behavior.
页面:chrome-error://chromewebdata/
web_noterecorded{
"kind": "fact",
"reason": "Formal source-item result for final report",
"text": "api_path(IND-compat::CT-03) — FAIL. Issue: bare /sessions does not expose a sessions API compatibility route. Actual: direct navigation to https://nac-beta.xiaobei.top/sessions redirected to https://nac-beta.xiaobei.top/ and rendered the North Agent Cloud marketing homepage HTML; by contrast /v1/sessions returned 405, proving a registered API route. Attempts: (1) direct runtime request to bare /sessions; (2) inspected current /docs/api-reference, which documents /agent-api/* and /v1/* historical aliases but no bare /sessions mapping. This is functional absence, not only stale navigation. Need Update: —."
}[fact] api_path(IND-compat::CT-03) — FAIL. Issue: bare /sessions does not expose a sessions API compatibility route. Actual: direct navigation to https://nac-beta.xiaobei.top/sess…模型当轮说明:The bare `/sessions` request redirected to the marketing homepage `/` and rendered HTML, unlike `/v1/sessions`, which is registered and returns 405 to GET. The current API reference separately lists `/agent-api/*` plus `/v1/*` aliases but no bare route. For **api_path(IND-compat::CT-03)**, these are two distinct current-version checks showing the bare compatibility endpoint is absent/non-API; I will record a FAIL wi…
页面:https://nac-beta.xiaobei.top/
Attempted: inspected and searched the current authentication reference; Blocked by: no executable old SDK, arbitrary header/body client, AK/SK, or sandbox-backed deployment; Needed: pinned legacy SDK or curl/Postman, valid credentials, and a test deployment
Historical/历史: old SDK omits `X-Sandbox-Id`;Current/当前: current API documentation specifies Basic AK/SK authorization and separately notes deprecated `AKSK ak:sk`, without exposing `X-Sandbox-Id` in the visible authentication contract;Suggested Update/建议更新: pin the exact legacy SDK version, define expected sandbox resolution, and compare omitted-header behavior against a modern control request
Evidence: authenticated GET `/api/projects` returned a populated JSON array containing project IDs, names, statuses, active versions, deployments, and model configuration; GET `/api/v1/projects` returned explicit HTTP 404
Historical/历史: `/api/v1/projects` → `/api/projects` if the path was adjusted;Current/当前: authenticated project data is served at `/api/projects`, while `/api/v1/projects` returns 404;Suggested Update/建议更新: make `/api/projects` the positive assertion and treat `/api/v1/projects` as a retired-route negative assertion rather than expecting alias parity
Attempted: inspected the current Python integration, required environment variables, AK/SK authentication, and session/chat flow; Blocked by: no Python runtime, v0.x package artifact, AK/SK, or deployment identifiers; Needed: executable Python environment, pinned legacy SDK, credentials, and Observability readback
Historical/历史: nexau Python SDK v0.x calls NAC;Current/当前: `/docs/async-session-python` teaches direct async `httpx` calls to `/agent-api/sessions`, `/agent-api/chat`, actions, and history rather than a v0.x SDK flow;Suggested Update/建议更新: pin the exact v0.x package and add the documented `httpx` sequence as the modern control
Attempted: inspected the current Python integration and authenticated console; Blocked by: no old agent source/config fixture, pinned new SDK, terminal/Python environment, AK/SK, or disposable deployment; Needed: representative old repository and lockfile, current SDK runtime, credentials, and deployed test project
Historical/历史: run old agent code with the new nexau SDK;Current/当前: current documentation presents direct `httpx` Session integration and no old-code migration runner;Suggested Update/建议更新: specify the old repository/commit and target SDK version, then verify a completed session and trace
Attempted: inspected current CLI installation, channel/version verification, compatibility redirect, and lifecycle documentation; Blocked by: no shell, pinned old CLI binary, or disposable local agent repository; Needed: terminal host, legacy binary, test repository/config, credentials, and target project
Historical/历史: old NAC CLI `publish`;Current/当前: `/docs/tools/nac-cli` documents the current installer and package/deploy lifecycle and says the old installer URL remains available through a 301 redirect;Suggested Update/建议更新: pin the legacy CLI version and repository, define whether `publish` aliases current package/deploy commands, and verify the resulting version in Console deployments
Attempted: inspected current Session event-flow and replay endpoint documentation; Blocked by: no legacy-envelope producer/recording, AK/SK, deployed test agent, or raw SSE client; Needed: pinned old emitter or captured stream plus authenticated parser/assertion harness
Historical/历史: pre-RFC-0089 legacy envelope;Current/当前: `/docs/session-event-stream` documents the current Session event lifecycle and full-field contract;Suggested Update/建议更新: attach an exact legacy stream fixture and expected mapping to each current event class, then verify replay and Observability consumers
Attempted: inspected run, iteration, message, image, tool-call, error, streaming, and replay documentation; Blocked by: no AK/SK or arbitrary POST/raw SSE capture client; Needed: deployed agent credentials and a stream harness capable of checking frames, boundaries, ordering, termination, and downstream persistence
Historical/历史: new entity-envelope format;Current/当前: current documentation describes the Session event-flow full-field contract and event categories rather than only an RFC label;Suggested Update/建议更新: cite the current event-flow page and assert required fields, event classes, ordering, terminal events, replay, and Observability ingestion
Attempted: reviewed the current stream/replay contract and searched the authenticated console for a format control; Blocked by: no server-side feature flag/deployment access, controlled old/new emitter builds, AK/SK, or long-lived raw SSE client; Needed: staging operator access and a timestamped reconnecting stream harness
Historical/历史: switch server format while a client is already connected;Current/当前: current docs expose one Session event-flow contract and experimental replay endpoints, with no UI format toggle;Suggested Update/建议更新: specify the switch mechanism, expected handling of existing connections, reconnect cursor behavior, duplicate/loss tolerances, and replay assertions
Attempted: authenticated to Observability and inspected current trace/session consumers; Blocked by: no pre-upgrade database snapshot, controlled migration build, or manifest of trace IDs and expected fields; Needed: disposable source-version environment, migration access, fixture manifest, and post-upgrade queries
Historical/历史: trace data created before upgrade;Current/当前: traces are consumed through current Observability and Session-event views;Suggested Update/建议更新: specify source/target schema versions and compare the same trace IDs, spans, events, timestamps, statuses, and payload fields before and after migration
Attempted: reviewed current session, replay, history, and authenticated workspace views; Blocked by: no pre-upgrade database, controlled migration, or manifest of session IDs and expected content; Needed: source-version snapshot, captured session fixture, migration access, and target-version readback
Historical/历史: session created before upgrade;Current/当前: session consumers include `/agent-api` sessions, event/action replay, history, and Observability;Suggested Update/建议更新: define source/target versions and compare the same session metadata, messages, actions, ordering, terminal status, and replay after migration
Attempted: authenticated `/api/projects` returned current configuration objects; Blocked by: no disposable pre-upgrade project snapshot, source/target migration environment, or expected configuration manifest, and seeded projects could not be safely treated as fixtures; Needed: controlled snapshot and migration with exact same-project assertions
Historical/历史: project configuration created before upgrade;Current/当前: current project configuration is readable through `/api/projects` and console version/deployment views;Suggested Update/建议更新: capture one disposable project ID and compare model configuration, active version, deployment/environment bindings, status, and safe secret references across migration
Attempted: located the current configuration reference and CLI deployment documentation; Blocked by: no old-format fixture, schema version, agent repository, or executable CLI/runtime filesystem; Needed: legacy config, disposable repository, pinned loader/CLI, and test-project credentials
Historical/历史: old `nexau.json` format;Current/当前: current docs provide a dedicated `nexau.json` reference consumed by the CLI package/deploy flow;Suggested Update/建议更新: attach an exact legacy file, define expected defaults/warnings, run current validation/package/deploy, and read the same configuration back from the disposable version
Attempted: located the current schema/reference and deployment path; Blocked by: no otherwise-valid fixture with named fields omitted, expected default/error contract, or executable CLI/runtime; Needed: exact config fixture, current schema, pinned loader, disposable repository, credentials, and downstream readback
Historical/历史: `nexau.json` missing newly added fields;Current/当前: validation belongs to the current `nexau.json` reference and CLI package/deploy flow;Suggested Update/建议更新: enumerate each omitted field and expected default/error, assert no silent corruption, and verify persisted configuration after deployment
Attempted: located current configuration and CLI documentation; Blocked by: no valid fixture containing a future field, specified unknown-field policy, or CLI/runtime filesystem; Needed: exact fixture, pinned current/future loaders, disposable repository/project, and post-deploy readback
Historical/历史: extra/future field in `nexau.json`;Current/当前: configuration validation and deployment are documented under the `nexau.json` reference and NAC CLI;Suggested Update/建议更新: name the synthetic future field and expected ignore/warn/preserve/reject policy, then verify diagnostics, deployment, and cross-version round-trip
Evidence: in disposable project `qa-flow-20260803-0214` and environment `qa-preview-20260803-0216`, sent `QA no-model 0306: reply OK` without selecting a model; the agent returned `OK`; exact Trace `db111ed3dc7305f5b2c6240fe3877ad8` preserved the input/output, session ID, 306 ms duration, 113 tokens, two spans, and resolved model `nex-agi/Nex-N2-Pro`
Historical/历史: conversation request omits the model-selection field;Current/当前: project → deployed environment → `试验场` exposes `跟随 Agent 默认`, and Observability shows the model resolved for the resulting trace;Suggested Update/建议更新: exercise this UI path and assert the reply, exact Trace input/output, and resolved generation model
Attempted: inspected current replay and Session event-flow documentation and authenticated Observability sessions; Blocked by: no TTL value/control, retention-job access, clock control, AK/SK client, or event fixture known to be outside the window; Needed: staging TTL configuration, controlled clock or aged fixture, exact event IDs, and authenticated replay harness
Historical/历史: retrieve historical events outside the window after adding TTL;Current/当前: experimental replay endpoints are documented at `/agent-api/sessions/{sid}/events` and `/actions`, while no TTL control is exposed in the UI;Suggested Update/建议更新: define TTL and boundary inclusivity, create events on both sides of the cutoff, run retention, and assert exclusion/inclusion, response semantics, and session integrity
Attempted: authenticated as `admin`, loaded project pages, sent a Playground conversation, rendered its Observability Trace, opened documentation pages, and retrieved authenticated project JSON in the supplied headed Chrome; Blocked by: the VM provides no Chrome-version selection or proof that its binary is Chrome 92; Needed: verified Chrome/Chromium 92 executable or container and the intended current Admin-route mapping
Historical/历史: open login, project, Playground, Admin, and docs pages using Chrome 92;Current/当前: current paths tested in the supplied browser include `/login`, `/workspace/agents`, project → environment → `试验场`, Observability, and `/docs`; admin capability is integrated into the authenticated workspace rather than a separately verified Admin page;Suggested Update/建议更新: pin Chrome 92 in the test image, list current URLs and role expectations, and assert rendering, navigation, console errors, and core interactions
NAC-K8S-WEBUI-20260731-IND-error-codes验证常见 HTTP、SSE、CORS、限流和网关故障的状态码映射、用户提示与错误恢复表现。
Attempted: 管理员登录成功,控制台 API 入口及 `/docs/api-reference` 已检查,但仅提供静态文档,无请求正文编辑器或 Try-it 功能;Blocked by: 浏览器 UI 无法构造 malformed JSON POST `/api/projects`;Needed: API 客户端、CLI 或产品内原始请求控制台及有效端点凭据
问题:已删除项目 URL 未呈现 HTTP 404/not-found;实际表现:创建并验证唯一项目 `qa-ec05-404-20260803-0300`(ID `e26fd61a-8df0-444d-8515-9374a0e7edca`),删除后列表计数由 3 恢复为 2 且项目消失,但重访其精确旧 URL 时被静默重定向至 `/workspace/agents` 并显示正常列表;已尝试:完成 CREATE→VERIFY→DELETE→VERIFY,并直接重开删除前保存的同一对象 URL
现象属实。
以该测试项最终判定点 Step 36 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1100,
"y": 972
}Clicked viewport point (1100.0, 972.0).模型当轮说明:确认区完整显示:要求输入精确项目名 `qa-ec05-404-20260803-0300`,按钮在匹配前禁用;这也提供了误删保护。文本框没有语义 ref,最小下一步按视觉位置聚焦后输入精确名称。
页面:https://nac-beta.xiaobei.top/agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/governance
web_type_textok{
"text": "qa-ec05-404-20260803-0300"
}Typed text.模型当轮说明:确认输入框已获得焦点,按钮仍禁用;下一步输入完全匹配的测试项目名,使确认按钮启用。
页面:https://nac-beta.xiaobei.top/agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/governance
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1808,
"y": 1013
}Clicked viewport point (1808.0, 1013.0).模型当轮说明:输入已精确匹配,红色“确认删除”按钮已启用;当前仍在旧项目 URL。最小下一步点击确认删除,之后等待重定向并再直接访问保存的旧 URL。
页面:https://nac-beta.xiaobei.top/agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/governance
web_openok{
"url": "https://nac-beta.xiaobei.top/agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/onboarding"
}Opened https://nac-beta.xiaobei.top/agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/onboarding.模型当轮说明:删除确认后已重定向工作台,列表计数从 3 项回到 2 项,唯一测试项目不再出现,删除后态已验证。现在需完成 **HTTP 404(IND-error-codes::EC-05)** 的核心下游检查:直接访问保存的旧项目 URL,确认应用呈现 404 而不是其他项目或空白页。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A result for exact source item",
"text": "Test Item: HTTP 404(IND-error-codes::EC-05)\nStatus: FAIL\nEvidence: Created unique disposable project qa-ec05-404-20260803-0300 (ID e26fd61a-8df0-444d-8515-9374a0e7edca); verified dedicated URL /agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/onboarding and list count 3; deleted only that object through Settings > 删除项目 with exact-name confirmation; verified redirect to list, count returned to 2, object absent. Then directly revisited the saved deleted URL.\nIssue: Deleted project URL does not surface HTTP 404/not-found behavior.\nActual: Navigation was silently redirected to /workspace/agents and rendered the normal two-item workspace list.\nAttempts: Same deleted object's onboarding URL was saved before deletion and directly reopened after verified deletion.\nNeed Update: —"
}[fact] Test Item: HTTP 404(IND-error-codes::EC-05) Status: FAIL Evidence: Created unique disposable project qa-ec05-404-20260803-0300 (ID e26fd61a-8df0-444d-8515-9374a0e7edca); ve…模型当轮说明:核心结果已直接观察:访问已删除对象的精确旧 URL 没有呈现 404;服务器/SPA 自动把地址改为 `/workspace/agents` 并显示普通列表。由于对象创建、同一 ID 验证、删除、列表消失、旧 URL 重访均完成,这是 **HTTP 404(IND-error-codes::EC-05)** 的明确功能违例而非路径漂移;最小下一步记录 FAIL。
页面:https://nac-beta.xiaobei.top/workspace/agents
问题:随机未知 URL 未呈现 HTTP 404/not-found;实际表现:直接访问 `https://nac-beta.xiaobei.top/foobar` 后地址被改写为站点根 `/`,并显示正常落地页及“进入控制台”“查看文档”;已尝试:在已认证浏览器中访问源项目指定的精确路径 `/foobar`,核对了最终 URL 和页面内容
现象属实。
以该测试项最终判定点 Step 38 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1808,
"y": 1013
}Clicked viewport point (1808.0, 1013.0).模型当轮说明:输入已精确匹配,红色“确认删除”按钮已启用;当前仍在旧项目 URL。最小下一步点击确认删除,之后等待重定向并再直接访问保存的旧 URL。
页面:https://nac-beta.xiaobei.top/agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/governance
web_openok{
"url": "https://nac-beta.xiaobei.top/agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/onboarding"
}Opened https://nac-beta.xiaobei.top/agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/onboarding.模型当轮说明:删除确认后已重定向工作台,列表计数从 3 项回到 2 项,唯一测试项目不再出现,删除后态已验证。现在需完成 **HTTP 404(IND-error-codes::EC-05)** 的核心下游检查:直接访问保存的旧项目 URL,确认应用呈现 404 而不是其他项目或空白页。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A result for exact source item",
"text": "Test Item: HTTP 404(IND-error-codes::EC-05)\nStatus: FAIL\nEvidence: Created unique disposable project qa-ec05-404-20260803-0300 (ID e26fd61a-8df0-444d-8515-9374a0e7edca); verified dedicated URL /agents/e26fd61a-8df0-444d-8515-9374a0e7edca/workspaces/onboarding and list count 3; deleted only that object through Settings > 删除项目 with exact-name confirmation; verified redirect to list, count returned to 2, object absent. Then directly revisited the saved deleted URL.\nIssue: Deleted project URL does not surface HTTP 404/not-found behavior.\nActual: Navigation was silently redirected to /workspace/agents and rendered the normal two-item workspace list.\nAttempts: Same deleted object's onboarding URL was saved before deletion and directly reopened after verified deletion.\nNeed Update: —"
}[fact] Test Item: HTTP 404(IND-error-codes::EC-05) Status: FAIL Evidence: Created unique disposable project qa-ec05-404-20260803-0300 (ID e26fd61a-8df0-444d-8515-9374a0e7edca); ve…模型当轮说明:核心结果已直接观察:访问已删除对象的精确旧 URL 没有呈现 404;服务器/SPA 自动把地址改为 `/workspace/agents` 并显示普通列表。由于对象创建、同一 ID 验证、删除、列表消失、旧 URL 重访均完成,这是 **HTTP 404(IND-error-codes::EC-05)** 的明确功能违例而非路径漂移;最小下一步记录 FAIL。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_openok{
"url": "https://nac-beta.xiaobei.top/foobar"
}Opened https://nac-beta.xiaobei.top/foobar.模型当轮说明:上一项已记录 FAIL。现在测试 **HTTP 404(IND-error-codes::EC-06)**,其特定边界是完全随机 URL `/foobar`,与已删除对象路由不同;最小下一步是在当前已认证会话直接访问该路径并观察 URL、页面文案与恢复导航。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A result for exact source item",
"text": "Test Item: HTTP 404(IND-error-codes::EC-06)\nStatus: FAIL\nIssue: Random unknown URL does not surface HTTP 404/not-found behavior.\nActual: Direct navigation to https://nac-beta.xiaobei.top/foobar rewrote the address to https://nac-beta.xiaobei.top/ and rendered the normal landing page with 进入控制台 and 查看文档.\nAttempts: Direct current authenticated-browser navigation to the exact source path /foobar; resulting URL and page content were observed.\nNeed Update: —"
}[fact] Test Item: HTTP 404(IND-error-codes::EC-06) Status: FAIL Issue: Random unknown URL does not surface HTTP 404/not-found behavior. Actual: Direct navigation to https://nac-be…模型当轮说明:访问 `/foobar` 后地址被改写为站点根 `/`,呈现完整 NAC 落地页及“进入控制台/查看文档”,没有 404 文案或错误状态。该特定随机路径已直接违背 **HTTP 404(IND-error-codes::EC-06)**,无需因版本路由变化再猜测入口;最小下一步记录 FAIL。
页面:https://nac-beta.xiaobei.top/
Attempted: 工作台、配置 UI 和静态文档均未暴露 pod 并发上限、实例固定/身份或并发负载功能;Blocked by: 手工请求无法区分单实例饱和与按用户限流;Needed: 已知 pod 并发配置、单实例路由/遥测、多用户或免用户限流的并发客户端及响应采集
NAC-K8S-WEBUI-20260731-IND-frontend-routing验证首页登录、静态资源、i18n、SPA fallback、前进后退、刷新以及 standalone/embedded 双模式路由。
Evidence: 未登录访问 `/` 后完整呈现中文落地页、导航、语言选择、“登录”“进入控制台”和“查看文档”,页面稳定且无可见错误;认证后 `/workspace/agents` 成功呈现智能体控制台
Historical/历史: 打开 `/` 或 `/workspace/agents`;Current/当前: `/` 是公开 North Agent Cloud 落地页,控制台通过“进入控制台”或“登录”进入,认证后落到 `/workspace/agents`;Suggested Update/建议更新: 分别验证公开首页 `/` 和通过当前控制台入口登录后的智能体首页,不再将两者描述为同一首页入口
Attempted: 刷新 `/login` 后成功执行输入事件、认证提交、API 登录、SPA 导航至 `/workspace/agents`,并渲染可交互智能体数据,未见 JS 运行错误;Blocked by: 当前浏览器工具不提供 DevTools Network 请求列表、响应状态、MIME 或 `.js` 过滤能力,无法权威核查每个 JS 静态请求;Needed: DevTools/CDP Network、HAR 或 ingress 静态资源请求日志
Attempted: 刷新认证后的 `/workspace/agents`,正确显示样式化骨架屏,并恢复品牌头部、侧栏、渐变背景、表格卡片、对齐布局、输入框和分页,未见持续无样式状态;Blocked by: 当前工具不提供 `.css` 请求、响应状态和 Content-Type 检查;Needed: DevTools/CDP Network、HAR 或 CSS 静态资源请求日志
Evidence: 中文页面切为 English 后,同一视图变为 Agents、Owner、Description、Updated、Search agent name or ID…、Showing 1-20 of 46、Prev/Next,刷新后仍为英文;切回中文后恢复智能体、所有者、描述、最近编辑、搜索占位及中文分页,刷新后仍保持中文;数据数量和 admin 身份未改变
Historical/历史: 切换 zh-CN/en 后刷新,但未说明当前控件位置;Current/当前: 认证控制台通过右上角账户菜单中的“English”和“中文(简体)”切换语言,选择可跨刷新持久;Suggested Update/建议更新: 明确步骤为账户菜单 → Language,并分别断言 English、中文(简体)的页面翻译及刷新持久化
Evidence: 刷新实际 Playground 深链接后,精确 URL、同一 QA 项目、目标环境、会话、消息和 Trace 控件全部恢复;直接访问并刷新 `/workspace/admin` 后,admin 身份、监控面板、平台规模、Runtime 健康和 LLM 图表正常恢复,未出现 404 或首页重定向
Historical/历史: F5 刷新 `/agents/:projId/workspaces/playground` 和 `/workspace/admin`;Current/当前: Playground 使用 agent UUID,并以 `target=environment:<id>` 和可选 `session_id` 保存环境及会话状态,`/workspace/admin` 仍有效;Suggested Update/建议更新: 将示例修订为 `/agents/:agentId/workspaces/playground?target=environment:<environmentId>&session_id=<sessionId>`,并明确断言环境和会话恢复
Evidence: 建立 Agents → onboarding → Playground → Observe 历史栈后,连续三次后退依次恢复同一 Playground 会话及消息、同一 onboarding 项目及环境、Agents 列表;连续三次前进又恢复 onboarding、同一 Playground 会话和 Observe 的同一 trace、2 spans、输入与输出,无空白页、404、身份丢失或状态损坏
Historical/历史: Agents → Project → Playground → Observe;Current/当前: Project 层对应 agent 的 `/workspaces/onboarding` 页面,Playground 与 Observe 使用 `target` 和 `session_id` 保存状态;Suggested Update/建议更新: 将 Project 明确为 agent onboarding/workspace,并在前进、后退两方向断言 target 和 session 查询状态不丢失
Attempted: 直接访问 `/health` 成功返回 `{"status":"ok"}`,未登录根路径 `/` 也完整加载 North Agent Cloud 静态入口;Blocked by: 未提供 ingress controller/access-log UI、Kubernetes/CLI 权限、日志导出或请求 ID 关联能力,无法完成 ingress access log 检查;Needed: 对应 `/health` 和 `/` 请求的 ingress access log 读取权限或已关联日志
Evidence: `view-source:https://nac-beta.xiaobei.top/` 直接显示 `<base href="/" />`;模块脚本 `index-DbKQxF5J.js` 和样式 `index-DsOeKUsK.css` 均来自独立 North Cloud CDN,未发现 MAP 路径或域名注入;standalone 深路由刷新也成功恢复
Historical/历史: 检查 standalone 页面资源 URL;Current/当前: standalone 根文档明确使用 `<base href="/">`,JS/CSS 使用 `north-cloud-frontend-assets.tos-cn-shanghai.volces.com/assets/` 的绝对 CDN URL;Suggested Update/建议更新: 明确检查根 HTML 的 root base、JS/CSS standalone CDN 地址,并断言不存在 MAP host 或路径前缀
Attempted: 检查全部浏览器标签、公开首页导航、认证后的全局导航、项目/workspace 导航、admin 导航及 standalone 根源码;只发现直接 standalone NAC 页面,未发现 MAP 壳层、父 frame、MAP host/link、embedded URL 或子路由入口;Blocked by: 未提供且无法从 standalone UI 配置 MAP 壳层地址、授权上下文或有效 embedded 深链接;Needed: 可访问的 MAP shell URL、授权账号/workspace,或有效 embedded NAC 深链接及预期 base 前缀
Attempted: 在 standalone 中验证 admin 会话,通过 UI 退出后回到 `/login`,再使用次账号登录;实际身份变为 `libingxuan`,仅显示其 4 个授权智能体且无 admin 管理导航,刷新后次账号身份和权限仍保持;Blocked by: 缺少 MAP embedded 上下文,且工具无 cookie/localStorage 检查器,无法在同一浏览器同时登录两种模式并比较存储冲突;Needed: 可访问的 MAP embedded NAC、授权账号,以及 DevTools Application/等价存储检查能力或已记录的 cookie/localStorage key 与 domain 规范
NAC-K8S-WEBUI-20260731-IND-network-policy验证项目联网策略从申请、审批、撤销、权限和审计,到运行时生效、热更新与服务降级的完整链路。
问题:项目级联网配置状态不可查看;实际表现:管理员全局页仅显示 SafeNetwork“未启用”和代理“未激活”,项目侧没有 Governance 或网络策略 tab;已尝试:检查项目详情、项目选择器、项目编辑器、侧栏配置入口、管理员监控及平台网络配置
CUA 没找到对应页面,可能是案例描述不准确,而且 NFW 也没有开启。
Historical/历史: 普通项目成员进入 Governance → 网络策略;Current/当前: 项目详情和项目编辑器仅提供环境、部署及智能体配置,全局 NFW 配置位于 `/workspace/admin/settings` → 网络配置;Suggested Update/建议更新: 若项目级入口已迁移,应补充当前入口,否则需恢复项目网络策略页及状态展示
以该测试项最终判定点 Step 24 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_referror{
"duration_ms": 0,
"ref": 1
}Locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator("[data-northcua-web-agent-ref='e2']").first - locator resolved to <button type="button" id="radix-_r_20_" …模型当轮说明:点击“项目编辑器”被已展开的项目菜单遮挡并超时,没有产品状态变化;这属于交互遮挡而非功能失败。**“项目联网配置 tab 展示当前状态”** 仍定位到正确候选入口,下一步先收起顶部项目菜单,再点击“项目编辑器”。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/onboarding?target=environment%3Adraft-test-cc23d873-e6e
web_pressok{
"duration_ms": 0,
"key": "Escape"
}Pressed Escape.模型当轮说明:最新快照确认项目菜单仍为打开状态,且其遮罩拦截侧栏点击;没有数据更改。继续 **“项目联网配置 tab 展示当前状态”**,下一步按 Escape 关闭菜单,再点击已明确标注的“项目编辑器”。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/onboarding?target=environment%3Adraft-test-cc23d873-e6e
web_click_refok{
"duration_ms": 0,
"ref": 8
}Clicked 8.模型当轮说明:项目菜单已成功关闭,项目 `qa-chatgpt-versioned-20260803-0238` 与运行中部署仍保持不变;“项目编辑器”现可点击。继续 **“项目联网配置 tab 展示当前状态”**,下一步进入项目编辑器并检查其所有相关设置页。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/onboarding?target=environment%3Adraft-test-cc23d873-e6e
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 101,
"y": 1051
}Clicked viewport point (101.0, 1051.0).模型当轮说明:项目编辑器已打开,当前页包含智能体配置、环境变量、中间件、插件等,但没有 Governance/网络策略;同一项目上下文下侧栏底部还有齿轮图标,最可能是项目设置。继续 **“项目联网配置 tab 展示当前状态”** 的最终入口探查,下一步点击底部齿轮并检查是否出现项目治理/联网配置。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/artifact-editor?target=environment%3Adraft-test-cc23d873-e6e
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-1",
"text": "项目联网配置 tab 展示当前状态 — FAIL. Evidence: authenticated as admin; opened disposable project qa-chatgpt-versioned-20260803-0238 and exhausted project detail, project selector, 项目编辑器 (artifact-editor), sidebar configuration/admin gear, and admin 平台设置→网络配置. No Governance or project-level 网络策略 tab/status was exposed. Admin monitor and network settings only show global SafeNetwork 未启用 / 代理状态未激活, configured token and URLs. Need Update: Historical/历史: 普通项目成员进入 Governance → 网络策略; Current/当前: project pages expose environments/deploy/config and project editor; global NFW is under /workspace/admin/settings→网络配置, but no project-level equivalent found; Suggested Update/建议更新: revise navigation if a current project-level entry exists, otherwise retain capability expectation and add current supported entry."
}[fact] 项目联网配置 tab 展示当前状态 — FAIL. Evidence: authenticated as admin; opened disposable project qa-chatgpt-versioned-20260803-0238 and exhausted project detail, project selector, 项目编…模型当轮说明:底部齿轮明确导航到管理员监控 `/workspace/admin`,不是项目设置;由此已完成多条当前 UI 搜索:智能体详情、项目选择器、项目编辑器及底部齿轮,均无 Governance/项目网络策略页,而管理员平台仅显示全局 SafeNetwork 未启用。对精确条目 **“项目联网配置 tab 展示当前状态”**,能力在当前 UI 中经多入口仍不可达,判定 FAIL;下一步记录证据与路径更新说明,再转测提交申请。
页面:https://nac-beta.xiaobei.top/workspace/admin
问题:白名单申请能力不可达;实际表现:管理员与普通用户界面均无 host、port、reason 字段或提交控件;已尝试:检查完整管理员设置目录、搜索并打开唯一网络配置页,并以 `libingxuan` 检查 NFW QA 项目总览、项目编辑器和侧栏
同 FAIL 20:CUA 没找到对应页面,可能是案例描述不准确,而且 NFW 也没有开启。
Historical/历史: 在 Governance → 网络策略填写 host/port/reason 后提交;Current/当前: 管理员网络配置仅有代理开关、Admin Token 和 URL,普通用户项目侧无申请入口;Suggested Update/建议更新: 指明当前项目申请入口,或恢复 host/port/reason 白名单申请表
以该测试项最终判定点 Step 35 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_fill_refok{
"ref": 5,
"text": "123123123"
}Filled 5.模型当轮说明:secondary 邮箱已填,密码框为空;无认证错误。继续 **“提交 host/port/reason 白名单申请”**,下一步填写密码 `123123123` 并提交。
页面:https://nac-beta.xiaobei.top/login
web_click_refok{
"duration_ms": 0,
"ref": 7
}Clicked 7.模型当轮说明:secondary 凭据均已填写,登录按钮可用。继续 **“提交 host/port/reason 白名单申请”**,下一步提交并验证标准用户姓名/权限及其项目列表。
页面:https://nac-beta.xiaobei.top/login
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1167,
"y": 399
}Clicked viewport point (1167.0, 399.0).模型当轮说明:secondary 登录成功,右上身份为 `libingxuan`;该标准用户仅见 3 个项目(与管理员 46 个明显不同),其中有 `nfw-qa-20260803-0003`。浏览器密码泄露警告遮挡页面但非产品错误。继续 **“提交 host/port/reason 白名单申请”**,下一步关闭该浏览器弹窗,然后打开 NFW QA 项目检查用户侧所有配置入口。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_click_refok{
"duration_ms": 0,
"ref": 34
}Clicked 34.模型当轮说明:密码警告已关闭,标准用户项目列表稳定显示 3 项;`nfw-qa-20260803-0003` 是最相关的既有 QA 项目,且无编辑/删除动作暴露。继续 **“提交 host/port/reason 白名单申请”**,下一步打开该项目同一身份下的详情,寻找 Governance/网络策略/申请表。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-2",
"text": "提交 host/port/reason 白名单申请 — FAIL. Evidence: admin 平台设置 search narrowed to unique 网络配置 page containing only proxy toggle, Admin Token, proxy URL, backend URL, save; no request list/form. Switched to authenticated standard user libingxuan, opened nfw-qa-20260803-0003 and inspected overview/project editor/sidebar; no Governance, 网络策略, or host/port/reason submission form. No valid or malformed request could be submitted and no downstream pending record could be created because capability is absent. Need Update: Historical/历史: 填 host/port/reason 后提交 in Governance→网络策略; Current/当前: global NFW settings moved to /workspace/admin/settings→网络配置, while user project UI has no request entry; Suggested Update/建议更新: specify a current project-side request entry if implemented; otherwise restore the host/port/reason request form."
}[fact] 提交 host/port/reason 白名单申请 — FAIL. Evidence: admin 平台设置 search narrowed to unique 网络配置 page containing only proxy toggle, Admin Token, proxy URL, backend URL, save; no reque…模型当轮说明:标准用户已打开同一 NFW QA 项目,页面仅有总览、环境创建、项目编辑器、开发机、试验场、观测、统计与配置;项目为 0 环境/0 部署,且没有 Governance、网络策略或 host/port/reason 表单。管理员设置与标准用户项目两侧均已多路径确认申请能力不可达,因此 **“提交 host/port/reason 白名单申请”** 判定 FAIL;下一步记录该条,再测试管理员审批能力。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
问题:管理员审批能力缺失;实际表现:管理员监控及网络配置页均无申请队列、pending 状态或批准/拒绝操作;已尝试:检查 `/workspace/admin`、完整平台设置目录及筛选后的唯一网络配置页,同时确认普通用户侧也无申请 producer
案例错误。
Historical/历史: admin 在 `/workspace/admin` → 网络配置批准申请;Current/当前: `/workspace/admin/settings` → 网络配置仅用于 SafeNetwork 全局服务配置;Suggested Update/建议更新: 若审批队列已迁移应补充当前路径,否则需恢复 pending 申请列表及批准/拒绝控件
以该测试项最终判定点 Step 36 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_refok{
"duration_ms": 0,
"ref": 7
}Clicked 7.模型当轮说明:secondary 凭据均已填写,登录按钮可用。继续 **“提交 host/port/reason 白名单申请”**,下一步提交并验证标准用户姓名/权限及其项目列表。
页面:https://nac-beta.xiaobei.top/login
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1167,
"y": 399
}Clicked viewport point (1167.0, 399.0).模型当轮说明:secondary 登录成功,右上身份为 `libingxuan`;该标准用户仅见 3 个项目(与管理员 46 个明显不同),其中有 `nfw-qa-20260803-0003`。浏览器密码泄露警告遮挡页面但非产品错误。继续 **“提交 host/port/reason 白名单申请”**,下一步关闭该浏览器弹窗,然后打开 NFW QA 项目检查用户侧所有配置入口。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_click_refok{
"duration_ms": 0,
"ref": 34
}Clicked 34.模型当轮说明:密码警告已关闭,标准用户项目列表稳定显示 3 项;`nfw-qa-20260803-0003` 是最相关的既有 QA 项目,且无编辑/删除动作暴露。继续 **“提交 host/port/reason 白名单申请”**,下一步打开该项目同一身份下的详情,寻找 Governance/网络策略/申请表。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-2",
"text": "提交 host/port/reason 白名单申请 — FAIL. Evidence: admin 平台设置 search narrowed to unique 网络配置 page containing only proxy toggle, Admin Token, proxy URL, backend URL, save; no request list/form. Switched to authenticated standard user libingxuan, opened nfw-qa-20260803-0003 and inspected overview/project editor/sidebar; no Governance, 网络策略, or host/port/reason submission form. No valid or malformed request could be submitted and no downstream pending record could be created because capability is absent. Need Update: Historical/历史: 填 host/port/reason 后提交 in Governance→网络策略; Current/当前: global NFW settings moved to /workspace/admin/settings→网络配置, while user project UI has no request entry; Suggested Update/建议更新: specify a current project-side request entry if implemented; otherwise restore the host/port/reason request form."
}[fact] 提交 host/port/reason 白名单申请 — FAIL. Evidence: admin 平台设置 search narrowed to unique 网络配置 page containing only proxy toggle, Admin Token, proxy URL, backend URL, save; no reque…模型当轮说明:标准用户已打开同一 NFW QA 项目,页面仅有总览、环境创建、项目编辑器、开发机、试验场、观测、统计与配置;项目为 0 环境/0 部署,且没有 Governance、网络策略或 host/port/reason 表单。管理员设置与标准用户项目两侧均已多路径确认申请能力不可达,因此 **“提交 host/port/reason 白名单申请”** 判定 FAIL;下一步记录该条,再测试管理员审批能力。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-3",
"text": "Admin 审批申请 — FAIL. Evidence: authenticated admin /workspace/admin monitor and complete /workspace/admin/settings navigation were inspected; search for 网络配置 narrowed to the only NFW page, which offers global proxy enable/disable and token/URL fields only. No application queue, pending status, approve/reject controls, or project network policy was available. Standard-user producer path likewise absent, so no pending request could be generated. Need Update: Historical/历史: admin 在 /workspace/admin → 网络配置批准申请; Current/当前: /workspace/admin/settings→网络配置 is global SafeNetwork service configuration only and contains no approval queue; Suggested Update/建议更新: update to the current approval queue path if moved, otherwise restore request approval controls."
}[fact] Admin 审批申请 — FAIL. Evidence: authenticated admin /workspace/admin monitor and complete /workspace/admin/settings navigation were inspected; search for 网络配置 narrowed to the …模型当轮说明:TI-2 已记录为 FAIL。现在测试精确源标题 **“Admin 审批申请”**:管理员必须能查看并批准 pending 网络申请。前置申请因申请表缺失无法创建,但这不自动判该审批能力 BLOCK;此前管理员监控、完整平台设置目录和唯一网络配置页均无申请/审批入口,标准用户项目也无 producer。下一步记录经多路径确认的功能缺失为 FAIL,并明确无法产生 pending 是同一缺失链路证据。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
问题:申请人无法访问 pending 撤销工作流;实际表现:普通用户项目中没有网络申请记录、pending 状态或撤销控件;已尝试:以 `libingxuan` 检查 NFW QA 项目总览、项目编辑器、完整侧栏和项目选择器,并交叉检查管理员 NFW 页面
同 FAIL 20:CUA 没找到对应页面,可能是案例描述不准确,而且 NFW 也没有开启。
Historical/历史: 申请人点击撤销 pending 申请;Current/当前: 项目侧没有网络申请列表或 pending 状态;Suggested Update/建议更新: 若工作流已迁移应补充当前申请列表和撤销入口,否则需恢复 pending 申请撤销能力
以该测试项最终判定点 Step 37 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1167,
"y": 399
}Clicked viewport point (1167.0, 399.0).模型当轮说明:secondary 登录成功,右上身份为 `libingxuan`;该标准用户仅见 3 个项目(与管理员 46 个明显不同),其中有 `nfw-qa-20260803-0003`。浏览器密码泄露警告遮挡页面但非产品错误。继续 **“提交 host/port/reason 白名单申请”**,下一步关闭该浏览器弹窗,然后打开 NFW QA 项目检查用户侧所有配置入口。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_click_refok{
"duration_ms": 0,
"ref": 34
}Clicked 34.模型当轮说明:密码警告已关闭,标准用户项目列表稳定显示 3 项;`nfw-qa-20260803-0003` 是最相关的既有 QA 项目,且无编辑/删除动作暴露。继续 **“提交 host/port/reason 白名单申请”**,下一步打开该项目同一身份下的详情,寻找 Governance/网络策略/申请表。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-2",
"text": "提交 host/port/reason 白名单申请 — FAIL. Evidence: admin 平台设置 search narrowed to unique 网络配置 page containing only proxy toggle, Admin Token, proxy URL, backend URL, save; no request list/form. Switched to authenticated standard user libingxuan, opened nfw-qa-20260803-0003 and inspected overview/project editor/sidebar; no Governance, 网络策略, or host/port/reason submission form. No valid or malformed request could be submitted and no downstream pending record could be created because capability is absent. Need Update: Historical/历史: 填 host/port/reason 后提交 in Governance→网络策略; Current/当前: global NFW settings moved to /workspace/admin/settings→网络配置, while user project UI has no request entry; Suggested Update/建议更新: specify a current project-side request entry if implemented; otherwise restore the host/port/reason request form."
}[fact] 提交 host/port/reason 白名单申请 — FAIL. Evidence: admin 平台设置 search narrowed to unique 网络配置 page containing only proxy toggle, Admin Token, proxy URL, backend URL, save; no reque…模型当轮说明:标准用户已打开同一 NFW QA 项目,页面仅有总览、环境创建、项目编辑器、开发机、试验场、观测、统计与配置;项目为 0 环境/0 部署,且没有 Governance、网络策略或 host/port/reason 表单。管理员设置与标准用户项目两侧均已多路径确认申请能力不可达,因此 **“提交 host/port/reason 白名单申请”** 判定 FAIL;下一步记录该条,再测试管理员审批能力。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-3",
"text": "Admin 审批申请 — FAIL. Evidence: authenticated admin /workspace/admin monitor and complete /workspace/admin/settings navigation were inspected; search for 网络配置 narrowed to the only NFW page, which offers global proxy enable/disable and token/URL fields only. No application queue, pending status, approve/reject controls, or project network policy was available. Standard-user producer path likewise absent, so no pending request could be generated. Need Update: Historical/历史: admin 在 /workspace/admin → 网络配置批准申请; Current/当前: /workspace/admin/settings→网络配置 is global SafeNetwork service configuration only and contains no approval queue; Suggested Update/建议更新: update to the current approval queue path if moved, otherwise restore request approval controls."
}[fact] Admin 审批申请 — FAIL. Evidence: authenticated admin /workspace/admin monitor and complete /workspace/admin/settings navigation were inspected; search for 网络配置 narrowed to the …模型当轮说明:TI-2 已记录为 FAIL。现在测试精确源标题 **“Admin 审批申请”**:管理员必须能查看并批准 pending 网络申请。前置申请因申请表缺失无法创建,但这不自动判该审批能力 BLOCK;此前管理员监控、完整平台设置目录和唯一网络配置页均无申请/审批入口,标准用户项目也无 producer。下一步记录经多路径确认的功能缺失为 FAIL,并明确无法产生 pending 是同一缺失链路证据。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-4",
"text": "申请人撤销 pending — FAIL. Evidence: authenticated applicant libingxuan inspected nfw-qa-20260803-0003 project overview, project editor, full sidebar, and project selector; there is no network request list, pending record state, revoke/cancel control, or request creation form. Admin NFW settings likewise has no request workflow. Capability is unreachable after distinct current-UI searches, not merely blocked by route drift. Need Update: Historical/历史: 申请人点击撤销 pending 申请; Current/当前: no project-side 网络策略/request list is exposed; Suggested Update/建议更新: specify the current pending-request list and revoke affordance if moved, otherwise restore them."
}[fact] 申请人撤销 pending — FAIL. Evidence: authenticated applicant libingxuan inspected nfw-qa-20260803-0003 project overview, project editor, full sidebar, and project selector; ther…模型当轮说明:TI-3 已记录为 FAIL。现在测试精确源标题 **“申请人撤销 pending”**:应在申请人项目侧看到自己 pending 记录并可撤销。当前标准用户 `libingxuan` 已在 NFW QA 项目内,所有侧栏/项目编辑器入口均无网络申请列表,且无法通过 UI 创建 pending;这属于撤销能力本身随申请工作流整体不可达,而非外部 prerequisite。下一步记录 FAIL,随后测试非项目成员访问隔离。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
问题:IP/CIDR 策略配置及渲染能力未实现;实际表现:管理员页面无策略编辑器或列表,并明确显示“平台策略(即将推出)”,普通用户项目侧无网络策略视图;已尝试:检查管理员网络配置及管理员、普通用户两种项目视图
同 FAIL 20:CUA 没找到对应页面,可能是案例描述不准确,而且 NFW 也没有开启。
Historical/历史: admin 配置 `10.0.0.0/24` 或裸 IP policy;Current/当前: 管理员网络配置将“平台策略”标记为“即将推出”,项目侧也无策略消费者视图;Suggested Update/建议更新: 功能上线后补充当前策略编辑器及项目渲染路径,同时保留裸 IP 与 CIDR 两类断言
以该测试项最终判定点 Step 41 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-4",
"text": "申请人撤销 pending — FAIL. Evidence: authenticated applicant libingxuan inspected nfw-qa-20260803-0003 project overview, project editor, full sidebar, and project selector; there is no network request list, pending record state, revoke/cancel control, or request creation form. Admin NFW settings likewise has no request workflow. Capability is unreachable after distinct current-UI searches, not merely blocked by route drift. Need Update: Historical/历史: 申请人点击撤销 pending 申请; Current/当前: no project-side 网络策略/request list is exposed; Suggested Update/建议更新: specify the current pending-request list and revoke affordance if moved, otherwise restore them."
}[fact] 申请人撤销 pending — FAIL. Evidence: authenticated applicant libingxuan inspected nfw-qa-20260803-0003 project overview, project editor, full sidebar, and project selector; ther…模型当轮说明:TI-3 已记录为 FAIL。现在测试精确源标题 **“申请人撤销 pending”**:应在申请人项目侧看到自己 pending 记录并可撤销。当前标准用户 `libingxuan` 已在 NFW QA 项目内,所有侧栏/项目编辑器入口均无网络申请列表,且无法通过 UI 创建 pending;这属于撤销能力本身随申请工作流整体不可达,而非外部 prerequisite。下一步记录 FAIL,随后测试非项目成员访问隔离。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
web_openok{
"url": "https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/onboarding"
}Opened https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/onboarding.模型当轮说明:TI-4 已记录。现在测试精确源标题 **“非项目成员不可查看/提交”**:当前身份是标准用户 `libingxuan`,其列表仅有 3 项;管理员先前项目 `qa-chatgpt-versioned-20260803-0238` 的精确 URL/ID 已知且不在该列表。正向范围隔离已见(3 vs 46),下一步直接访问该他人项目详情 URL,验证服务器是否拒绝或泄露内容;申请提交控件也应不可用。
页面:https://nac-beta.xiaobei.top/agents/8932499d-5be3-42d8-89bd-7b6ee8441cc8/workspaces/onboarding
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-5",
"text": "非项目成员不可查看/提交 — PASS. Evidence: authenticated standard user libingxuan could list only 2–3 assigned projects versus admin's 46; direct navigation to admin-only project eca44ddd-e6a6-4121-954d-f54b278c8d19 (qa-chatgpt-versioned-20260803-0238) was immediately redirected to /workspace/agents, the target detail was not rendered, and no submission control for that project was exposed. Need Update: —."
}[fact] 非项目成员不可查看/提交 — PASS. Evidence: authenticated standard user libingxuan could list only 2–3 assigned projects versus admin's 46; direct navigation to admin-only project eca44…模型当轮说明:直接访问不属于 secondary 列表的管理员项目 URL 后,应用立即重定向到 `/workspace/agents`,目标项目内容未泄露;当前列表只显示其可访问的 2 个项目,且没有网络申请控件,因此也无法为他人项目提交。**“非项目成员不可查看/提交”** 的 UI 权限边界通过,判定 PASS;下一步记录证据,然后测试同项目另一成员撤销他人申请(其 prerequisite 需评估)。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-6",
"text": "用户不能撤销他人申请 — BLOCK. Attempted: authenticated supplied standard user and admin, inspected shared/current project lists and the complete project/admin NFW UI; no request workflow exists to create a pending record, and only one standard non-admin account is supplied. Blocked by: missing second ordinary same-project member persona plus inability to provision a pending request through current UI. Needed: two ordinary accounts in the same disposable project and a working request form to create a uniquely identified pending request owned by one member. Need Update: —."
}[fact] 用户不能撤销他人申请 — BLOCK. Attempted: authenticated supplied standard user and admin, inspected shared/current project lists and the complete project/admin NFW UI; no request work…模型当轮说明:TI-5 已记录 PASS。现在测试精确源标题 **“用户不能撤销他人申请”**:需要两名普通同项目成员及一条由其中一人创建的 pending 申请。当前只提供一个标准账号,管理员不是等价的“同项目另一成员”;并且 TI-2 已确认无法创建 pending。该角色/数据组合无法通过可用 UI 安全建立,产品 verdict 未知,符合 BLOCK 而非将缺失账号当功能缺陷。下一步记录 blocker,再测裸 IP/CIDR 策略渲染。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-7",
"text": "裸 IP/CIDR 策略渲染 — FAIL. Evidence: admin /workspace/admin/settings→网络配置 displays “平台策略(即将推出)” and exposes no policy editor or list; project pages for both admin and libingxuan expose no network policy consumer view. Therefore a disposable 10.0.0.0/24 or bare-IP policy cannot be configured or rendered, and the current UI explicitly indicates the policy capability is not implemented. Need Update: Historical/历史: admin 配置 10.0.0.0/24 或裸 IP policy; Current/当前: 网络配置 places 平台策略 under “即将推出” with no project-side rendering; Suggested Update/建议更新: update the case to the eventual current policy editor/consumer paths once shipped; until then retain as an expected missing capability."
}[fact] 裸 IP/CIDR 策略渲染 — FAIL. Evidence: admin /workspace/admin/settings→网络配置 displays “平台策略(即将推出)” and exposes no policy editor or list; project pages for both admin and libingxua…模型当轮说明:TI-6 已记录 BLOCK。现在测试精确源标题 **“裸 IP/CIDR 策略渲染”**:管理员侧应能配置 `10.0.0.0/24` 或裸 IP,并在项目侧渲染。此前管理员网络配置完整页明确显示“平台策略(即将推出)”,没有策略编辑器;标准用户项目也无策略视图。因当前 UI 直接标示策略尚未提供且多角色均不可达,判定 FAIL;下一步记录,再处理需要 sandbox 的运行时条目。
页面:https://nac-beta.xiaobei.top/workspace/agents
Attempted: 检查管理员 NFW 配置、普通用户 NFW QA 项目、环境/部署界面以及申请和策略入口;Blocked by: SafeNetwork 全局未启用、代理未激活,审批与策略无法建立,且未提供可执行外网调用的 agent harness;Needed: 可用的 NFW/token-api、已审批 disposable 项目策略及可调用受控外部 host 的 sandbox/agent
Attempted: 检查项目环境/部署界面及全局网络配置状态;Blocked by: NFW 代理已处于未激活状态,无法建立 approved 策略,也没有可控 sandbox 网络探针用于比较 pause/resume 与关闭/开启 NFW 前后行为;Needed: 可启停的 NFW、已审批 disposable 项目及支持 pause/resume 和出网验证的 sandbox
Attempted: 管理员检查网络配置中的“平台审计”,普通用户检查 NFW QA 项目;Blocked by: SafeNetwork 未激活且没有可运行的 agent 外部调用工具,无法生成并核对特定 identity/host 的审计事件;Needed: 已启用可达的 NFW、approved 项目及对受控外部 host 的可执行调用
Historical/历史: agent 调允许的外部 host;Current/当前: 审计消费者归入 `/workspace/admin/settings` → 网络配置下的“平台审计”;Suggested Update/建议更新: 用例应指向当前平台审计区域,并明确所需的受控 agent 出网探针
Attempted: 已确认管理员监控显示 SafeNetwork“未启用”,网络配置显示代理“未激活”,并检查普通用户项目/部署界面;Blocked by: 未提供普通不出网 agent fixture 或可执行的启动健康探针,无法验证服务不可用时是否 graceful 启动;Needed: 具备明确启动健康断言的 disposable 普通 agent
Attempted: 检查普通用户 `nfw-qa-20260803-0003`(0 环境、0 部署)、全部网络申请入口及全局 NFW 状态;Blocked by: 无项目审批工作流、NFW 未激活且未提供可运行的外部 host 调用探针;Needed: 未审批 disposable 项目、可运行 sandbox/agent、受控外部 endpoint 及已启用 NFW
问题:策略修改及项目侧刷新传播能力缺失;实际表现:管理员无新增/编辑策略控件,普通用户无网络策略消费者或刷新入口;已尝试:检查管理员网络配置、普通用户 NFW QA 项目总览、项目编辑器及完整侧栏
同 FAIL 20:CUA 没找到对应页面,可能是案例描述不准确,而且 NFW 也没有开启。
Historical/历史: admin 修改 policy 后普通用户点击刷新;Current/当前: 管理员策略 UI 标记为“即将推出”,普通用户项目侧无策略 tab 或刷新控件;Suggested Update/建议更新: 功能上线后补充管理员 producer 与普通用户 consumer 的当前路径,并保留同一策略修改前后及刷新后的值对比
以该测试项最终判定点 Step 47 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-9",
"text": "resume sandbox 后配置热更新 — BLOCK. Attempted: inspected available project environment/deployment UI and global 网络配置 state. Blocked by: SafeNetwork proxy is already inactive, no approved NFW policy can be provisioned, and no runnable controlled sandbox network probe is available to compare pre-pause, resumed, disabled, and re-enabled behavior. Needed: enabled/toggleable NFW service, approved disposable project, and an instrumented sandbox supporting pause/resume and outbound verification. Need Update: —."
}[fact] resume sandbox 后配置热更新 — BLOCK. Attempted: inspected available project environment/deployment UI and global 网络配置 state. Blocked by: SafeNetwork proxy is already inactive, no…模型当轮说明:TI-8 已记录 BLOCK。现在测试精确源标题 **“resume sandbox 后配置热更新”**:需同一 sandbox 的 pause→resume 状态转换,并在关闭/开启 NFW 后验证配置热更新。当前 NFW 本就未激活,且没有批准策略或可控 agent 网络探针;无法建立可比较的 before/after 配置。此为外部服务与前置策略不可用导致 verdict 未知,判定 BLOCK;下一步记录。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-10",
"text": "NFW 审计记录 — BLOCK. Attempted: authenticated admin inspected 网络配置 including the 平台审计 section; authenticated standard user inspected the NFW QA project. Blocked by: SafeNetwork is not active and no runnable agent/outbound-call harness exists to generate a controlled allowed-host event, so no specific source identity/host record can be verified in the audit consumer. Needed: reachable enabled NFW plus an approved project and executable agent call to a controlled external host. Need Update: Historical/历史: agent 调允许的外部 host; Current/当前: audit consumer is grouped under /workspace/admin/settings→网络配置 as 平台审计; Suggested Update/建议更新: point the case to this current audit section and include the required controlled agent probe."
}[fact] NFW 审计记录 — BLOCK. Attempted: authenticated admin inspected 网络配置 including the 平台审计 section; authenticated standard user inspected the NFW QA project. Blocked by: SafeNetwor…模型当轮说明:TI-9 已记录 BLOCK。现在测试精确源标题 **“NFW 审计记录”**:管理员网络配置页确实展示“平台审计”说明,但 NFW 全局未激活,且没有可执行“允许外部 host”调用的 agent harness,所以无法产生带已知 identity/host 的审计事件并验证下游记录。仅看到审计区域标题不足以 PASS,故判定 BLOCK;下一步记录具体所需 prerequisite。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-11",
"text": "NFW 服务不可用 graceful — BLOCK. Attempted: verified admin monitor shows SafeNetwork 未启用 and 网络配置 shows proxy 未激活, satisfying the unavailable-service condition; inspected standard-user project/deployment surfaces. Blocked by: no supplied ordinary no-egress agent fixture or executable startup/health probe exists in the browser UI, so graceful startup behavior cannot be distinguished from an untested path. Needed: a disposable ordinary agent with a defined startup health assertion while NFW/token-api remains unavailable. Need Update: —."
}[fact] NFW 服务不可用 graceful — BLOCK. Attempted: verified admin monitor shows SafeNetwork 未启用 and 网络配置 shows proxy 未激活, satisfying the unavailable-service condition; inspected standa…模型当轮说明:TI-10 已记录 BLOCK。现在测试精确源标题 **“NFW 服务不可用 graceful”**:环境已经直接满足 NFW 服务不可用状态(管理员监控“未启用”、网络配置“未激活”),但测试还要求启动普通不出网 agent 并证明其正常启动。当前可见 UI 没有一个已知、可安全识别且有启动健康断言的普通 agent harness;仅凭服务状态不能判断 graceful 行为。判定 BLOCK;下一步记录。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-12",
"text": "未审批项目尝试出网 — BLOCK. Attempted: inspected the standard user's nfw-qa-20260803-0003 (0 environments, 0 deployments) and all network/request UI, plus global NFW state. Blocked by: there is no project approval state/workflow, NFW is inactive, and no runnable agent external-host probe is supplied; therefore denial and downstream audit cannot be observed. Needed: an unapproved disposable project with a runnable sandbox/agent and controlled outbound endpoint while NFW is enabled. Need Update: —."
}[fact] 未审批项目尝试出网 — BLOCK. Attempted: inspected the standard user's nfw-qa-20260803-0003 (0 environments, 0 deployments) and all network/request UI, plus global NFW state. Blocked …模型当轮说明:TI-11 已记录 BLOCK。现在测试精确源标题 **“未审批项目尝试出网”**:标准用户的 `nfw-qa-20260803-0003` 为 0 环境/0 部署,且没有审批状态或策略;同时没有可执行外部 host 请求的 agent harness。无法直接观察预期拒绝与审计,因此产品 verdict 未知,判定 BLOCK;下一步记录。
页面:https://nac-beta.xiaobei.top/workspace/agents
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict for mandatory source item TI-13",
"text": "Admin 修改策略后项目侧刷新 — FAIL. Evidence: admin /workspace/admin/settings→网络配置 explicitly labels 平台策略 “即将推出” and has no add/edit policy controls; authenticated standard-user nfw-qa project has no 网络策略 view or refresh affordance. Thus no before→after mutation can be made and no consumer propagation can be observed because both producer and project-side capability are absent. Need Update: Historical/历史: admin 修改 policy 后普通用户点击刷新; Current/当前: admin policy UI is marked 即将推出 and project pages lack a policy tab/refresh; Suggested Update/建议更新: update both producer and consumer paths after the feature ships; preserve explicit same-policy before/after and user refresh assertions."
}[fact] Admin 修改策略后项目侧刷新 — FAIL. Evidence: admin /workspace/admin/settings→网络配置 explicitly labels 平台策略 “即将推出” and has no add/edit policy controls; authenticated standard-user nfw-q…模型当轮说明:TI-12 已记录 BLOCK。现在测试最后一个精确源标题 **“Admin 修改策略后项目侧刷新”**:要求管理员可修改策略,并由普通用户刷新项目侧看到同一策略变化。管理员网络配置明确将“平台策略”标记为“即将推出”,无编辑控件;普通用户项目无网络策略消费者或刷新按钮。两端能力均经直接观察缺失,不能因无法创建 disposable policy 而 BLOCK,判定 FAIL;下一步记录该最终条目。
页面:https://nac-beta.xiaobei.top/workspace/agents
NAC-K8S-WEBUI-20260731-IND-runtime-ops验证运行时资源上限、弹性伸缩、Sandbox 延迟创建与恢复、Warm Pool 清理、配置继承和可观测性。
Attempted: 管理员登录成功,定位并读取 Runtime CPU=2000m、内存=2048MiB及保存入口;Blocked by: 配置影响全部46个共享项目,无法安全修改,且 UI 不显示运行中 Runtime Pod 的实际 limits;Needed: 隔离平台或允许修改共享默认值,并提供 Kubernetes/CLI 或等效 Pod limit 视图
Historical/历史: Admin 修改 runtime CPU/Mem ceiling 并应用;Current/当前: 管理员在 `/workspace/admin/settings` 的“平台设置”中搜索“资源上限”,通过“Agent Runtime 容器”的 CPU/内存字段配置适用于所有项目的平台上限;Suggested Update/建议更新: 更新为当前平台设置路径,并要求在隔离租户修改且通过 Pod limits 观测运行中 Runtime 的重应用
Attempted: 读取 Sandbox CPU=2000m、内存=2048MiB及页面的新旧沙箱生效说明;Blocked by: 平台值影响所有项目,无法安全改动,且没有 Pod limit 观察器;Needed: 隔离平台范围、可创建 sandbox 的健康会话及 Kubernetes limits 视图
Historical/历史: Admin 修改 sandbox CPU/Mem ceiling 后创建新 sandbox;Current/当前: `/workspace/admin/settings` 搜索“资源上限”,在“Sandbox 容器”修改并保存;页面注明新建沙箱立即生效、已运行沙箱维持旧 limit;Suggested Update/建议更新: 更新入口,并明确以新 session 首次工具调用创建 sandbox,使用 Pod `resources.limits` 验证新值且检查旧 sandbox 不变
Attempted: 搜索“预热”、检查监控中的预热池就绪=10并点击相关聚合;Blocked by: 无 warm-pool Pod identity、revision、sweeper 日志及安全隔离的 ceiling 变更范围;Needed: 隔离租户与集群 Pod/控制器观测
Historical/历史: 修改 sandbox ceiling 后观察 warm pool;Current/当前: 管理监控仅显示“预热池就绪”聚合数,平台设置搜索“预热”无匹配,点击聚合进入负载均衡设置而非实例列表;Suggested Update/建议更新: 明确在当前资源上限入口保存新 ceiling,再通过集群 Pod 标签、limit/revision 和 sweeper 日志验证旧池回收及补齐
Attempted: 在 disposable 环境将最小副本1→0并保存回读;总览仅显示配置范围0~5,观测页没有实际 replica/KEDA 转换;Blocked by: UI 不显示 scale=0 前态或0→1时序,且无 kubectl/Prometheus;Needed: 同一环境的实际 replica/KEDA 指标及主动首聊后的成功响应证据
Historical/历史: runtime scale 0 后发首个 chat;Current/当前: 项目“配置→负载均衡→环境”可把最小副本设为0,聊天位于环境“试验场”,观测页仅显示 session/trace;Suggested Update/建议更新: 使用当前环境配置路径,并增加 KEDA/Pod replica 指标,确认0→1后再判定首聊唤醒
Attempted: 搜索“端口”,检查低代码设置、高代码 `agent.yaml` 与 `nexau.json`;Blocked by: 无自定义 runtime service_port 部署机制或 Service/Pod 路由观测;Needed: 可监听非8100端口的测试 runtime、至少两个副本及 gateway/pod access logs
Historical/历史: runtime service 暴露非8100 port后多 pod chat;Current/当前: 项目治理、低代码配置及高代码 `nexau.json`/`agent.yaml` 均不提供 service_port,平台 UI 也无 PodPicker 目标详情;Suggested Update/建议更新: 补充外部自定义 runtime 构建/部署和 kubectl/log 前置,再从当前环境试验场发送多轮 chat并核对真实端口及多 Pod
Attempted: 检查环境负载均衡配置,发现活跃连接阈值=8但其为扩缩触发器;Blocked by: 无同步并发压测器、原始 HTTP 状态/响应头及每 Pod in-flight 观察器;Needed: API load harness、已知 hard limit及429捕获
Historical/历史: 并发压测超过单 pod hard limit;Current/当前: UI 仅提供环境试验场和“活跃连接阈值”扩缩配置,不显示 Pod hard limit 或原始429;Suggested Update/建议更新: 使用 API 凭据与外部并发脚本,固定单副本并读取 hard limit,再验证 limit+1 请求的溢出响应
Attempted: 创建 `sess_01KZ1XRR4Z133G6VC5JTBZPE4F` 并发送纯文本提示;连续出现两条“服务器繁忙,请稍后重试”,重试亦无成功回复;Blocked by: chat/runtime 上游不可用且无 sandbox identity/lifecycle 视图;Needed: 健康 LLM/runtime及 session DB/Pod 观察器
Historical/历史: 新 session 只问纯文本问题;Current/当前: 环境“试验场”通过“新建会话”创建 session,沙箱文件与 Trace 位于会话顶部但不显示 sandbox_id/Pod;Suggested Update/建议更新: 使用当前试验场路径,并以 session_id 对照 DB/Pod 观测确认成功纯聊后未 materialize sandbox
Attempted: 准备同一 disposable session并检查项目 tools/skills;Required first pure-text turn因“服务器繁忙”失败,且无明确 shell/file/code 控制;Blocked by: 不健康的聊天上游、无确定可调用测试工具及无 sandbox 生命周期观察器;Needed: 健康 runtime、确定性工具和 turn 1/turn 2 的 DB/Pod 对照
Historical/历史: 同一 session 第二轮调用 shell/file/code tool;Current/当前: 当前路径为环境“试验场”会话,工具来自项目编辑器的 tools/skills 配置,UI 不显示 sandbox_id;Suggested Update/建议更新: 明确预配置可确定调用的工具,并以同一 session_id 加入 DB/Pod 时间线核对首次 materialization
Attempted: 打开沙箱文件,显示0文件及“No snapshot found”;检查 cURL/Python/JavaScript API入口;Blocked by: 无法创建或识别预绑定 sandbox、聊天上游不可用且无连接日志;Needed: API/DB预绑定 fixture与 sandbox-manager/network logs
Historical/历史: session 有 sandbox_id 但只发纯 LLM chat;Current/当前: 试验场只可新建普通 session,“沙箱文件”为快照视图,API 菜单仅复制语言示例且不展示预绑定控制;Suggested Update/建议更新: 将预绑定作为明确 API/DB 前置,记录 session_id/sandbox_id并用连接日志验证成功纯聊前后零连接
Attempted: 检查试验场 pause/resume、管理员 sandbox 状态及平台设置“冻结”搜索;Blocked by: 无 materialized disposable sandbox、冻结/恢复控制及毫秒级计时器;Needed: sandbox-manager API/CLI、已知 sandbox和单调时钟测量
Historical/历史: pause 后 resume 同一 sandbox并执行轻量命令;Current/当前: 试验场、管理员监控和平台设置均不提供冻结/恢复操作或单 sandbox 状态;Suggested Update/建议更新: 将外部 sandbox API/CLI及高分辨率计时列为前置,记录同一 sandbox_id 的 running→frozen→running和命令耗时
Attempted: 搜索“清理”并检查管理员监控的 Sandbox/Runtime 信息;Blocked by: 浏览器 UI 无法创建 standalone Kubernetes Pod或控制 DB row/state,且无 sweeper日志;Needed: 隔离 namespace、kubectl、DB/API fixture和控制器日志
Historical/历史: 人工制造 standalone sandbox-* pod无 DB row或 destroyed状态;Current/当前: 管理监控/平台设置没有 orphan或 sweeper UI,必须使用集群及 DB/API 工具;Suggested Update/建议更新: 明确隔离 namespace、唯一 Pod 标签、两类 DB 前态、sweeper周期/日志及删除后核对命令
Attempted: 监控显示预热池就绪=10、活跃 Sandbox=0;搜索“预热”“冻结”“清理”均无实例控制;Blocked by: 无三类 Pod fixture、freeze API、sweeper触发及 identity观察;Needed: 隔离集群内三类唯一测试 Pod和 before/after存活验证
Historical/历史: sweeper跑时存在 warm pool、active running、frozen pod;Current/当前: UI 仅监控 warm-pool/active聚合且无 frozen/sweeper管理;Suggested Update/建议更新: 补充三类测试 Pod的唯一标签与 DB状态、集群级 sweeper执行及逐个 identity存活核对
Attempted: 观察试验场通用错误,检查管理员监控并搜索“Prometheus”;Blocked by: 无可控 mock upstream、原始状态码及 metrics/PromQL访问;Needed: 可分别返回502/429/503的 stub与指标计数查询
Historical/历史: 模拟 upstream 502/429/503;Current/当前: UI 将错误泛化为“服务器繁忙”,平台设置/监控不提供 Prometheus 查询;Suggested Update/建议更新: 明确 mock upstream注入方式、指标名/labels、基线及每类请求后的 PromQL增量断言
Evidence: 平台默认读为1/2/8/70/75及2000m/2048MiB;项目跟随平台解析一致;项目自定义保存为1/3/9后,刷新环境跟随项目正确显示1/3/9;环境自定义0/4/9保存并 fresh reload回读成功;随后环境恢复跟随项目、项目恢复跟随平台,测试覆盖已清理
Historical/历史: 平台设默认HPA/资源上限,项目和环境保持“跟随”,逐级切“自定义”覆盖;Current/当前: 平台入口为 `/workspace/admin/settings` 的负载均衡/资源上限,项目入口为“项目→配置→负载均衡或资源上限”,顶部页签为“项目(全局)/环境”;Suggested Update/建议更新: 使用当前治理路径和页签名称,并在上层保存后刷新环境 consumer页再核对解析值,最后逐级恢复跟随
Evidence: disposable环境自定义0/4/9保存并刷新回读;点击“跟随项目”出现清除本层覆盖且不可撤销的确认,确认后模式变为跟随项目且值变为1/3/9,证明旧0/4覆盖已丢弃;环境及项目最终均已恢复跟随
Historical/历史: 环境从“跟随”切“自定义”改值保存,再切回“跟随”;Current/当前: “项目→配置→负载均衡→环境”使用“跟随项目/自定义”,回退会弹出“切换为跟随项目?”并明确清除不可撤销;Suggested Update/建议更新: 使用当前标签和确认框文案,加入 fresh reload回读自定义值及回退后上级有效值断言
Evidence: 平台默认最小副本回读为1,帮助文案说明0开启平台级scale-to-zero;disposable环境接受并保存最小副本0,fresh reload仍为0;切回跟随项目后有效值恢复为上级≥1,配置已清理
Historical/历史: 某环境最小副本显式设0或≥1,并把平台默认最小副本改为非0;Current/当前: 平台在 `/workspace/admin/settings` 的“负载均衡”设置“平台默认副本下限”,环境在“项目→配置→负载均衡→环境”自定义“最小副本数”;Suggested Update/建议更新: 按当前两个入口拆分验证,平台安全回读现有非零默认,环境用 disposable对象验证0保存及回退≥1,避免修改共享平台值
Attempted: 检查试验场/观测、管理员监控,并搜索“TTL”“事件”;Blocked by: 无Redis keyspace/TTL/内存观察器、未知TTL窗口,且聊天上游无法维持健康SSE;Needed: Redis CLI/metrics、健康SSE客户端及跨TTL窗口的idle/active对照
Historical/历史: 多个session产生SSE事件后置空闲并等待TTL,对照持续活跃session;Current/当前: UI仅在试验场/观测展示session/trace,平台设置与监控不展示Redis TTL或内存;Suggested Update/建议更新: 明确外部SSE生成脚本、TTL数值、Redis key pattern及idle key消失/内存下降和active key滑动续期断言
Attempted: 验证平台/项目/环境均可配置活跃连接、CPU、内存阈值,并搜索Prometheus及检查监控;Blocked by: 无隔离标准Prometheus、负载生成器、PromQL和replica时序;Needed: stock Kubernetes discovery的Prometheus、隔离环境及三类指标的scale-out/scale-in证据
Historical/历史: 在无NAC定制relabel/recording rules的标准Prometheus上制造active session、CPU及内存负载;Current/当前: “项目→配置→负载均衡”提供连接/CPU/内存阈值,但无Prometheus采集配置或HPA指标图;Suggested Update/建议更新: 将外部标准Prometheus、stock scrape配置、三类独立负载脚本、PromQL及Pod/HPA replica观测列为明确前置
NAC-K8S-WEBUI-20260731-IND-sandbox-snapshot验证 Sandbox 文件快照、暂停恢复、上下文保持、文件预览、大载荷降级、格式兼容和瞬时故障恢复。
问题:agent 无法产出文件并写入快照;实际表现:新会话要求创建 `/home/user/qa-note-20260803-0257.txt` 时,agent 明确回复无法直接创建或读取文件,快照刷新后仍为 0 文件及 `No snapshot found`;已尝试:又检查同一 disposable 智能体的历史文件创建会话,agent 同样拒绝文件系统操作,仅提供终端命令
案例缺少前置条件。
历史/历史: 在 Playground 让 agent 写 `/home/user/note.txt`;Current/当前: 智能体列表 → disposable 智能体 →「试验场」,页头「沙箱文件」打开「快照预览」;Suggested Update/建议更新: 使用当前中文入口,并明确测试智能体必须配置文件系统工具和沙箱绑定
以该测试项最终判定点 Step 19 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_scrollok{
"amount": 877,
"direction": "up",
"x": 1796,
"y": 410
}Scrolled up.模型当轮说明:历史会话已打开,当前画面直接显示同一会话中的恢复证据:长时间空闲后的请求得到精确 `RESUME-CONTINUE-0209`,随后要求引用最早口令时返回 `ORCHID-7319`;页头会话仍为 `live`、无 401。这为多个 resume 项提供了下游证据,但尚需检查会话顶部是否真的完成了文件写入。当前主要测试项仍是“agent 产文件 → 快照含该文件”;下一步在消息区向上滚动到该会话最早的创建请求和回复。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_click_referror{
"duration_ms": 0,
"ref": 185
}Unknown or stale web ref '185'; use a numeric ref from the latest observation.模型当轮说明:顶部历史记录显示第二次同样请求也收到“无法直接访问文件系统来创建文件”的明确回复,因此该能力在此 disposable 智能体上可重复失败;虽然回复中渲染了两个 FileTag,但不能替代实际快照持久化验证。现在切换到精确测试项“SnapshotDrawer 文件树根正确”,并同时检查“agent 产文件 → 快照含该文件”和“/tmp 内容出现在树里”的下游视图;下一步点击页头“沙箱文件”抽屉。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1545,
"y": 198
}Clicked viewport point (1545.0, 198.0).模型当轮说明:此前用过期 ref 点击失败,页面无变化;已重新同步,当前页头“沙箱文件”按钮清晰可见但未暴露语义 ref,历史消息中的两个 FileTag 和下载按钮也可见。现在正式探测“SnapshotDrawer 文件树根正确”,并复核 `/tmp` 与 FileTag 行为。下一步通过可见页头按钮坐标打开沙箱文件抽屉。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_click_refok{
"duration_ms": 0,
"ref": 10
}Clicked 10.模型当轮说明:“快照预览”抽屉已成功打开;文件树顶层直接显示 `user` 与 `tmp`,并明确标注目标路径 `/home/user, /tmp`,因此根映射正确。但页头提示 `No snapshot found for history …`,计数为 0,文件未进入快照;下载当前文件禁用。当前精确测试项“SnapshotDrawer 文件树根正确”正向已满足;同时对“agent 产文件 → 快照含该文件”和“/tmp 内容出现在树里”发现空快照。为排除未刷新,下一步点击抽屉内“刷新沙箱文件”。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_noterecorded{
"kind": "fact",
"reason": "formal result for source item TI-1",
"text": "Source title: agent 产文件 → 快照含该文件\nStatus: FAIL\nEvidence: Logged in as admin and opened current disposable agent qa-snapshot-20260803-0109 via Agents row > current Chinese Playground label “试验场”. In a new run instructed agent to create /home/user/qa-note-20260803-0257.txt with exact content; agent explicitly replied it could not directly create or read files. Second distinct attempt inspected prior same-agent conversation requesting /home/user/qa_note_20260803.txt and /tmp/qa_scratch_20260803.log; agent again explicitly replied it could not create/read files and only supplied terminal commands. Opened 快照预览 and refreshed; banner remained “No snapshot found for history…”, file count 0.\nBug: Agent file-generation capability is unavailable on the provided disposable snapshot QA agent; no produced file enters snapshot.\nNeed Update: Historical/历史: 在 Playground 让 agent 写 /home/user/note.txt; Current/当前: Agents > disposable agent > “试验场”, header “沙箱文件” opens “快照预览”; Suggested Update/建议更新: rename navigation to 当前 Chinese labels and state the agent must have filesystem/tool access configured."
}[fact] Source title: agent 产文件 → 快照含该文件 Status: FAIL Evidence: Logged in as admin and opened current disposable agent qa-snapshot-20260803-0109 via Agents row > current Chinese Pl…模型当轮说明:刷新已完成且状态未变:仍显示 `No snapshot found`、0 文件、顶层 `user/tmp`。因此“SnapshotDrawer 文件树根正确”可判 PASS;“agent 产文件 → 快照含该文件”在两次 agent 创建尝试后均被 agent拒绝且刷新后快照仍为空,可判 FAIL;“/tmp 内容出现在树里”同理,树存在但 `tmp` 无文件,可判 FAIL。先持久记录“agent 产文件 → 快照含该文件”的正式结果与版本路径变化。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
Attempted: 在新会话和历史会话中请求创建精确 `/home/user` 文件,检查 agent 回复并刷新快照,同时独立验证文本上下文可恢复;Blocked by: 两次 run 均明确无文件创建/读取权限,快照为 0 文件,无法建立恢复前源文件;Needed: 可安全创建并回读唯一测试文件的 filesystem-enabled agent/sandbox
Historical/历史: 同一 session 刷新或稍后对话触发 resume;Current/当前: resume 在「试验场」中透明完成,文件浏览位于「沙箱文件」→「快照预览」;Suggested Update/建议更新: 更新当前标签,并声明需要已绑定沙箱且具备文件系统能力的智能体
Evidence: disposable QA 会话在长时间空闲后的请求中返回精确文本 `RESUME-CONTINUE-0209`,随后还能继续发送消息;页头恢复为 `live`,未出现认证或 401 错误
Historical/历史: 等 idle 超时后再发一句;Current/当前: 同一「试验场」会话透明 resume,恢复后状态回到 `live`,没有单独 Resume 按钮;Suggested Update/建议更新: 断言恢复后的精确回复、`live` 状态及无 401,而非依赖手动 Resume 控件
Evidence: 同一会话最初要求记住 `ORCHID-7319`;长时间空闲并 resume 后,再次询问最早口令,agent 精确返回 `ORCHID-7319`,证明恢复前对话上下文被保留
Evidence: 「快照预览」文件树顶层显示 `user` 和 `tmp`,同时明确显示目标路径 `/home/user, /tmp`;刷新后根结构保持一致
Historical/历史: 打开「快照」抽屉;Current/当前: 页头入口为「沙箱文件」,对话框标题为「快照预览」;Suggested Update/建议更新: 将路径改为「沙箱文件」→「快照预览」,并断言 `user/tmp` 与目标路径映射
问题:请求的 `/tmp` 文件未出现在快照树;实际表现:`tmp` 根存在,但刷新后仍显示 0 文件及 `No snapshot found`;已尝试:新 run 请求 `/tmp/qa-scratch-20260803-0257.log`,并检查历史 `/tmp/qa_scratch_20260803.log` 请求,两次 agent 均明确无法执行文件系统操作
同 FAIL 26:案例缺少前置条件。
Historical/历史: run 结束后打开抽屉并展开 `/tmp`;Current/当前: 「沙箱文件」→「快照预览」,根节点显示为 `tmp`;Suggested Update/建议更新: 使用当前标签,并明确 filesystem-enabled agent 为前置条件
以该测试项最终判定点 Step 21 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1545,
"y": 198
}Clicked viewport point (1545.0, 198.0).模型当轮说明:此前用过期 ref 点击失败,页面无变化;已重新同步,当前页头“沙箱文件”按钮清晰可见但未暴露语义 ref,历史消息中的两个 FileTag 和下载按钮也可见。现在正式探测“SnapshotDrawer 文件树根正确”,并复核 `/tmp` 与 FileTag 行为。下一步通过可见页头按钮坐标打开沙箱文件抽屉。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_click_refok{
"duration_ms": 0,
"ref": 10
}Clicked 10.模型当轮说明:“快照预览”抽屉已成功打开;文件树顶层直接显示 `user` 与 `tmp`,并明确标注目标路径 `/home/user, /tmp`,因此根映射正确。但页头提示 `No snapshot found for history …`,计数为 0,文件未进入快照;下载当前文件禁用。当前精确测试项“SnapshotDrawer 文件树根正确”正向已满足;同时对“agent 产文件 → 快照含该文件”和“/tmp 内容出现在树里”发现空快照。为排除未刷新,下一步点击抽屉内“刷新沙箱文件”。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_noterecorded{
"kind": "fact",
"reason": "formal result for source item TI-1",
"text": "Source title: agent 产文件 → 快照含该文件\nStatus: FAIL\nEvidence: Logged in as admin and opened current disposable agent qa-snapshot-20260803-0109 via Agents row > current Chinese Playground label “试验场”. In a new run instructed agent to create /home/user/qa-note-20260803-0257.txt with exact content; agent explicitly replied it could not directly create or read files. Second distinct attempt inspected prior same-agent conversation requesting /home/user/qa_note_20260803.txt and /tmp/qa_scratch_20260803.log; agent again explicitly replied it could not create/read files and only supplied terminal commands. Opened 快照预览 and refreshed; banner remained “No snapshot found for history…”, file count 0.\nBug: Agent file-generation capability is unavailable on the provided disposable snapshot QA agent; no produced file enters snapshot.\nNeed Update: Historical/历史: 在 Playground 让 agent 写 /home/user/note.txt; Current/当前: Agents > disposable agent > “试验场”, header “沙箱文件” opens “快照预览”; Suggested Update/建议更新: rename navigation to 当前 Chinese labels and state the agent must have filesystem/tool access configured."
}[fact] Source title: agent 产文件 → 快照含该文件 Status: FAIL Evidence: Logged in as admin and opened current disposable agent qa-snapshot-20260803-0109 via Agents row > current Chinese Pl…模型当轮说明:刷新已完成且状态未变:仍显示 `No snapshot found`、0 文件、顶层 `user/tmp`。因此“SnapshotDrawer 文件树根正确”可判 PASS;“agent 产文件 → 快照含该文件”在两次 agent 创建尝试后均被 agent拒绝且刷新后快照仍为空,可判 FAIL;“/tmp 内容出现在树里”同理,树存在但 `tmp` 无文件,可判 FAIL。先持久记录“agent 产文件 → 快照含该文件”的正式结果与版本路径变化。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_noterecorded{
"kind": "fact",
"reason": "formal result for source item TI-5",
"text": "Source title: SnapshotDrawer 文件树根正确\nStatus: PASS\nEvidence: Current header “沙箱文件” opened dialog “快照预览”. Left “文件系统” tree showed exactly two top-level roots `user` and `tmp`, with explicit target-path text `/home/user, /tmp`; refresh preserved this mapping.\nNeed Update: Historical/历史: 打开「快照」抽屉; Current/当前: header control is 「沙箱文件」 and dialog title is 「快照预览」; Suggested Update/建议更新: revise case navigation/labels to 沙箱文件 → 快照预览 and assert roots user/tmp mapped by target-path text."
}[fact] Source title: SnapshotDrawer 文件树根正确 Status: PASS Evidence: Current header “沙箱文件” opened dialog “快照预览”. Left “文件系统” tree showed exactly two top-level roots `user` and `tmp`,…模型当轮说明:上一动作只记录了 TI-1,页面仍保持打开的“快照预览”,顶层 `user/tmp` 与目标路径 `/home/user, /tmp` 仍是决定性事实。现在精确测试项“SnapshotDrawer 文件树根正确”已完成全部所需视图验证;下一步记录其 PASS 结果。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_noterecorded{
"kind": "fact",
"reason": "formal result for source item TI-6",
"text": "Source title: /tmp 内容出现在树里\nStatus: FAIL\nEvidence: Requested exact /tmp/qa-scratch-20260803-0257.log in new run and inspected a prior request for /tmp/qa_scratch_20260803.log; both agent replies said filesystem creation/read was unavailable. In 快照预览, `/tmp` is a correct root but refresh still showed `No snapshot found`, 0 files, and no child content.\nBug: Requested /tmp artifact does not enter the snapshot tree because the agent filesystem operation is unavailable.\nNeed Update: Historical/历史: run结束后打开抽屉展开 /tmp; Current/当前: header 沙箱文件 → 快照预览, root is displayed as `tmp`; Suggested Update/建议更新: revise navigation labels and explicitly require a filesystem-enabled agent prerequisite."
}[fact] Source title: /tmp 内容出现在树里 Status: FAIL Evidence: Requested exact /tmp/qa-scratch-20260803-0257.log in new run and inspected a prior request for /tmp/qa_scratch_20260803.lo…模型当轮说明:上一动作记录了 TI-5;抽屉仍显示 `tmp` 根但计数 0、`No snapshot found`,刷新后无变化。现在精确测试项“/tmp 内容出现在树里”已通过 agent 创建请求与下游树刷新进行验证,实际未出现内容;下一步记录 FAIL。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
问题:FileTag 快速预览无法加载目标文件;实际表现:点击 `qa_note_20260803.txt` 后虽然打开「文件预览」,但显示「加载文件失败」及 `session has no sandbox bound`,未呈现文件内容;已尝试:已直接点击标签本体并确认不是下载按钮或路径漂移
同 FAIL 26:案例缺少前置条件。
Historical/历史: 点击 FileTag 快速预览;Current/当前: 点击后打开「文件预览」模态,并提供「浏览文件树」回退入口;Suggested Update/建议更新: 使用当前对话框标签,并增加不得出现 `session has no sandbox bound` 的断言
以该测试项最终判定点 Step 24 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_noterecorded{
"kind": "fact",
"reason": "formal result for source item TI-5",
"text": "Source title: SnapshotDrawer 文件树根正确\nStatus: PASS\nEvidence: Current header “沙箱文件” opened dialog “快照预览”. Left “文件系统” tree showed exactly two top-level roots `user` and `tmp`, with explicit target-path text `/home/user, /tmp`; refresh preserved this mapping.\nNeed Update: Historical/历史: 打开「快照」抽屉; Current/当前: header control is 「沙箱文件」 and dialog title is 「快照预览」; Suggested Update/建议更新: revise case navigation/labels to 沙箱文件 → 快照预览 and assert roots user/tmp mapped by target-path text."
}[fact] Source title: SnapshotDrawer 文件树根正确 Status: PASS Evidence: Current header “沙箱文件” opened dialog “快照预览”. Left “文件系统” tree showed exactly two top-level roots `user` and `tmp`,…模型当轮说明:上一动作只记录了 TI-1,页面仍保持打开的“快照预览”,顶层 `user/tmp` 与目标路径 `/home/user, /tmp` 仍是决定性事实。现在精确测试项“SnapshotDrawer 文件树根正确”已完成全部所需视图验证;下一步记录其 PASS 结果。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_noterecorded{
"kind": "fact",
"reason": "formal result for source item TI-6",
"text": "Source title: /tmp 内容出现在树里\nStatus: FAIL\nEvidence: Requested exact /tmp/qa-scratch-20260803-0257.log in new run and inspected a prior request for /tmp/qa_scratch_20260803.log; both agent replies said filesystem creation/read was unavailable. In 快照预览, `/tmp` is a correct root but refresh still showed `No snapshot found`, 0 files, and no child content.\nBug: Requested /tmp artifact does not enter the snapshot tree because the agent filesystem operation is unavailable.\nNeed Update: Historical/历史: run结束后打开抽屉展开 /tmp; Current/当前: header 沙箱文件 → 快照预览, root is displayed as `tmp`; Suggested Update/建议更新: revise navigation labels and explicitly require a filesystem-enabled agent prerequisite."
}[fact] Source title: /tmp 内容出现在树里 Status: FAIL Evidence: Requested exact /tmp/qa-scratch-20260803-0257.log in new run and inspected a prior request for /tmp/qa_scratch_20260803.lo…模型当轮说明:上一动作记录了 TI-5;抽屉仍显示 `tmp` 根但计数 0、`No snapshot found`,刷新后无变化。现在精确测试项“/tmp 内容出现在树里”已通过 agent 创建请求与下游树刷新进行验证,实际未出现内容;下一步记录 FAIL。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1860,
"y": 171
}Clicked viewport point (1860.0, 171.0).模型当轮说明:TI-6 已记录;当前抽屉仍打开、后台可见历史消息及两个 FileTag。现在切换到精确测试项“对话里点文件标签 → 单文件快速预览”:正向入口是历史 agent 回复中的 `qa_note_20260803.txt` FileTag;下一步关闭抽屉后点击该标签,观察是否打开针对单一文件的快速预览或给出真实缺失错误。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_click_refok{
"duration_ms": 0,
"ref": 22
}Clicked 22.模型当轮说明:抽屉已关闭,两个 FileTag 现有独立按钮 ref;当前会话明确无快照,但 FileTag 组件仍被渲染。精确测试项“对话里点文件标签 → 单文件快速预览”下一步点击 `qa_note_20260803.txt` 标签本体(不是旁边下载图标),验证单文件快速预览的目标和错误行为。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
web_noterecorded{
"kind": "fact",
"reason": "formal result for source item TI-7",
"text": "Source title: 对话里点文件标签 → 单文件快速预览\nStatus: FAIL\nEvidence: Clicked conversation FileTag `qa_note_20260803.txt`; current UI opened modal titled `文件预览`, proving the FileTag click route is active, but the content area displayed `加载文件失败` and exact error `session has no sandbox bound`; no single-file content was shown. A separate `浏览文件树` fallback was offered.\nBug: FileTag quick preview opens but cannot bind the session sandbox and fails to load the named file.\nNeed Update: Historical/历史: 点击 FileTag 快速预览; Current/当前: click opens modal `文件预览` with adjacent `浏览文件树`; Suggested Update/建议更新: use current dialog label and include assertion that preview must not show `session has no sandbox bound`."
}[fact] Source title: 对话里点文件标签 → 单文件快速预览 Status: FAIL Evidence: Clicked conversation FileTag `qa_note_20260803.txt`; current UI opened modal titled `文件预览`, proving the FileTag clic…模型当轮说明:点击 FileTag 后确实打开了当前“文件预览”单文件模态,但内容区明确报错“加载文件失败 / session has no sandbox bound”,没有展示文件内容;这是已定位能力的直接功能不符合,而非路径漂移。精确测试项“对话里点文件标签 → 单文件快速预览”可判 FAIL。下一步记录该结果。
页面:https://nac-beta.xiaobei.top/agents/b2973145-e7c0-49fc-8ed8-4cdb41bb6046/workspaces/playground?target=environment%3Aqa-env-20260803-0109&session_id=sess_01KZ1QCSXEBNMZW9V922HRCXCE
Evidence: 同一 disposable 会话上一次 run 于 `01:21:16` 完成,下一次请求直到 `02:13:26` 才发生,空闲 52 分 10 秒,明显超过 5 分钟;首个空闲后请求于 `02:13:27` 成功回复并回到 `live`
Historical/历史: idle 超过 5 分钟后观察 paused;Current/当前: pause/resume 透明处理,下一次动作后持久可见状态为 `live`;Suggested Update/建议更新: 保留带时间戳的空闲前后检查,并断言恢复回复,因为 resume 后不会持续显示 paused 标记
Attempted: 验证 52 分 10 秒空闲后的请求得到精确回复、无 401 且恢复为 `live`;另在两个会话请求创建唯一 `/home/user` 和 `/tmp` 文件并刷新快照;Blocked by: 自动拉起已证实,但 agent 无文件创建/读取能力,快照始终为 0 文件,无法验证文件保留维度;Needed: 空闲前可成功创建 disposable 文件的 filesystem-enabled sandbox
Historical/历史: SS-08 后发送对话或打开快照抽屉;Current/当前: 「试验场」透明恢复为 `live`,文件位于「沙箱文件」→「快照预览」;Suggested Update/建议更新: 使用当前标签,并将空闲前已绑定沙箱及成功创建文件列为前置条件
Attempted: 打开「快照预览」并检查下载状态,也请求 agent 创建文件;Blocked by: agent 无文件系统权限,快照为 0 文件、大小 `Unknown size`,无 UI/CLI 路径可安全生成超过 200MB 的 `/home/user` 内容;Needed: filesystem-enabled sandbox 或预置的 >200MB 测试快照
Historical/历史: 点击 header「下载快照」;Current/当前: 对话框为「快照预览」,可见操作标为「下载当前文件」;Suggested Update/建议更新: 更新控件标签并预置大于 200MB 的 disposable 快照 fixture
Attempted: 检查当前历史会话中的已解析 PDF 和附件入口;可见 seeded PDF 仅 1 页,且 agent 无文件创建能力;Blocked by: 未提供 >8MB PDF fixture,当前浏览器工具环境也没有可用文件上传来源;Needed: 已知有效的 >8MB PDF 文件或可访问的沙箱上传 fixture
Attempted: 检查所有可见 disposable QA 会话及其快照历史;部分历史显示无快照,但 UI 不暴露 `format_version`,也无法安全创建 v1-only session;Blocked by: 未提供仅含 v1、非 `snapshots/v2/` 或 `format_version != 2` 的已知 fixture;Needed: 指定的旧格式 session
Historical/历史: 待确认手测路径;Current/当前: 快照入口为「沙箱文件」→「快照预览」;Suggested Update/建议更新: 提供明确的 legacy session ID 或 fixture,并使用当前入口标签
Attempted: 验证同一会话顺序执行的空闲后请求能正确回复且无 401,并检查 API 入口和浏览器标签能力;Blocked by: Playwright UI 操作串行执行,未提供 API token、并发请求工具或双客户端机制,无法制造真正同一时刻的 resume 请求;Needed: 针对同一 paused session 的并发 API/双浏览器 harness
Historical/历史: 快速连发两条对话或对话加开抽屉;Current/当前: session 在「试验场」中透明 resume;Suggested Update/建议更新: 定义确定性的双客户端/API 并发方法及请求关联断言
Attempted: 切回已结束的 2-message 文件创建 run,打开页头「沙箱文件」,观察到当前 history 为 `No snapshot found`、0 文件,并刷新过其他快照视图;Blocked by: agent 明确没有创建文件且无沙箱文件系统绑定,因此没有可产生快照的 run,无法判断 header 自动刷新行为;Needed: 抽屉打开时能写入 disposable 文件的 filesystem-enabled agent run
Historical/历史: 抽屉开着时让 agent 写新文件;Current/当前: 页头入口为「沙箱文件」,对话框为「快照预览」;Suggested Update/建议更新: 使用当前标签,并将 sandbox-bound filesystem agent 设为前置条件
Attempted: 验证正常 session/sandbox 路径和透明 idle resume,并检查可见运行配置、调试入口;Blocked by: 当前 UI 和工具没有 envd 网络抖动或短暂连接失败注入能力;Needed: 可短暂断开并恢复 envd 连接的故障注入控制或预配置场景
Attempted: 验证部署目标 `qa-env-20260803-0109` 处于运行状态并用于实时会话,同时检查可见配置和调试入口;Blocked by: supplied UI、账号及工具无法注入或观测一次瞬时 health probe 失败;Needed: 在沙箱被使用期间可制造单次探测失败的 health fault injector 和对应可观测性
NAC-K8S-WEBUI-20260731-IND-simplechat-sdk验证 SimpleChat SDK 的会话、流式消息、停止续发、上下文恢复、错误处理、文件多模态、埋点和国际化。
Evidence: 管理员登录成功;在 `qa-lane-0238` 的会话 `sess_01KZ1XB7TJ888ETCJCPMQFHR26` 发送“请逐字回复:流式测试成功”,过程中显示“流式传输中”“正在生成响应…”及停止控件,最终 assistant 显示“流式测试成功”
Historical/历史: 打开 `/agents/:projId/chat`,选择 production 环境后发送;Current/当前: 从智能体详情进入 `/agents/:id/workspaces/playground`“试验场”,在“选择目标”中使用活跃环境;Suggested Update/建议更新: 将路径改为“智能体详情→试验场”,并使用任一活跃部署环境,不再限定 production
问题:当前不支持首消息惰性创建会话;实际表现:点击“新建会话”后,在发送任何消息前 URL、标题和侧栏就立即出现空会话 `sess_01KZ1XD6SE0PKNMKAK49257T3S`;已尝试:检查无 session 的试验场、侧栏新建会话路径及输入前的 URL/侧栏状态
测试 Case 描述不对。
Historical/历史: 页面加载后不做任何操作,直接发送第一条消息;Current/当前: 无 session 的试验场只显示“选择或新建会话开始对话”,没有输入框,必须先点“新建会话”;Suggested Update/建议更新: 保留首条消息触发惰性建会话的产品预期,或由产品正式变更需求,不能仅以路径迁移掩盖该语义差异
以该测试项最终判定点 Step 12 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_type_textok{
"text": "请逐字回复:流式测试成功"
}Typed text.模型当轮说明:输入区现已聚焦,界面仍为同一新会话且目标为运行中的环境。键入“请逐字回复:流式测试成功”,再按 Enter 发送,以观察 assistant 增量呈现及最终消息。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XB7TJ888ETCJCPMQFHR26
web_pressok{
"duration_ms": 0,
"key": "Enter"
}Pressed Enter.模型当轮说明:文本已完整出现在输入框,发送图标已激活,右上性能状态为 `live`;尚未提交。按 Enter 发送并立即观察流式状态/停止控件,为 **文本发送收到流式 token** 提取直接证据。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XB7TJ888ETCJCPMQFHR26
web_noterecorded{
"kind": "fact",
"reason": "TI-1 completed; preserve decisive streaming evidence and migration detail",
"text": "TI-1 exact title: 文本发送收到流式 token\nStatus: PASS\nEvidence: Admin authentication succeeded (identity admin). Opened disposable project qa-chatgpt-versioned-20260803-0238, running environment qa-lane-0238, then current 试验场. Created session sess_01KZ1XB7TJ888ETCJCPMQFHR26; sent “请逐字回复:流式测试成功”. Motion frames directly showed “流式传输中”, “正在生成响应…” and red stop control; final assistant output displayed “流式测试成功”. User message persisted in main view and sidebar.\nNeed Update: Historical/历史: 打开 /agents/:projId/chat,选 production 环境,输入文本点发送; Current/当前: /agents/:id/workspaces/playground via 智能体详情→试验场, target combobox qa-lane-0238, Enter sends; Suggested Update/建议更新: revise route and navigation to 工作区→试验场 and use any active deployment environment rather than literal production."
}[fact] TI-1 exact title: 文本发送收到流式 token Status: PASS Evidence: Admin authentication succeeded (identity admin). Opened disposable project qa-chatgpt-versioned-20260803-0238, runni…模型当轮说明:**文本发送收到流式 token** 已取得完整证据:发送后 motion frame 显示“流式传输中”“正在生成响应…”及红色停止按钮,随后最终 assistant 文本为“流式测试成功”;同一用户消息在侧栏与主区可见。记录 PASS;当前入口从历史 `/agents/:projId/chat` 迁移为智能体详情的“试验场”工作区。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XB7TJ888ETCJCPMQFHR26
web_click_refok{
"duration_ms": 0,
"ref": 3
}Clicked 3.模型当轮说明:当前测试项:**懒建会话**。已观察到直接进入试验场(仅 target、无 session_id)时中央仅显示“选择或新建会话开始对话”,输入区不存在;只有点击“新建会话”后才生成 session_id 与输入区。为避免把路径变化误判为缺失,再通过当前侧栏“新建会话”验证它确实会预先创建空会话,而非首条消息时惰性创建。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XB7TJ888ETCJCPMQFHR26
web_noterecorded{
"kind": "fact",
"reason": "TI-2 completed with direct non-conformance evidence",
"text": "TI-2 exact title: 懒建会话\nStatus: FAIL\nIssue: first-message lazy session creation is not available in current UI.\nActual: opening current playground with target only and no session_id showed only “选择或新建会话开始对话” and no composer, so a first message could not be sent. Clicking visible 新建会话 immediately created empty session sess_01KZ1XD6SE0PKNMKAK49257T3S in URL/header/sidebar before any message. This directly contradicts session creation on first send.\nAttempts: direct current playground load without session; visible sidebar 新建会话 path; checked resulting URL/sidebar before typing.\nNeed Update: Historical/历史: 页面加载后不做任何操作,直接发第一条消息; Current/当前: playground requires explicit 新建会话 and creates session before first message; Suggested Update/建议更新: no case migration should hide this semantic gap; retain first-message lazy-creation expectation (or formally change product requirement)."
}[fact] TI-2 exact title: 懒建会话 Status: FAIL Issue: first-message lazy session creation is not available in current UI. Actual: opening current playground with target only and no se…模型当轮说明:点击“新建会话”后无需发送就立即生成 `sess_01KZ1XD6SE0PKNMKAK49257T3S`,URL、标题和侧栏空会话均已出现;结合无 session 路由没有输入框,当前实现是预建而非首消息惰性创建。记录 **懒建会话** FAIL(功能语义直接不符合,不是路由漂移)。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XD6SE0PKNMKAK49257T3S
Evidence: 环境 `qa-lane-0238` 发送并收到响应;另创建唯一草稿 `qa-version-route-0308-0259`,发布到临时泳道 `draft-test-8fb081de-9c7`,发送“临时版本路由回复OK”后收到 `OK` 和 Trace 入口;测试草稿随后已删除清理
Historical/历史: 分别选择 environment target 与 orphan version target 发送;Current/当前: 环境仍从试验场 target 下拉选择,隔离版本测试迁移到“项目编辑器→创建草稿→发布临时泳道→测试对话”;Suggested Update/建议更新: 用 `draft-test` 临时泳道路由替代 orphan version 下拉步骤
Attempted: 检查项目编辑器 Agent selector、低代码配置、测试会话的“跟随 Agent 默认”选择器及 standalone 试验场;当前项目只暴露 `Agent · agents/agent.yaml`;Blocked by: 未提供 MAP embed 上下文/token/runtime_vars,且没有已知多 Agent 测试项目;Needed: 有效 MAP token/runtime_vars 的嵌入测试入口、多 Agent fixture,以及可回显或从 Trace 核验透传值的消费端
Evidence: 同一会话 `sess_01KZ1XJXJ13CPQMQGVMEM7SA3K` 连续完成三轮;第二轮要求记住 `BLUE-27` 并收到“已记住”,第三轮询问“上面第二点的代号是什么”后精确返回 `BLUE-27`,session_id 始终未变
Attempted: 建立多轮环境会话并展开当前 target 下拉,同时检查项目总览和临时草稿泳道;Blocked by: 项目仅有 `qa-lane-0238` 一个可选 target,无法产生 A→B 切换;Needed: 至少两个带活跃 release 的可选环境,或另一个可选版本 target
Historical/历史: 多轮后切换环境/版本下拉;Current/当前: “选择目标”仅提供一个环境,草稿版本改由编辑器内临时泳道运行,不是同一下拉的并列选项;Suggested Update/建议更新: 明确提供至少两个可同时选择的 target fixture,或定义跨工作区切换临时泳道时的重置预期
Evidence: 请求输出至少 2000 字、100 条建议;在“流式传输中”且内容持续增长时点击红色停止控件,状态恢复 live、输入框重新启用、停止按钮消失,输出约在第 71 条并以残缺字符“7”截断,未继续完成 100 条
Attempted: 通过无 session 页面及可见 UI 多次创建会话,正常 `sessions.create` 均成功;检查 target、项目和配置控件,未发现代理端点覆盖、鉴权撤销或故障模拟器;Blocked by: 无法注入 proxy 不可达或 session-create 鉴权失败;Needed: 可控代理 stub、网络路由或专用无效凭证 fixture
Attempted: 验证正常 SSE streaming、用户停止及 Trace/调试入口;Blocked by: 页面和工具均不提供服务端 `RUN_ERROR`、SSE 中断或请求拦截能力,用户停止不能替代错误场景;Needed: 能在指定测试消息期间中断 SSE 或返回 `RUN_ERROR` 的 mock/proxy
Attempted: 检查试验场 target 下拉和项目总览,均只显示绿色运行中的 `qa-lane-0238`;临时草稿泳道不是环境;Blocked by: 没有无活跃 release 的可选 disposable 环境,且不能改造预存项目环境;Needed: 零活跃 release 的独立测试环境,或可安全创建隔离项目及未部署环境的 fixture
Evidence: 整个运行从 standalone NAC 登录/控制台进入,不含 MAP URL 参数、embed 容器或 token;在此条件下,会话创建、文本 streaming、多轮上下文、停止及停止后续发均成功,未出现 MAP token 缺失错误
Evidence: 刷新前选中会话 `sess_01KZ1XJXJ13CPQMQGVMEM7SA3K`,可见被停止的截断输出和 `CONTINUE_OK`;执行 Ctrl+R 后同一 session_id、侧栏选中状态、完整消息内容及 10 msg/live 状态全部恢复
Evidence: 在刷新恢复的会话中发送“刷新恢复后续发,只回复 RESTORED_OK”,同一 session_id 保持不变,最终精确返回 `RESTORED_OK`,消息计数从 10 增至 12
Historical/历史: 标题写“恢复后续发开新会话”,Action 写“在恢复出来的历史会话里继续发新消息”;Current/当前: 续发会追加到同一恢复会话,不会创建新 session;Suggested Update/建议更新: 标题改为“恢复后在同一会话续发”,或另设用例验证显式新建会话
Evidence: 在 12 消息会话发送带标识的 `AUTOSAVE_BEGIN` 长请求;streaming 中用户消息立即出现且计数变为 14,切到另一会话再返回后该消息及完整 30 条响应均恢复;再次 Ctrl+R 后同一 session_id、14 msg、完整第 30 条和 Trace 仍存在,覆盖新消息加入与 streaming 结束两个保存点
Attempted: 验证正常 streaming、用户停止、会话切换及刷新行为,并检查可用浏览器/页面控制;Blocked by: 当前工具没有 offline、网络限速、请求拦截或服务工作线程故障模拟能力;Needed: Playwright/CDP offline 控制或可在 SSE 期间断网的代理开关
Attempted: 检查 composer,确认存在回形针附件入口;Blocked by: 未提供图片 fixture、可写系统剪贴板、粘贴图片来源或 `setInputFiles` 工具,无法构造 1~N 张图片及超过 `MAX_PENDING_IMAGES` 的边界;Needed: 已知尺寸/数量的图片文件、剪贴板或文件注入能力,以及多模态 Agent
Attempted: 确认 composer 有附件入口,并检查任务与工具可用文件;Blocked by: 没有普通文件、可转换 PDF、超限 PDF、OCR 不可用 PDF fixture,也没有文件输入注入能力;Needed: 带预期 Markdown 的可访问测试文件及上传工具
Attempted: 在管理员登录态 standalone 发送并观察每个响应的 Trace 入口;Blocked by: 没有 MAP 上下文、匿名发送模式及 Langfuse trace metadata/user_id 读取权限,无法执行“登录态、仅 MAP、都无”三类优先级比较;Needed: MAP embed harness、匿名模式和 Langfuse 测试项目访问
Attempted: 成功发送多条可识别消息并检查 Trace/调试入口;Blocked by: 这些入口只显示 Agent 运行信息,未提供浏览器 network/console 捕获或 PostHog 项目访问,无法证明事件名、payload 与最终投递;Needed: HAR/网络埋点捕获或 PostHog 测试项目查询权限
问题:English composer 暴露未翻译的资源 key;实际表现:切换 English 后常规控件正确变为 `Sessions`、`New Session`、`View Trace`、`Sandbox Files`、`Run Config` 等,但输入区显示裸文本 `INPUT_MESSAGE...`;已尝试:在已恢复会话及全新会话 `sess_01KZ1Y7CSK5QCY4191Q7CZER00` 均复现,排除了旧会话缓存;错误 banner/PDF 提示因其故障和文件 prerequisite 不可用而未单独触发,但该直接 raw-key 泄露已构成功能不符合
未理解该案例,现象看起来不像 Bug。
以该测试项最终判定点 Step 76 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1655,
"y": 138
}Clicked viewport point (1655.0, 138.0).模型当轮说明:当前测试项:**i18n 零硬编码**。当前中文试验场可见本地化的“新建会话、选择目标、分享、现代视图、调试日志、输入消息”;Chrome 保存密码气泡遮住用户菜单,先关闭浏览器气泡,再从用户/设置菜单找语言切换并核验英文对应文本。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XJXJ13CPQMQGVMEM7SA3K
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1850,
"y": 140
}Clicked viewport point (1850.0, 140.0).模型当轮说明:密码气泡已关闭;当前中文 UI 的用户菜单按钮在右上 `admin`(本次无 snapshot ref)。点击其中心,寻找语言项。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XJXJ13CPQMQGVMEM7SA3K
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1694,
"y": 345
}Clicked viewport point (1694.0, 345.0).模型当轮说明:用户菜单明确提供语言分段控件 `English / 中文(简体)`,当前中文选中。点击 English,并在同一会话核验输入区、按钮、历史标签的翻译;之后尝试通过可见边界触发错误/PDF提示。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XJXJ13CPQMQGVMEM7SA3K
web_click_refok{
"duration_ms": 0,
"ref": 4
}Clicked 4.模型当轮说明:切换到 English 后常规标签正确变为 `Sessions / New Session / View Trace / Sandbox Files / Run Config / Follow agent default`,但 composer placeholder 显示裸 i18n key **`INPUT_MESSAGE...`**,不是英文用户文案;中文会话标题/消息是持久化用户内容,不作为硬编码缺陷。为排除仅旧会话缓存,点击 `New Session` 并检查全新 composer 是否仍显示该 key。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1XJXJ13CPQMQGVMEM7SA3K
web_noterecorded{
"kind": "fact",
"reason": "TI-21 direct localization defect reproduced in two sessions",
"text": "TI-21 exact title: i18n 零硬编码\nStatus: FAIL\nIssue: English composer exposes untranslated resource key.\nActual: Chinese mode showed localized input hint and controls. After user menu Language→English, standard controls became Sessions, New Session, View Trace, Sandbox Files, Run Config, Share, Modern view, Debug log, Follow agent default, but composer displayed raw “INPUT_MESSAGE...” instead of English copy. Creating a brand-new English session sess_01KZ1Y7CSK5QCY4191Q7CZER00 reproduced the same raw key, excluding old-session cache/content. Existing Chinese conversation titles are persisted user content and were not counted as hardcoding.\nAttempts: switched zh→English in visible language control; checked restored populated session and a new empty session; inspected input/buttons. Error banner/PDF prompt could not be independently triggered because their fault/file prerequisites are unavailable, but direct raw-key violation is decisive.\nNeed Update: —"
}[fact] TI-21 exact title: i18n 零硬编码 Status: FAIL Issue: English composer exposes untranslated resource key. Actual: Chinese mode showed localized input hint and controls. After us…模型当轮说明:全新 English `New Session` 仍显示裸 key `INPUT_MESSAGE...`,排除旧会话缓存;其它 buttons 已英语化。该直接违反“i18n 零硬编码”,无需依赖不可触发的错误/PDF边界才判定。记录 FAIL,问题聚焦缺失英文 composer translation。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/playground?target=environment%3Aqa-lane-0238&session_id=sess_01KZ1Y7CSK5QCY4191Q7CZER00
Evidence: 检查完成并刷新后的 14 消息会话及新空会话;UI 仅显示通用 `View Trace`、`Debug log` 和会话路由 session_id,没有任何 `traceId` 标签、值或 trace UUID
Historical/历史: 完成一轮对话后检查 UI;Current/当前: 页面提供通用 `View Trace/查看 Trace` 导航,但不显示原始 traceId;Suggested Update/建议更新: 明确允许 Trace 导航按钮,同时断言消息、页头、状态和 URL 不泄露原始 trace 标识
NAC-K8S-WEBUI-20260731-IND-ux-docs验证文档内容与多语言、表单和错误提示、导航刷新、项目操作、搜索筛选以及深层文件树体验。
Evidence: projects 搜索命中服务端管理及 `/a2a/projects/...`;versions 命中 Version、导入和部署管理;agent-api 命中 `POST /agent-api/sessions`、`POST /agent-api/chat` 以及 events、actions、runs 等端点。
Historical/历史: 在 Docs 搜索 projects/versions/agent-api;Current/当前: 使用 Docs 的 Ctrl+K 搜索框分别检索 projects、versions、agent-api;Suggested Update/建议更新: 明确逐个检索三个关键词,并分别核对项目、版本及 Agent API 结果。
Evidence: 搜索 curl 后进入快速上手页,看到 sessions/chat 两段 curl;悬停代码块出现复制按钮,点击后图标变为成功勾号并随后恢复。
Historical/历史: 点击 Docs 或 Playground 的复制 curl;Current/当前: Docs“快速上手”页的代码块在悬停后显示“复制代码到剪贴板”;Suggested Update/建议更新: 进入 Docs→快速上手,选择 curl tab,悬停代码块后点击复制并验证勾号反馈。
Evidence: beta 站点 Docs 的 curl 一致使用 `https://nac.xiaobei.top/agent-api/sessions` 和 `/chat`;文档说明 environment 留空默认 production,staging/canary 需显式指定,独立搜索 staging 也得到一致说明。
Historical/历史: 在 beta/staging/prod 分别复制示例;Current/当前: 当前架构使用统一网关 `nac.xiaobei.top`,production/canary/staging 由 `environment` 参数选择;Suggested Update/建议更新: 核对统一网关及 sessions/chat 路径,并分别验证 environment 留空、production、staging、canary 的环境语义。
问题:English Docs 内容未本地化;实际表现:选择 English 后选择器和路由变为 `/docs/en/quickstart`,但稳定后的标题“快速上手”、侧栏、正文和按钮仍全部为中文,刷新后仍复现;已尝试:通过页头语言菜单直接切换、核对 `/docs/en` 路由并执行完整刷新。
案例混乱,无法判定。
以该测试项最终判定点 Step 33 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1423,
"y": 216
}Clicked viewport point (1423.0, 216.0).模型当轮说明:语言菜单已打开并显示“简体中文 / English”两个选项;菜单项未暴露语义 ref,但视觉位置明确。继续“切换到英文”,点击 English 后等待重渲染并读取英文页面。
页面:https://nac-beta.xiaobei.top/docs/quickstart?_highlight=curl
web_pressok{
"duration_ms": 0,
"key": "Control+R"
}Pressed Control+R.模型当轮说明:切换动作已生效到路由与选择器:URL 变为 `/docs/en/quickstart`,页头显示 `English`;但已稳定后的文档标题“快速上手”、侧栏、正文、按钮仍全部为中文。这是直接功能不符合,不是路由漂移。“Docs 多语言”与“切换到英文”目前有明确失败证据;现在单独测试“刷新后保持语言”,在此英文选择状态执行 F5,观察 English 是否持久及内容是否改变。
页面:https://nac-beta.xiaobei.top/docs/en/quickstart?_highlight=curl
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1482,
"y": 142
}Clicked viewport point (1482.0, 142.0).模型当轮说明:F5 后 URL 仍为 `/docs/en/quickstart`、选择器仍为 `English`,证明语言选择持久化;但中文内容也同样持久,属于多语言内容 bug,不否定“刷新后保持语言”这一独立选择持久性能力。现在测试精确源标题“切回中文”:从当前 English 选择状态打开菜单并选“简体中文”,验证路由/选择器回退及中文页面可用。
页面:https://nac-beta.xiaobei.top/docs/en/quickstart?_highlight=curl
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1420,
"y": 184
}Clicked viewport point (1420.0, 184.0).模型当轮说明:语言菜单已展开,清晰显示“简体中文”与当前 English;仍是自定义菜单无 ref。继续“切回中文”,点击“简体中文”。
页面:https://nac-beta.xiaobei.top/docs/en/quickstart?_highlight=curl
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict",
"text": "Docs 多语言 — FAIL. Issue: English docs content is not localized. Actual: switching Chinese Docs quickstart to English changed selector and URL to /docs/en/quickstart, but settled page title “快速上手”, sidebar, body, buttons, and code guidance all remained Chinese; refresh reproduced it. Attempts: direct header language menu switch, verified /docs/en route, full refresh. Need Update: —."
}[fact] Docs 多语言 — FAIL. Issue: English docs content is not localized. Actual: switching Chinese Docs quickstart to English changed selector and URL to /docs/en/quickstart, but set…web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict",
"text": "切换到英文 — FAIL. Issue: language selector accepts English but document UI/content does not switch to English. Actual: selector displayed English and route /docs/en/quickstart, while title/sidebar/body remained Chinese. Attempts: direct menu selection and refresh. Need Update: Historical/历史: 头像菜单或设置中选择 English; Current/当前: 未登录 Docs 页头语言下拉可直接选 English; Suggested Update/建议更新: 用例入口更新为 Docs 页头语言菜单,并要求选择器、路由及正文同时变英文(当前正文缺陷仍需修复)。"
}[fact] 切换到英文 — FAIL. Issue: language selector accepts English but document UI/content does not switch to English. Actual: selector displayed English and route /docs/en/quickstart,…web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict",
"text": "切回中文 — PASS. Evidence: from selected English state, opened Docs header language menu and selected 简体中文; URL changed /docs/en/quickstart → /docs/quickstart, selector changed English → 简体中文, Chinese title/sidebar/body remained fully rendered. Need Update: Historical/历史: 从 English 切回简体中文; Current/当前: Docs 页头语言下拉选择简体中文; Suggested Update/建议更新: 明确在 Docs 页头语言菜单操作并核对 /docs/ 路由和选择器。"
}[fact] 切回中文 — PASS. Evidence: from selected English state, opened Docs header language menu and selected 简体中文; URL changed /docs/en/quickstart → /docs/quickstart, selector changed…web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict",
"text": "刷新后保持语言 — PASS. Evidence: after selecting English, Ctrl+R kept URL /docs/en/quickstart and selector English. (Separate localization bug: content remained Chinese, tracked by Docs 多语言/切换到英文.) Need Update: Historical/历史: 切英文后 F5 刷新; Current/当前: Docs English selector uses /docs/en/... and survives Ctrl+R; Suggested Update/建议更新: 刷新后核对语言选择器及 /docs/en 路由持久性,内容翻译另由 Docs 多语言覆盖。"
}[fact] 刷新后保持语言 — PASS. Evidence: after selecting English, Ctrl+R kept URL /docs/en/quickstart and selector English. (Separate localization bug: content remained Chinese, tracked b…模型当轮说明:“切回中文”已直接成功:URL 从 `/docs/en/quickstart` 回到 `/docs/quickstart`,选择器变为“简体中文”,中文 Docs 仍完整渲染。现在持久化四个独立语言项:多语言/切英为 FAIL(选 English 但内容中文),切回中文与刷新保持为 PASS;随后进入控制台登录,覆盖主应用语言、加载、空态、导航及项目能力。
页面:https://nac-beta.xiaobei.top/docs/quickstart?_highlight=curl
问题:English 选择被接受,但页面内容未切换为英文;实际表现:页头显示 English、URL 为 `/docs/en/quickstart`,文档标题、导航和正文仍为中文;已尝试:直接菜单切换并刷新复验。
案例混乱,无法判定。
Historical/历史: 头像菜单或设置中选择 English;Current/当前: 未登录 Docs 页头提供语言下拉,可直接选择 English;Suggested Update/建议更新: 将入口改为 Docs 页头语言菜单,并要求选择器、路由及正文同时变为英文。
以该测试项最终判定点 Step 33 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1423,
"y": 216
}Clicked viewport point (1423.0, 216.0).模型当轮说明:语言菜单已打开并显示“简体中文 / English”两个选项;菜单项未暴露语义 ref,但视觉位置明确。继续“切换到英文”,点击 English 后等待重渲染并读取英文页面。
页面:https://nac-beta.xiaobei.top/docs/quickstart?_highlight=curl
web_pressok{
"duration_ms": 0,
"key": "Control+R"
}Pressed Control+R.模型当轮说明:切换动作已生效到路由与选择器:URL 变为 `/docs/en/quickstart`,页头显示 `English`;但已稳定后的文档标题“快速上手”、侧栏、正文、按钮仍全部为中文。这是直接功能不符合,不是路由漂移。“Docs 多语言”与“切换到英文”目前有明确失败证据;现在单独测试“刷新后保持语言”,在此英文选择状态执行 F5,观察 English 是否持久及内容是否改变。
页面:https://nac-beta.xiaobei.top/docs/en/quickstart?_highlight=curl
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1482,
"y": 142
}Clicked viewport point (1482.0, 142.0).模型当轮说明:F5 后 URL 仍为 `/docs/en/quickstart`、选择器仍为 `English`,证明语言选择持久化;但中文内容也同样持久,属于多语言内容 bug,不否定“刷新后保持语言”这一独立选择持久性能力。现在测试精确源标题“切回中文”:从当前 English 选择状态打开菜单并选“简体中文”,验证路由/选择器回退及中文页面可用。
页面:https://nac-beta.xiaobei.top/docs/en/quickstart?_highlight=curl
web_click_pointok{
"button": "left",
"duration_ms": 0,
"x": 1420,
"y": 184
}Clicked viewport point (1420.0, 184.0).模型当轮说明:语言菜单已展开,清晰显示“简体中文”与当前 English;仍是自定义菜单无 ref。继续“切回中文”,点击“简体中文”。
页面:https://nac-beta.xiaobei.top/docs/en/quickstart?_highlight=curl
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict",
"text": "Docs 多语言 — FAIL. Issue: English docs content is not localized. Actual: switching Chinese Docs quickstart to English changed selector and URL to /docs/en/quickstart, but settled page title “快速上手”, sidebar, body, buttons, and code guidance all remained Chinese; refresh reproduced it. Attempts: direct header language menu switch, verified /docs/en route, full refresh. Need Update: —."
}[fact] Docs 多语言 — FAIL. Issue: English docs content is not localized. Actual: switching Chinese Docs quickstart to English changed selector and URL to /docs/en/quickstart, but set…web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict",
"text": "切换到英文 — FAIL. Issue: language selector accepts English but document UI/content does not switch to English. Actual: selector displayed English and route /docs/en/quickstart, while title/sidebar/body remained Chinese. Attempts: direct menu selection and refresh. Need Update: Historical/历史: 头像菜单或设置中选择 English; Current/当前: 未登录 Docs 页头语言下拉可直接选 English; Suggested Update/建议更新: 用例入口更新为 Docs 页头语言菜单,并要求选择器、路由及正文同时变英文(当前正文缺陷仍需修复)。"
}[fact] 切换到英文 — FAIL. Issue: language selector accepts English but document UI/content does not switch to English. Actual: selector displayed English and route /docs/en/quickstart,…web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict",
"text": "切回中文 — PASS. Evidence: from selected English state, opened Docs header language menu and selected 简体中文; URL changed /docs/en/quickstart → /docs/quickstart, selector changed English → 简体中文, Chinese title/sidebar/body remained fully rendered. Need Update: Historical/历史: 从 English 切回简体中文; Current/当前: Docs 页头语言下拉选择简体中文; Suggested Update/建议更新: 明确在 Docs 页头语言菜单操作并核对 /docs/ 路由和选择器。"
}[fact] 切回中文 — PASS. Evidence: from selected English state, opened Docs header language menu and selected 简体中文; URL changed /docs/en/quickstart → /docs/quickstart, selector changed…web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict",
"text": "刷新后保持语言 — PASS. Evidence: after selecting English, Ctrl+R kept URL /docs/en/quickstart and selector English. (Separate localization bug: content remained Chinese, tracked by Docs 多语言/切换到英文.) Need Update: Historical/历史: 切英文后 F5 刷新; Current/当前: Docs English selector uses /docs/en/... and survives Ctrl+R; Suggested Update/建议更新: 刷新后核对语言选择器及 /docs/en 路由持久性,内容翻译另由 Docs 多语言覆盖。"
}[fact] 刷新后保持语言 — PASS. Evidence: after selecting English, Ctrl+R kept URL /docs/en/quickstart and selector English. (Separate localization bug: content remained Chinese, tracked b…模型当轮说明:“切回中文”已直接成功:URL 从 `/docs/en/quickstart` 回到 `/docs/quickstart`,选择器变为“简体中文”,中文 Docs 仍完整渲染。现在持久化四个独立语言项:多语言/切英为 FAIL(选 English 但内容中文),切回中文与刷新保持为 PASS;随后进入控制台登录,覆盖主应用语言、加载、空态、导航及项目能力。
页面:https://nac-beta.xiaobei.top/docs/quickstart?_highlight=curl
Evidence: 从 English 状态选择“简体中文”后,URL 从 `/docs/en/quickstart` 返回 `/docs/quickstart`,选择器变为“简体中文”,中文页面完整可用。
Historical/历史: 从 English 切回简体中文;Current/当前: 在 Docs 页头语言下拉中选择“简体中文”;Suggested Update/建议更新: 明确核对选择器、`/docs/` 路由及中文内容。
Evidence: 选择 English 后执行 Ctrl+R,URL 仍为 `/docs/en/quickstart`,页头选择器仍显示 English。
Historical/历史: 切英文后 F5 刷新;Current/当前: Docs 的 English 状态使用 `/docs/en/...` 路由并可在 Ctrl+R 后保持;Suggested Update/建议更新: 刷新后核对语言选择器和 `/docs/en` 路由持久性,内容翻译由“Docs 多语言”项独立覆盖。
Evidence: 中文模式下逐页检查当前主视图,导航、标题、操作、校验和空状态均为中文;剩余英文为 North Agent Cloud、API、Agent4Agent、CPU 等品牌/技术词或 seeded 数据描述。
Historical/历史: 中文模式跑 S1/S4/S5 主页面;Current/当前: 当前页面为智能体首页、总览、试验场、观测、项目编辑器、Agent4Agent 开发机和配置;Suggested Update/建议更新: 用当前具名页面替代 S1/S4/S5,并明确品牌、技术术语及用户数据不计为硬编码文案。
Evidence: Governance 刷新显示全页 spinner、API 密钥局部 spinner 及“加载中”;Observe 显示全页 spinner 和“正在加载会话”;Playground 显示全页及会话区域 spinner;DevBox 导航显示旧视图到新页骨架的加载过渡,最终均正常完成。
Historical/历史: 人为限速后进入项目列表/Observe/DevBox;Current/当前: 当前执行环境未提供网络限速控件,但刷新及工作区切换直接呈现全页和局部 Loading;Suggested Update/建议更新: 在具备 DevTools throttling 的环境复跑限速,并核对已观察到的 spinner 和加载文案。
Evidence: 新建 disposable 项目显示环境 0、活跃 0、部署 0;Observe 显示会话 0 和“该版本暂无会话”;Playground 提示先部署制品且新建会话禁用;项目编辑器显示“暂无草稿”。
Historical/历史: 新账号无项目、项目无版本、Observe 无 session;Current/当前: 通过新建隔离空白项目验证无版本、Observe 无会话、Playground 无部署和编辑器无草稿;Suggested Update/建议更新: 若不另供全新账号,将“新账号”维度改为新建隔离空项目。
Attempted: 验证了空名称红色提示“请输入项目名称”,并检查了 seeded 失败部署的红色“失败”状态和详细 ERROR `/agent/nexau.json not found`;Blocked by: 应用 UI 和所提供浏览器工具均未暴露后端 500 mock、代理或网络离线控制,无法判定指定 500/断网行为;Needed: 可控 500 fixture、浏览器网络拦截或 offline 测试 harness。
Evidence: 在同一项目中依次访问 Observe、Playground、artifact-editor、develop;Alt+Left 返回 artifact-editor 并恢复“在线项目编辑器/暂无草稿”,Alt+Right 回到 develop 并恢复“Agent4Agent 开发机”,项目身份与主题均保持。
Historical/历史: 在 Workspace 多 tab 内前进后退;Current/当前: 当前为单一工作区左侧导航,路由 develop、artifact-editor、playground、observe 会写入浏览器 history;Suggested Update/建议更新: 使用当前路由验证 Alt+Left/Alt+Right 及对应视图恢复。
Evidence: 对 Governance、Observe、Playground、artifact-editor/Develop 深链执行 Ctrl+R;每页均先显示 spinner,随后恢复完整内容和同一对象状态,Governance 编辑值及 Observe/Playground 空态也保持,无白屏。
Historical/历史: F5 刷新 Playground/Observe/Governance/Develop/Admin;Current/当前: 可见当前路由为 playground、observe、governance、artifact-editor 及 Agent4Agent develop,未发现独立 Admin workspace,配置能力位于 Governance;Suggested Update/建议更新: 用上述当前深链替代旧 Admin 分项,或在提供 Admin 当前入口后单列验证。
Evidence: 创建并验证 disposable 项目 `qa-authoritative-20260803-0306`/`QA disposable initial`;两字段修改为 `qa-authoritative-edited-20260803-0308`/`QA disposable edited` 后,顶部项目选择器与只读字段同步更新,Ctrl+R 后仍精确保持。
Historical/历史: Governance 修改项目名称和描述;Current/当前: 左栏“配置”→Governance→基本信息→编辑;Suggested Update/建议更新: 使用当前配置入口,并在保存后刷新读回名称和描述。
Attempted: 对新建空 disposable 项目完成 CREATE→VERIFY→DELETE→VERIFY;二次确认中输入精确项目名,删除后返回列表,搜索旧名结果为 0;Blocked by: “已有版本项目”维度无法安全执行,现有版本项目均为预先存在的非本次对象,新建对象又没有可部署制品,UI 未提供所需上传文件或 CLI;Needed: 提供最小有效 Agent 制品或授权 CLI/API,以便在新 disposable 对象上创建版本后删除验证。
Evidence: 所有者控件与搜索框位于同一工具栏;所有人显示 47,admin 显示 39 且可见行所有者均为 admin,libingxuan 显示 4 且四行均为 libingxuan、admin 行被排除。
Historical/历史: 切换 全部/我的/某所有者;Current/当前: 工具栏选项为“所有人”、当前用户名 `admin` 和具体用户名列表,不再显示字面“我的”;Suggested Update/建议更新: 验证“所有人→当前登录用户名→另一具体所有者”,分别核对计数和所有者列。
Evidence: 配置页展示基本信息、API 密钥、运行配置、负载均衡、资源上限、网络策略、消息通道和删除项目及对应卡片;先在浅色查看,再切换深色,同一层级、字段和卡片仍清晰可读且无错位。
Historical/历史: 打开项目设置并切换各导航项;Current/当前: 左侧齿轮“配置”进入 `/workspaces/governance`,主题位于头像菜单→偏好设置;Suggested Update/建议更新: 先切换浅色/深色,再在配置页核对当前各导航项。
Attempted: 搜索并检查四个 qa-devbox 候选;首个 filesystem-probe 项目无环境/部署,第二个 DevBox/PDF/A4A/deploy 项目有失败发布并成功打开“部署快照”,但没有 ArtifactViewer 或文件树;Blocked by: 未提供包含至少三层目录的 snapshot/artifact,也没有可上传文件用于安全创建;Needed: 有效嵌套测试制品或预置可预览的 disposable 项目。
Historical/历史: 打开 SnapshotDrawer / ArtifactViewer;Current/当前: 当前可达入口为发布历史中的“查看部署快照”,失败制品快照仅展示运行时镜像、包元数据、下载和环境变量;Suggested Update/建议更新: 提供三层目录测试制品,并从发布历史→查看部署快照→制品预览执行。
Attempted: 定位并复制了 `POST /agent-api/sessions`、`POST /agent-api/chat` curl,确认 A2A 路径、统一网关和环境语义;UI 创建项目也生成过 API key,但 seeded DevBox 部署因 `/agent/nexau.json not found` 失败;Blocked by: 未提供命令行/API 执行工具及有效可部署 Agent 制品和依赖环境;Needed: shell/API client、有效 disposable Agent 包、依赖 spec 与授权凭据。
Historical/历史: 按 docs-site 外接 API spec 和依赖文档从空环境完成调用;Current/当前: 文档路径为 Docs→快速上手/API 参考/A2A 调用,使用统一 `nac.xiaobei.top` 网关和 environment 参数;Suggested Update/建议更新: 明确所需 CLI/API harness、测试制品、token 和环境参数后执行 sessions→chat 及 A2A。
NAC-K8S-WEBUI-20260731-IND-version-routing验证版本与环境路由优先级、异常路由、版本不可变性、重部署和回滚、并发冲突及 Trace 标签。
Attempted: 管理员登录成功;检查 disposable 项目 `qa-chatgpt-versioned-20260803-0238` 的总览、试验场及 API 菜单;Blocked by: 项目仅有一个有效部署版本,试验场只支持选择环境,cURL/Python/JavaScript 菜单仅复制示例而不能编辑或执行请求;Needed: 可执行的 curl/API 客户端、AK/SK/session,以及同项目两个不同的已部署版本/tag。
Attempted: 检查项目部署 UUID、试验场路由控件和 API 示例;Blocked by: 无法在 UI 中同时提交两个不同的有效 UUID,且当前项目只有一个有效部署;Needed: 两个不同的有效 deployment/version UUID 及可执行 HTTP 客户端。
Attempted: 检查项目环境、版本标签、试验场目标选择和 API 示例;Blocked by: 当前 disposable 项目只有 `qa-lane-0238` 和一个 tag,没有 production current release 与另一历史 active tag,也没有可编辑执行的请求入口;Needed: 双版本部署 fixture 及 HTTP 客户端。
Attempted: 已定位可见 tag `v1.0.0-qa-0238`,并检查试验场与 API 菜单;Blocked by: 试验场仅按环境选择,不能发送 version_tag-only chat 或读取实际路由版本;Needed: 带 AK/SK/session 的可执行 HTTP/API 控制台。
Evidence: 在 `qa-lane-0238` 创建 session `sess_01KZ1XB8ZQ6N8WMN2RV077Z8KD`,发送 `QA_ENV_CURRENT_0238` 并收到回复;对应 trace `d9cfadb6616eab579defc0ec41eb0aee` 显示 `source:playground`、`version:b2a715d1`,元数据给出 `version_id=b2a715d1-5c93-411c-a65b-3823e15ccb0d`,与当前部署/观测 URL 的版本段一致。
Historical/历史: curl chat 仅传 `environment=canary`;Current/当前: 通过试验场“部署目标”选择 `qa-lane-0238`,并在集成观测 Trace 中核对实际 `version_id`;Suggested Update/建议更新: 将用例更新为试验场环境选择加精确 Trace 元数据验证,或在提供外部 HTTP harness 时保留 curl 路径。
Attempted: 检查试验场目标选择和 cURL 示例;Blocked by: 试验场始终携带选定的 `qa-lane-0238`,无法省略全部四个路由字段,且项目没有 production 环境;Needed: 可省略所有路由字段的 HTTP 客户端及 disposable production 部署。
Attempted: 在试验场和 API 菜单查找任意 deployment_id 输入及响应状态;Blocked by: 无原始请求编辑/执行器,无法提交合法格式但不存在的 UUID 或检查错误状态与无 trace;Needed: 带凭证和 session 的 HTTP/API 客户端。
Attempted: 检查当前路由选择器和 API 示例是否允许原始 deployment_id;Blocked by: 无法提交 `deployment_id="not-a-uuid"` 或读取格式验证响应;Needed: 可执行 curl/API 控制台。
Attempted: 检查版本显示、试验场及 API 菜单中的 tag 路由入口;Blocked by: 无 version_tag 输入或原始请求执行能力,不能发送 `v999.999.999` 并检查响应及无下游 trace;Needed: HTTP 客户端、AK/SK 和 session。
Attempted: 检查试验场部署目标列表和 API 示例;Blocked by: UI 只列出已存在环境,不能提交任意 `nonexistent-env` 或查看 API 状态;Needed: 可执行 HTTP/API 客户端。
Attempted: 配置页显示 `Draft-test-cc23d873-e6e` 与 `Qa-lane-0238` 环境作用域,并检查试验场/API 控件;Blocked by: 无法向疑似未部署环境发送原始 chat 或读取 HTTP 状态,且当前总览状态不足以确认其 `current_release_id`;Needed: HTTP 客户端及环境 release 状态确认。
Historical/历史: 创建 staging 后发送 `environment=staging`;Current/当前: 环境作用域显示在“配置→运行配置”的 tabs 中,已部署目标显示在试验场;Suggested Update/建议更新: 使用当前配置 UI 中唯一命名的 Draft 环境,并配合可执行 API harness 验证未部署响应。
Attempted: 检查项目 API Key 管理、项目/部署标识及 API 示例;Blocked by: 没有可执行原始请求,也没有安全准备好的第二项目 deployment UUID;Needed: disposable 项目 A/B、各自有效部署、项目 A 凭证及 HTTP 客户端。
Attempted: 检查总览、配置、试验场及 API 示例中的版本创建、deactivate 和显式 tag/deployment 路由;Blocked by: 未发现可安全创建并 deactivate 新测试版本的 UI,唯一现有版本为预存对象且未被修改,同时无法执行显式路由请求;Needed: 版本创建/deactivate 工具、artifact 及 HTTP 客户端。
Attempted: 检查项目总览、配置和 API 入口中的 artifact 上传/重传能力;Blocked by: 未提供 artifact 文件、nexau CLI、可执行 PUT 客户端或 UI 上传控件;Needed: disposable artifact、版本创建能力及 CLI/API 客户端。
Attempted: 已验证运行配置中的项目/环境 tabs、LLM 模型选项和运行变量说明,并检查部署后的试验场/Trace 路径;Blocked by: 无 artifact/CLI 创建本轮唯一部署版本,不能安全修改预存对象完成 before→after 对照;Needed: disposable 可部署版本及保存配置权限/工具。
Historical/历史: 在 UI 项目设置中修改环境 env var 或 LLM model;Current/当前: 控件位于“配置→运行配置”,按项目及环境 tab 分组;Suggested Update/建议更新: 导航改为“配置→运行配置→选择环境 tab”,并在本轮新部署版本上执行保存前后且不 Redeploy 的 chat 对照。
Attempted: 检查部署历史、当前版本、配置及试验场/Trace;Blocked by: 无法创建本轮 disposable vA/vA2,且试验场不能按旧 tag 请求;Needed: artifact/CLI 或 UI 发布流,以及可显式发送旧 version_tag 的 HTTP 客户端。
Attempted: 已对现有环境发送 chat 并在 Trace 核对实际 version_id,同时检查第二次部署入口;Blocked by: 无 artifact/CLI 安全创建同环境 v1→v2,不能观察同一目标的完整前后转换;Needed: disposable 双版本发布 fixture 及两次 chat/Trace 对照。
Attempted: 检查 `draft-test` 环境发布历史,确认当前 `deploy-20260802-b1f82230` 运行中、上一版本已替换,并检查行操作和顶部部署控件;Blocked by: 无自动 switch UI 或可执行 POST 客户端,且历史为预存数据,未进行变更;Needed: 新建 v1→v2 fixture 及 switch 执行器,随后以 chat/Trace 验证。
Historical/历史: POST `/api/projects/{id}/switch` 且不带 `to_deployment_id`;Current/当前: “总览→环境→部署”显示当前及已替换发布,旧行仅提供“重新部署”,未观察到自动 switch 控件;Suggested Update/建议更新: 提供 HTTP harness 继续验证 API,或在产品提供等价 UI 后记录当前入口。
Attempted: 检查发布历史、行操作、顶部部署控件及 API 示例;Blocked by: 只有两个预存 release,没有本轮 v1/v2/v3 fixture,UI 不支持输入指定 deployment UUID,也无 POST 执行器;Needed: 新建三版本环境及支持 `to_deployment_id` 的 API 客户端。
Historical/历史: POST `/switch` 并传 `to_deployment_id`;Current/当前: “总览→环境→发布历史”提供旧发布行和“重新部署”,未观察到指定 UUID 的 switch 选择器;Suggested Update/建议更新: 为精确 UUID 回滚提供 API harness,或在存在目标选择 UI 时更新用例导航。
Attempted: 已识别仅一条发布历史的 `qa-lane-0238`,并搜索 switch 控件及 API 示例;Blocked by: 无 switch 控件或可执行 POST/状态查看器,不能断言 HTTP 404 和无状态变更;Needed: 新建单发布环境及 HTTP/API 客户端。
Attempted: 检查环境列表、发布历史、配置 tabs 和 API 示例;Blocked by: 没有 disposable 受保护/production 环境、switch confirmation UI 或可执行 POST 客户端;Needed: 带历史的受保护测试环境及可省略 `confirm=true` 的 HTTP/API 控制台。
Attempted: 检查总览中的部署按钮、历史和状态;可见环境均已稳定运行;Blocked by: 无法用现有工具安全创建新 artifact/环境,连续操作会修改预存部署,且没有并发请求和响应状态查看器;Needed: disposable 部署 fixture、发布工具及可并发触发两次 deploy/switch 的客户端。
问题:精确 chat trace 缺少必需的 environment tag;实际表现:trace `d9cfadb6616eab579defc0ec41eb0aee` 的标签为 `project:eca44ddd, source:playground, version:b2a715d1`,顶部“版本/发布”为 `-`;元数据包含 `version_id=b2a715d1-5c93-411c-a65b-3823e15ccb0d`、project/run/session/model/telemetry 等字段,但没有 environment,环境仅存在于页面目标和 URL;已尝试:检查标签与概要、展开并滚动完整元数据的应用/model/telemetry 区域,并尝试全文搜索 environment。
真 Bug:测试结果缺失 environment tag。
Historical/历史: chat 后打开 Langfuse Sessions/Traces;Current/当前: 独立 Langfuse 导航已由集成“观测→会话→追踪检查器”替代;Suggested Update/建议更新: 使用当前观测检查器,并继续断言标签/元数据同时存在 version 和 environment。
以该测试项最终判定点 Step 41 为锚点,展示最后 5 个模型 request 轮次的 clean 桌面截图;click 类动作在同一 clean 图上按正确坐标系重新绘制。
web_click_refok{
"duration_ms": 0,
"ref": 16
}Clicked 16.模型当轮说明:测试精确标题“Langfuse trace 上看 version / environment tag”。已有 producer 消息与 exact trace,标签明确含 version 但未见 environment;在判 FAIL 前必须检查完整元数据 JSON 与可能的“分析轨迹”外链,确认 environment 是否只是下移或改名。下一步从当前环境打开“观测”,重新定位该会话并检查完整 trace 元数据。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/onboarding?trace_id=d9cfadb6616eab579defc0ec41eb0aee&target=environment%3Adraft-test-cc23d873-e6e
web_scrollok{
"amount": 577,
"direction": "down",
"x": 1810,
"y": 978
}Scrolled down.模型当轮说明:重新打开 exact trace 后,右侧“标签”只有 `project, source:playground, version`,顶层“版本/发布”字段均为 `-`;展开的元数据目前可见 `project_id, version_id, run_id, span_type, langfuse_session_id, langfuse_user_id`。为排除 environment 在元数据下部,下一步滚动右侧元数据 JSON 内层到末尾并读取剩余键;若仍无 environment,则这是直接不符合而应 FAIL。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/observe?target=environment%3Adraft-test-cc23d873-e6e&session_id=sess_01KZ1XB8ZQ6N8WMN2RV077Z8KD
web_pressok{
"duration_ms": 0,
"key": "Control+f"
}Pressed Control+f.模型当轮说明:内层元数据向下检查后出现 `version:b2a715d1, source:playground, agent_name, model, plugin_sources, resourceAttributes, telemetry/k8s` 等;仍无 environment。最后用浏览器查找 `environment` 对完整当前文档做独立文本搜索,排除视觉漏读;若唯一命中只是 URL 的 `target=environment` 而非 tag/metadata,将以缺少 environment tag 判 FAIL。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/observe?target=environment%3Adraft-test-cc23d873-e6e&session_id=sess_01KZ1XB8ZQ6N8WMN2RV077Z8KD
web_type_textok{
"text": "environment"
}Typed text.模型当轮说明:浏览器查找框已打开且焦点正确。下一步输入 `environment`,读取匹配计数/高亮位置;这是一项独立于手动滚动的全文检查。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/observe?target=environment%3Adraft-test-cc23d873-e6e&session_id=sess_01KZ1XB8ZQ6N8WMN2RV077Z8KD
web_noterecorded{
"kind": "fact",
"reason": "Phase A verdict TI-23",
"text": "Test Item: Langfuse trace 上看 version / environment tag\nStatus: FAIL\nIssue: Exact chat trace does not expose the required environment tag although version is tagged.\nActual: Sent QA_ENV_CURRENT_0238 from Playground, opened trace d9cfadb6616eab579defc0ec41eb0aee. Trace 标签 show project:eca44ddd, source:playground, version:b2a715d1; top 版本 and 发布 fields are '-'. Metadata includes version_id b2a715d1-5c93-411c-a65b-3823e15ccb0d, project_id/run/session/user/model/telemetry fields, but no environment key/tag. The environment appears only in page deployment target/URL, not trace tags.\nAttempts: inspected trace 标签 and summary; expanded/scrolled metadata through application/model/telemetry sections; attempted document search for environment.\nNeed Update: Historical/历史: open Langfuse Sessions/Traces after chat; Current/当前: integrated 观测→会话→追踪检查器 replaces separate Langfuse navigation; Suggested Update/建议更新: navigate via current 观测 trace inspector and assert both version and environment in 标签/元数据."
}[fact] Test Item: Langfuse trace 上看 version / environment tag Status: FAIL Issue: Exact chat trace does not expose the required environment tag although version is tagged. Actual:…模型当轮说明:全文检查未产生可见 environment 元数据命中;结合两种独立检查(标签/概要字段、完整元数据滚动),exact trace 仅有 project/source/version tag,环境只存在页面的目标选择与 URL,不在 trace tags。精确标题“Langfuse trace 上看 version / environment tag”因此直接违反“version / environment tag”双维要求:version 可见、environment 缺失,判 FAIL。记录具体 bug 与尝试。
页面:https://nac-beta.xiaobei.top/agents/eca44ddd-e6a6-4121-954d-f54b278c8d19/workspaces/observe?target=environment%3Adraft-test-cc23d873-e6e&session_id=sess_01KZ1XB8ZQ6N8WMN2RV077Z8KD
Attempted: 已创建 Playground 消息并验证会话来源“试验场”和 trace `source:playground`;列表另有来源“API”的预存会话,但其追踪数为 0,不能证明同版本的 `source:"user"`;Blocked by: 无可执行 curl/raw request UI;Needed: HTTP 客户端发送 user-source chat,再对比同 version_id 的两个 trace。
Historical/历史: 对同一版本分别从 Playground 和 curl `source:"user"` 发送;Current/当前: 来源显示在集成“观测”的会话来源及 trace `source` 标签;Suggested Update/建议更新: 保留 curl producer,并在当前观测页比较两个精确 trace,而非依赖独立 Langfuse UI。
Attempted: 已发送 Playground chat,并检查 API cURL 菜单及部署状态;Blocked by: Playground 不显示 HTTP response headers,cURL 示例不可执行,且没有确认 scaled-to-0/刚切换的 disposable 环境;Needed: 冷启动部署及 curl `-i` 或可查看响应头的 HTTP/网络 harness。
Attempted: 检查总览发布历史、行操作、项目编辑器、配置、试验场和 API 示例中的版本创建/tag/删除能力;Blocked by: 无 artifact 文件、nexau CLI、可执行版本 API 或 UI 版本实体管理,无法先创建唯一 `v-reuse` 再完成删除与同 tag 重建;Needed: disposable artifact 及支持版本创建、软删除和列表验证的 CLI/API 或当前 UI。