打开 http://127.0.0.1:8080/static/index.html#/test。对话页继续使用原有聊天、附件上传、SSE、工具审批和历史接口,Markdown统一清理后显示,报告曲线可以点击放大。Vue、Markdown及清理库打包到本地,不依赖浏览器访问CDN。
主通风机测试页提供三个输入区,配置后点击“运行测试”。下方显示返回JSON、整体研判报告、Excel文件和实际请求记录。测试任务不自动推送结果平台。
默认间隔6分钟、风量3800→3610m³/min。服务端按分钟生成完整时序,另插入准确的启动时刻,避免小数分钟被取整;两侧均覆盖稳定运行窗口。合成来源保存在内部证据中,报告参数始终来自本次PDF。
主通风机页面使用 Skill 驱动的完整智能体:模型自行规划,在沙箱编写并执行文档解析、计算和报告生成代码;保留网关取数,服务端只在提交时校验来源、文件格式和真实执行输出并归档,不复跑业务计算或固定七阶段。主通风机未声明旧流程 test_runner,工作台不提供绕过 Agent 的固定流程模式。
每次点击运行生成新的request_id、业务会话和独立workspace。agent只挂载本次资料、开停时序和风量数据,不继承其他运行的消息、文件或报告;同一网络请求重试仍按request_id幂等返回已有任务,不重复执行。
三项输入任务由服务器固定document_cache_policy="off":每次仅基于本轮原件自主选择页面识别,既不读也不写共享识别缓存。PDF副本、运行时序JSON、脚本和派生结果保存到该次workspace,执行器另存受保护的代码快照和凭据。历史请求与结果保存在SQLite中供查看,不回填或注入下一次agent上下文。刷新页面只自动追踪尚未完成的任务;已完成历史可从“测试记录”手动打开。
主通风机三个输入区分别接收PDF、开停JSON、风量JSON。资料库接口仍支持单份不超过50MB的PDF、PNG、JPEG、WebP、JSON、XLSX及CSV,其他业务智能体可使用通用测试入口。
mock_switch_states.json、mock_airflow_series.json 可直接上传并选择。设备身份、单位和明确的测点归属仍按业务模型校验;选择的时序替换请求中同设备同类型的样例序列。多个上传片段共同校验,不默默只用最后一个文件。TEST_LAB_SAMPLE_DIR 指定内置资料目录。未配置时,本地开发会尝试项目同级 陕西局代码/测试数据/;目录不存在时可上传自己的PDF。上传库默认在 data/test_lab/。内置原件只读,执行时复制到新会话并保存SHA256。
返回JSON支持树形展开、完整业务结果/标准平台格式切换、复制和下载。Excel预览直接读取实际可下载的XLSX或CSV,支持工作表切换、合并单元格和常见数字格式;大文件仅预览前300行、60列并显示截断说明。
业务工具可在本地结果中返回:
{"artifacts":[{"filename":"实际结果.xlsx","path":"/workspace/results/actual.xlsx"}]}
文件必须存在于该测试会话内;前端无法按任意磁盘路径读取文件。实际返回附件标记为“智能体返回附件”。若只有JSON,另提供“结构化结果导出”:主通风机包含研判结论、核心判识项目、基础参数,以及共同风量区间的性能比较数据。导出不重新计算或改写结论。该artifacts字段不改变对外结果平台JSON协议。
工作台接口位于 /api/test-lab:catalog、presets、assets(上传/内容/预览)、runs(提交/记录/状态/取消)、runs/{id}/artifacts(下载/预览)。身份沿用本地聊天的user_name约定;不把网关、模型或业务API凭证交给浏览器。TEST_LAB_ENABLED=0关闭工作台接口。
三项输入通过runs提交main_fan_simulation(矿井身份、停机时刻、切换方向、间隔、前后风量及可选曲线文件ID),input={}、asset_ids仅放PDF、execution_mode="agent"。服务端生成并校验真实业务输入,不接受客户端预置结论。
新增业务智能体后会自动进入选择列表。需要业务流程测试时,在 register_business_agent 声明异步 test_runner;它接收业务input、user_name、session_id,以及gateway、job_id、document_audit_dir关键字参数,返回该业务的实际结果。执行器应对内部模型调用自行做计费准入,纯计算部分无需模型配置。完整智能体模式始终沿用现有执行器。两种方式都保留会话并发、业务并发、停止感知、结果schema及原件验证。
cd frontend
npm ci
npm run dev
npm run build
npm test
npm run test:browser
Node要求22.18以上。构建写入static/index.html与static/ui,Python生产服务无需Node运行时。浏览器回归使用独立的8081测试站点,不调用真实模型或读取用户数据库;本机可使用Chrome,其他环境可安装Playwright Chromium或配置FRONTEND_CHROME_BIN。
后端回归:.venv/bin/python -m pytest tests/test_test_lab.py。也可运行 scripts/check_frontend.py 并打开8081查看Markdown回归结果。