feat: initialize XAS test console with native execution

This commit is contained in:
AdamWen95
2026-10-14 09:38:58 +08:00
commit 438844b01a
83 changed files with 9334 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
# 专用控制台验收记录
核对日期:2026-10-13;正式入口切换时间 17:32(北京时间),中断后再次核对时间 17:59。以下是本轮实际执行证据,不代表所有原有脚本或 GPU 测试已验收。
## 已交付
正式入口为 `http://10.88.118.188:14440/`,公司内网免登录。旧 `/project/xas-test-library/nodes` 等项目书签自动转到新脚本库。14442 预览已停止,旧 Rundeck 网页和代理容器停止保留,原数据没有删除或迁移覆盖。
支持脚本搜索/筛选、只读源码、上传新脚本及新版本、元数据与运行配置、单并发队列、实时标准输出/错误和 `.log`、取消、历史记录、结果预览/下载。排队记录固定版本和配置,历史上传版本不可覆盖。
当前共 310 项:公司套件 224 项、DeepSeek 试验目录 35 项、模型试验目录 48 项、托管脚本 3 项。307 个原位置文件包括执行入口和辅助模块,只登记,不批量复制。可运行的 3 项为复制的 DeepSeek 轻量检查、快速流程样例和网页上传演示;原位置条目仍待逐项配置。
## 自动检查与浏览器
- 最终候选版本在隔离 Linux 容器执行 **31/31** 项检查通过,包括历史运行器回归、上传版本、路径/链接限制、请求幂等、日志 UTF-8 分块、文件日志尾段、模型代理预算/禁止重定向、清理失败时记录与摘要一致性。
- 本地 Windows 对相关检查通过;Linux 专属符号链接与 worker/进程检查在 Linux 补齐,未把平台跳过当成通过。
- 真实浏览器完成上传、新版本、版本切换、只读源码、运行、日志、JSON 预览;390px 视口没有横向溢出。最终入口验证无浏览器 JavaScript 错误。
- 错误 Origin 和缺少修改请求专用头均返回 403;生产不信任转发 IP 或身份头。
- SQLite `PRAGMA integrity_check` 返回 `ok`。17:59 执行器在线,活动任务 0,本项目临时容器 0、tmpfs 挂载残留 0,共保留 10 条运行记录。
## 现场执行记录
| 场景 | 运行编号 | 实际结果 |
|---|---|---|
| 最初容器启动验证 | 45def157885d4228bb9c0fc8480dda00 | Docker 日志轮转 max-file=1 与压缩不兼容,脚本未启动;改为 2 后验证通过。保留失败记录。 |
| 快速模拟成功 | 13caa662bf10489698b3d1bf4b567021 | succeeded,日志及 result.json 可见 |
| 脚本主动失败 | 794e00e7dc35437ba29191c229db595b | failed,退出码 2,符合预期 |
| 5 秒超时 | 3716cec9637143048220c6fe7b16abab | timed_out,测试容器清理 |
| 运行中取消 | 92b38203e0cd42e3a585c8eb4f09c614 | cancelled |
| 排队取消 | c2eafe168c09444e96f800fd1094e3e1 | cancelled,未启动脚本 |
| 网页上传版本 2 | 8607ca8f5511498ca041b65ebfd4223d | succeeded,标准输出、application.log、result.json 可见;仅模拟数据 |
| worker 意外退出 | bffd569a881d43d5a2e87fdef04c40b6 | interrupted;恢复后无任务容器/挂载残留,未补跑 |
| 原始轻量模型检查 | fddc3dd84d36403cb8083c3303220ce7 | succeeded,真实请求见下 |
| 正式入口最终快速验证 | 76478f6925d34c4eb3d3b613c558946a | succeeded,运行状态与下载摘要一致 |
失败、超时、取消和中断记录是有意验证的不同路径,除了最初已修复的容器配置错误,不应当作未解决的产品故障,也不作为模型质量统计。
## 一轮真实模型检查
使用复制的原始 smoke.sh,SHA-256 为 `be858e914d87454240791da773578cb3f80f380e740f919546db347b7715a13d`。原位置文件、本地副本与运行摘要相同。
一次模型列表 GET 和三个顺序问答 POST 全部 HTTP 200,没有重试或重定向。三个回答 `finish_reason=stop`,completion_tokens 分别为 99、100、300(合计 499);每次仍保留原脚本 max_tokens=512。算术问题返回 97,406,784,日志和完整响应报告 `smoke-response.json` 已在控制台查看。
本次只证明接口与控制台执行/记录链路可用,不是全面的回答质量、代码正确性、多卡性能或并发压力验收。没有执行模型返回的 Fibonacci 代码。
## 共享资源与恢复
`dengyuyun-joy-dsv41-trial` 的容器 ID 始终为 `114ceebc787845e45e1abcb0a46ac962529c28a4b865894cd3581234cd729e1a`,StartedAt 仍为 `2026-10-12T05:29:36.607636623Z`、RestartCount=0。未改原脚本、原目录权限、模型服务配置或 GPU 分配;仅向已运行的模型发出上述少量推理请求。
17:59 GPU 0–7 仍由既有模型占用,GPU 8–15 显存为 0;GPU 0–7 的显存快照相较 17:35 有变化,不能据此推断原因或声称整个共享服务器状态没有变化。本项目没有残留测试进程容器或额外模型服务。
正式网页镜像 `adamwen/script-console:20261013-1`,当前摘要 `sha256:7ba1cd10360271fad99975b599264a0c8a1d1458ae23a7b0f44387079aef9c3d`。基础 Python 镜像固定摘要,依赖版本固定。网页没有 Docker socket/GPU,根文件系统只读、capabilities 全部移除。
切换前已保存 `runtime/backups/before-dedicated-20261013/`,包含 SQLite 完整性检查通过的快照、library、runs 和切换元数据。旧容器和预览容器停止保留。实际故障回退/数据恢复未演练;操作步骤及必须保留快照后数据的限制见 [console-operations.md](console-operations.md)。
尚未接入多 GPU 分配、模型服务启停、通用依赖环境、更多原输出目录、个人账号、开机自启或自动清理。普通新上传脚本支持当前标准环境;原位置脚本需要确认配置和依赖后逐项启用。
## 改动与证据位置
主要改动为 `console/`、`tests/test_console*.py`、`deploy/console*`、`deploy/dedicated.py`、`deploy/cutover_console.py`、`scripts/console_example.py`、目录配置、README 和当前设计/操作文档。所有手写新增源码文件不超过 500 行。
本地浏览器证据保存在 `.local/evidence/console-browser.json`、`.local/evidence/final-console-browser.json` 和 `.local/screenshots/`;模型运行与幂等请求编号保存在 `.local/evidence/model-smoke-request.json`。服务器脱敏收尾证据为 `runtime/dedicated-acceptance.json`。这些运行材料均不进入 Git。
本项目仍没有提交历史,所有源代码未暂存、未提交、未推送。Git 仅配置了公司 origin,不自动拉取或部署。