refactor(backend-core): split monolithic index.ts into 15 focused modules

Extract config, context, logger, types, db, http, overview, performance,
provider-registry, scheduler, task-dispatcher, microservice-proxy,
ssh-bridge, and egress-tcp into separate files. index.ts now only handles
server setup, HTTP/WebSocket routing, and startup orchestration.

No behavioral changes — all existing tests and health checks pass.
This commit is contained in:
UniDesk
2026-05-15 18:16:23 +00:00
parent a65711b900
commit 8b636e2c11
19 changed files with 3848 additions and 3576 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ UniDesk 是一个以主 server 为统一入口的分布式工作平台;本文
- `bun`TypeScript 运行时固定使用 Bun,组件入口和 CLI 都直接运行 `.ts` 文件,约束见 `docs/reference/config.md`
- `docker-compose.yml`:主 server 统一编排 core、frontend、database、本机 provider gateway、Todo Note 后端、Baidu Netdisk 后端和 OA Event Flow 后端;Code Queue 由 D601 v3s/k8s 控制面代管,并经 `v3sctl-adapter` 的 Kubernetes API service proxy 单一路径接入,服务拓扑见 `docs/reference/deployment.md`
- `src/components/frontend`:前端源码固定使用 TypeScript + React`app.tsx` 只做 shell/router,左侧主模块与顶部子标签统一编译为模块前缀路由:`/ops/<tab>/``/nodes/<tab>/``/tasks/<tab>/``/config/<tab>/`,只有用户服务使用 `/app/<tab>/` 深链接,运行总览包含通用性能面板,资源监控含曲线和进程资源排序表,Todo Note、FindJob、Pipeline、MET Nonlinear、Baidu Netdisk、Code Queue、OA Event Flow、V3S Control 等业务页必须拆到独立 TSX 模块,界面规则见 `docs/reference/frontend.md`
- `backend-core / frontend performance`backend-core 暴露 `/api/performance`frontend 暴露同源 `/api/frontend-performance` 并在 `/ops/performance/` 汇总组件请求、失败请求、内部操作和慢操作,规则见 `docs/reference/observability.md`
- `backend-core / frontend performance`backend-core 暴露 `/api/performance`frontend 暴露同源 `/api/frontend-performance` 并在 `/ops/performance/` 汇总组件请求、失败请求、内部操作和慢操作,规则见 `docs/reference/observability.md`backend-core 源码已拆分为 15 个模块,结构见 `docs/reference/repo-tree.md`
- `Unified OA event flow``oa-event-flow` 是独立主 server 用户服务,提供事件表、按 tag 订阅和 Trace/STEP 统计中心,Code Queue 与 Pipeline 都必须接入统一事件流;共享契约见 `docs/reference/oa-event-flow.md`Pipeline 专有控制流规则见 `docs/reference/pipeline-oa-event-flow.md`
- `src/components/provider-gateway`:当前主 server `74.48.78.17` 也作为 provider gateway 接入 UniDesk,外部节点通过 `ws://74.48.78.17:18082/ws/provider` 接入,必须以 `restart: always` 部署 always-enabled 远程升级、sleep-and-validate 回滚保护和 Host SSH / WSL SSH 透传并完成自测,部署与 Playwright 公网前端验证方法见 `docs/reference/provider-gateway.md`
- `microservices`:用户服务配置命名仍保留 `microservices`;用户服务指挂载在 UniDesk 核心服务上的用户业务能力,支持 `unidesk-direct``v3sctl-managed` 两种部署模式;v3s 代管必须使用标准 k3s/k8s 对象和 Kubernetes API service proxy,禁止业务容器直连、NodePort 和隐藏 fallback;缺少这些服务时核心仍可运行。主 server 本地开发边界固定为只开发 UniDesk frontend;非 UniDesk 核心业务后端、Dockerfile、GPU/训练调试必须在目标计算节点通过 SSH 透传或 v3s 控制面完成,Todo Note 这类明确写入主 server 的例外需单独登记,规则见 `docs/reference/microservices.md`