feat: integrate MET Nonlinear microservice

This commit is contained in:
Codex
2026-05-05 15:59:34 +00:00
parent 1d0046dc50
commit b1c717b834
11 changed files with 455 additions and 18 deletions
+6 -2
View File
@@ -34,7 +34,7 @@
## T8 Playwright 公网前端 E2E
阅读 `AGENTS.md`(本项目 `AGENTS.md` 同时承担 `SKILL.md``scripts/cli.ts` 的解释职责),然后用 cli 手动测试以下内容:确认 `config.json``network.publicHost` 是主 server 公网地址,运行 `bun scripts/cli.ts e2e run`,要求 JSON 中 `network:only-frontend-provider-ports``network:core-public-blocked``network:database-public-blocked``network:findjob-public-blocked``network:todo-note-public-blocked``core:internal-overview``core:pgdata-usage``provider:self-node-online``provider:gateway-version-label``provider:system-status``provider:docker-status``provider:upgrade-plan``provider-ingress:public-health``microservice:catalog-findjob``microservice:catalog-pipeline``microservice:catalog-todo-note``microservice:todo-note-health``microservice:todo-note-migrated-data``microservice:todo-note-write-path``microservice:findjob-health``microservice:findjob-summary``microservice:findjob-jobs-preview``microservice:pipeline-status``microservice:pipeline-health``microservice:pipeline-snapshot``database:named-volume-write``database:todo-note-pg-storage``frontend:login-provider-visible``frontend:public-provider-info-visible``frontend:sidebar-collapse``frontend:overview-pgdata-visible``frontend:no-naked-json-before-click``frontend:system-monitor-visible``frontend:upgrade-plan-dispatch``frontend:docker-status-visible``frontend:gateway-version-records-visible``frontend:provider-operation-availability-visible``frontend:microservice-catalog-visible``frontend:todo-note-integrated-visible``frontend:findjob-integrated-visible``frontend:pipeline-integrated-visible``frontend:pipeline-react-flow-visible` 全部 passed;打开输出的 screenshotPath,确认 Playwright 访问的是公网 frontend,页面上能看到 `main-server``Main Server Provider``D601``FindJob``Pipeline``SSH 透传``远程更新` 和结构化控件。
阅读 `AGENTS.md`(本项目 `AGENTS.md` 同时承担 `SKILL.md``scripts/cli.ts` 的解释职责),然后用 cli 手动测试以下内容:确认 `config.json``network.publicHost` 是主 server 公网地址,运行 `bun scripts/cli.ts e2e run`,要求 JSON 中 `network:only-frontend-provider-ports``network:core-public-blocked``network:database-public-blocked``network:findjob-public-blocked``network:met-nonlinear-public-blocked``network:todo-note-public-blocked``core:internal-overview``core:pgdata-usage``provider:self-node-online``provider:gateway-version-label``provider:system-status``provider:docker-status``provider:upgrade-plan``provider-ingress:public-health``microservice:catalog-findjob``microservice:catalog-pipeline``microservice:catalog-met-nonlinear``microservice:catalog-todo-note``microservice:todo-note-health``microservice:todo-note-migrated-data``microservice:todo-note-write-path``microservice:findjob-health``microservice:findjob-summary``microservice:findjob-jobs-preview``microservice:pipeline-status``microservice:pipeline-health``microservice:pipeline-snapshot``microservice:met-nonlinear-status``microservice:met-nonlinear-health``microservice:met-nonlinear-queue``microservice:met-nonlinear-projects``microservice:met-nonlinear-image``database:named-volume-write``database:todo-note-pg-storage``frontend:login-provider-visible``frontend:public-provider-info-visible``frontend:sidebar-collapse``frontend:overview-pgdata-visible``frontend:no-naked-json-before-click``frontend:system-monitor-visible``frontend:upgrade-plan-dispatch``frontend:docker-status-visible``frontend:gateway-version-records-visible``frontend:provider-operation-availability-visible``frontend:microservice-catalog-visible``frontend:todo-note-integrated-visible``frontend:findjob-integrated-visible``frontend:pipeline-integrated-visible``frontend:pipeline-react-flow-visible``frontend:met-nonlinear-integrated-visible` 全部 passed;打开输出的 screenshotPath,确认 Playwright 访问的是公网 frontend,页面上能看到 `main-server``Main Server Provider``D601``FindJob``Pipeline``MET Nonlinear``SSH 透传``远程更新` 和结构化控件。
## T9 Database 命名卷持久化
@@ -50,7 +50,7 @@
## T12 前端 TypeScript + React 源码约束
阅读 `AGENTS.md`(本项目 `AGENTS.md` 同时承担 `SKILL.md``scripts/cli.ts` 的解释职责),然后用 cli 手动测试以下内容:运行 `find src/components/frontend -type f \\( -name '*.js' -o -name '*.jsx' \\) -print`,确认没有手写 frontend JS/JSX 源码;确认 `src/components/frontend/src/app.tsx` 只承担 shell/routerTodo Note、FindJob、Pipeline 分别在 `src/components/frontend/src/todo-note.tsx``src/components/frontend/src/findjob.tsx``src/components/frontend/src/pipeline.tsx` 中维护;运行 `bun scripts/cli.ts check`,确认这些 TSX 模块全部纳入 TypeScript 检查,且浏览器请求 `/app.js` 由 frontend Bun server 从 TSX imports 转译生成。
阅读 `AGENTS.md`(本项目 `AGENTS.md` 同时承担 `SKILL.md``scripts/cli.ts` 的解释职责),然后用 cli 手动测试以下内容:运行 `find src/components/frontend -type f \\( -name '*.js' -o -name '*.jsx' \\) -print`,确认没有手写 frontend JS/JSX 源码;确认 `src/components/frontend/src/app.tsx` 只承担 shell/routerTodo Note、FindJob、Pipeline、MET Nonlinear 分别在 `src/components/frontend/src/todo-note.tsx``src/components/frontend/src/findjob.tsx``src/components/frontend/src/pipeline.tsx``src/components/frontend/src/met-nonlinear.tsx` 中维护;运行 `bun scripts/cli.ts check`,确认这些 TSX 模块全部纳入 TypeScript 检查,且浏览器请求 `/app.js` 由 frontend Bun server 从 TSX imports 转译生成。
## T13 资源节点任务管理器曲线
@@ -92,3 +92,7 @@
## T22 Main Server Todo Note Microservice
阅读 `AGENTS.md`(本项目 `AGENTS.md` 同时承担 `SKILL.md``scripts/cli.ts` 的解释职责),然后用 cli 手动测试以下内容:确认 D518 `/mnt/d/work/todo_note` 已复制到主 server `/root/todo_note`,运行 `bun scripts/cli.ts microservice list`,确认 `todo-note` 显示为 `providerId=main-server``public=false``frontendOnly=true`、仓库 URL `https://gitee.com/Lyon1998/todo_note``todo-note:4211` 后端映射和 `todo-note-backend` 容器摘要;运行 `bun scripts/cli.ts microservice health todo-note`,确认返回 `storage=postgres`;运行 `bun scripts/cli.ts microservice proxy todo-note /api/instances --max-body-bytes 8000`,确认能看到 `CONSTAR``大论文``找工作``小论文``事务` 五个迁移清单,总任务数不低于 100。随后通过 backend-core 或 `bun scripts/cli.ts e2e run` 执行临时清单 create/add/toggle/undo/delete 写入循环,确认 Todo Note 写入真实经过 backend-core、main-server provider-gateway、`todo-note-backend` 和主 PostgreSQL,且删除前必须按唯一临时清单名称重新选中临时清单,不能误删迁移清单。最后登录公网 frontend `http://74.48.78.17:18081/`,进入 `微服务 / Todo Note`,确认清单、树形任务、筛选、提醒、移动、撤销/重做、字号控制都以 React 控件展示,默认没有裸 JSON,只有点击 `查看原始JSON` 才显示原始数据。
## T23 MET Nonlinear D601 GPU Microservice
阅读 `AGENTS.md`(本项目 `AGENTS.md` 同时承担 `SKILL.md``scripts/cli.ts` 的解释职责),然后用 cli 手动测试以下内容:确认 D601 `~/met_nonlinear` 中存在 `docker-compose.unidesk.yml``docker/unidesk/Dockerfile.ml``unidesk/server/src/index.ts``docs/reference/unidesk_microservice.md`;运行 `bun scripts/cli.ts microservice list`,确认 `met-nonlinear` 显示为 `providerId=D601``public=false``frontendOnly=true``127.0.0.1:3288` 后端映射和 `met-nonlinear-ts` 容器摘要;运行 `bun scripts/cli.ts microservice health met-nonlinear``bun scripts/cli.ts microservice proxy met-nonlinear /api/queue``bun scripts/cli.ts microservice proxy met-nonlinear '/api/projects?root=projects&limit=20'``bun scripts/cli.ts microservice proxy met-nonlinear /api/images`,确认链路通过 backend-core、D601 provider-gateway 和 D601 本机 TS 后端;在 D601 通过 SSH 透传执行 `curl -fsS -X POST http://127.0.0.1:3288/api/queue/server-test -H 'content-type: application/json' -d '{"sourceProject":"projects/FRIKANh6u6l4","count":10,"epochs":10,"maxConcurrency":2}'`,随后轮询 `/api/queue`,确认最多 2 个训练容器并行、目标 GPU 是 2080Ti、显存余量低于 20% 时自动限制并发、10 个 `projects/server_test/` 任务最终成功且训练容器自动销毁。最后登录公网 frontend `http://74.48.78.17:18081/`,进入 `微服务 / MET Nonlinear`,确认页面以 React 控件显示队列、GPU/镜像、Project config 预览、训练进度、ETA 和历史记录,默认没有裸 JSON,只有点击 `查看原始JSON` 才显示原始数据。